WO2021260970A1 - ネットワークの制御方法、および、データ処理システム - Google Patents

ネットワークの制御方法、および、データ処理システム Download PDF

Info

Publication number
WO2021260970A1
WO2021260970A1 PCT/JP2020/045487 JP2020045487W WO2021260970A1 WO 2021260970 A1 WO2021260970 A1 WO 2021260970A1 JP 2020045487 W JP2020045487 W JP 2020045487W WO 2021260970 A1 WO2021260970 A1 WO 2021260970A1
Authority
WO
WIPO (PCT)
Prior art keywords
roi
image
application
network
processing
Prior art date
Application number
PCT/JP2020/045487
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 US18/001,871 priority Critical patent/US11997017B2/en
Priority to JP2022532248A priority patent/JPWO2021260970A1/ja
Publication of WO2021260970A1 publication Critical patent/WO2021260970A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet

Definitions

  • the present disclosure relates to a network control method and a data processing system, and in particular, a network control method and a data processing system that reduce the traffic in the network and reduce the processing load of the data processing application. Regarding.
  • the applicant has previously proposed in Patent Document 1 an object detection system using a combination of a synchronous image sensor and an asynchronous DVS.
  • the synchronous image sensor is a sensor that takes an image in synchronization with the vertical synchronization signal and outputs frame data which is image data of one frame (screen) in the cycle of the vertical synchronization signal.
  • DVS is an abbreviation for Dynamic Vision Sensor, and is a sensor that outputs event data indicating the occurrence of an event when an event occurs with a change in pixel brightness as an event. Since DVS outputs event data at the timing when an event occurs regardless of the vertical synchronization signal, it can be said to be an asynchronous type (or address control type) image sensor.
  • Event data is unpredictable and suddenly output from DVS. Since the event data must be used without delay, the time granularity is extremely fine. Indiscriminately injecting large amounts of data generated from DVS into a network can disrupt the network and not process the data it really needs, given the limited capacity of the network. Even if there is no limit to the capacity of the network, the computational resources that process data on the network will fail. That is, computational resources are wasted on unnecessary and useless processing. Therefore, in order not to burden the network or computational resources on the network, it is necessary to perform some filtering on the event data before injecting it into the network.
  • This disclosure has been made in view of such a situation, and is intended to reduce the traffic in the network and reduce the processing load of the application that processes data.
  • the network connection device processes the sensor data generated by the sensor device from the sensor device and the device in the path in the network connected to the sensor device. Based on the manifest, determine the best place to run your application.
  • the data processing system of the second aspect of the present disclosure is optimal for executing an application that processes sensor data generated by the sensor device from among the sensor device and the device in the path in the network connected to the sensor device. It is equipped with an orchestrator that determines the location based on the manifest.
  • the location is determined based on the manifest.
  • a network is a mechanism in which at least two devices are connected so that information can be transmitted from one device to another.
  • the devices that communicate via the network may be independent devices or internal blocks constituting one device.
  • the network control method of the first aspect and the data processing system of the second aspect of the present disclosure can be realized by causing a computer to execute a program.
  • the program to be executed by the computer can be provided by transmitting through a transmission medium or by recording on a recording medium.
  • the data processing system may be an independent device or an internal block constituting one device.
  • FIG. 1 shows a configuration example of a data processing system according to an embodiment to which the present disclosure is applied.
  • the data processing system 500 of FIG. 1 is a network system that transmits (uplinks) the sensor data generated by the sensor 511 to the cloud 521 and performs predetermined data processing on the sensor data on the cloud 521.
  • the data processing executed on the cloud 521 is determined according to the service provided by the cloud 521. For example, when the sensor 511 is an image sensor, recognition processing and analysis processing of the image generated by the image sensor are executed on the cloud 521.
  • the sensor (Sensor) 511 is a sensor device composed of, for example, a synchronous image sensor, an asynchronous DVS, and the like, and supplies sensor data generated by sensing to an edge device 512.
  • the synchronous image sensor is a sensor that takes an image in synchronization with the vertical synchronization signal and outputs frame data which is image data of one frame (screen) in the cycle of the vertical synchronization signal.
  • the DVS is a sensor that outputs event data indicating the occurrence of an event asynchronously according to the timing at which the event occurs, using the change in pixel brightness as an event.
  • the senor 511 is described as a sensor device including either one or both of a synchronous image sensor and an asynchronous DVS, but the sensor 511 is not limited to the image sensor. It may be another sensor device.
  • the sensor 511 include an acceleration sensor, a gyro sensor, a magnetic sensor, an odor sensor, a pressure sensor, a temperature sensor, a humidity sensor, a wind speed sensor, and an optical sensor (RGB sensor), such as those used as an IoT (Internet of Things) sensor. , IR sensor, etc.), GPS sensor, etc.
  • the Edge Device 512 is a data processing device for connecting a sensor 511 as an external device, and is composed of, for example, a server device.
  • the edge device 512 implements an application platform (Application Platform) 531 that can execute an application that processes sensor data supplied from the sensor 511.
  • an application that performs processing such as analyzing image data captured by the sensor 511 is executed on the application platform 531.
  • the application platform 531 also has a function of managing a plurality of applications executed on the application platform 531.
  • the sensor 511 may be connected to the edge device 512 as an external device of the edge device 512, or may be integrated as a part of the edge device 512.
  • the sensor 511 and the edge device 512 will be collectively referred to as a sensor / edge 513.
  • the cloud 521 is composed of a plurality of nodes and a network connecting them.
  • the network is, for example, the Internet, public telephone network, wide area communication network for wireless mobiles such as so-called 4G line and 5G line, WAN (WideAreaNetwork), LAN (LocalAreaNetwork), Bluetooth (registered trademark) standard.
  • Wireless communication network that performs compliant communication, short-range wireless communication channel such as NFC (Near Field Communication), infrared communication channel, HDMI (registered trademark) (High-Definition Multimedia Interface) and USB (Universal Serial Bus) It is composed of communication networks and communication channels of arbitrary communication standards, such as wire communication networks that comply with such standards.
  • Each node constituting the cloud 521 is composed of, for example, a network connection device such as a sensor device, a router, a modem, a hub, a bridge, a switching hub, a base station control device, an exchange, and a server.
  • the network connection device as a node functions as an application platform 532, a network monitor 533, an application platform 534, a network monitor 535, an orchestrator 536, or an application repository 537 described below.
  • the cloud 521 includes an edge cloud (EdgeCloud) 522 located on the edge side close to the sensor / edge 513 that injects sensor data into the network, and a center cloud (CenterCloud) 523 located on the other core network. Is included.
  • the edge cloud 522 is composed of, for example, a base station when the network is a mobile phone communication network.
  • Edge cloud 522 implements an application platform 532 that can execute an application that processes sensor data supplied from sensor 511.
  • the application platform 532 is connected to the application platform 531 of the sensor / edge 513 via a network 538.
  • the edge cloud 522 has a network monitor (Network Monitor) 533 that monitors the state of the network 538.
  • Network Monitor Network Monitor
  • the center cloud 523 also implements an application platform 534 that can execute an application that processes sensor data supplied from the sensor 511.
  • the application platform 534 is connected to the application platform 532 of the edge cloud 522 by the network 539.
  • the center cloud 523 has a network monitor 535 that monitors the status of the network 539.
  • the Orchestrator 536 accesses the application repository 537 and acquires the attributes and execution image (executable file) of the application that provides the predetermined service.
  • the attributes of an application include information about the execution environment required for the application, such as computational resources, memory, hardware accelerators such as GPU (Graphics Processing Unit), and so on.
  • the orchestrator 536 determines the optimal location to run the application according to the service requirements. Specifically, it is optimal for the orchestrator 536 to place the application on the application platform 531 of the sensor / edge 513, the application platform 532 of the edge cloud 522, or the application platform 534 of the center cloud 523. To determine.
  • the orchestrator 536 secures the execution environment of the application and causes the application to be executed on the application platform determined as the execution location of the application.
  • Application Repository 537 stores the attributes and execution image (executable file) of the application that provides the predetermined service for each service.
  • the application repository 537 may store a reference address or the like indicating a storage location of the execution image, instead of acquiring the execution image itself.
  • the orchestrator 536 determines the optimum location for executing the application according to the requirements of the provided service, and executes the application. This reduces the traffic in the network and reduces the processing load of the application that processes the data.
  • the orchestrator 536 determines the optimum placement of the application based on the manifest supplied from the sensor network service operator 541.
  • the evaluation axis for determining the placement of the application for example, the items that are emphasized in the placement of the application, the order of the items that are emphasized, and the like are described as the optimum placement policy.
  • information on whether or not to prioritize reducing the processing load of the application by executing the preprocessing before the application processing corresponding to the requested service is described in the manifest as the optimum placement policy.
  • the reusability of sensor data indicates, for example, the degree to which a plurality of applications can share and use sensor data, and the sensor data can be reused offline (at different timings).
  • the orchestrator 536 has accessed the application repository 537 and has acquired information about the execution environment required for the application to be executed.
  • the sensor 511 detects the generation of sensor data by "CaptureData” in step S101, triggers it, and executes "RequestAppInstantiation” in step S102.
  • "RequestAppInstantiation” "AppRequirements” requesting the activation of the application in the optimum arrangement is transmitted from the sensor 511 to the orchestrator 536.
  • the process performed by the application can be, for example, an image analysis process obtained by the sensor 511, a process of recognizing an object in the image, or the like.
  • step S103 the orchestrator 536 executes "Evaluate & Determine Target App Platform". That is, the orchestrator 536 sets the optimum application platform for executing the application on the sensor / edge 513, the edge cloud 522, or the center cloud 523 based on the manifest supplied by the sensor network service operator 541. Search from and decide. At this time, the orchestrator 536 acquires the traffic state of the network 538 between the application platforms 531 and 532 from the network monitor 533 of the edge cloud 522, and from the network monitor 535, between the application platforms 532 and 534. After acquiring the traffic status of network 539, the optimum application platform is determined. Here, it is assumed that the application platform 532 on the edge cloud 522 is determined to be the optimum execution location.
  • step S104 the orchestrator 536 transmits "RequestAppResourceReservation" to the application platform 532 on the edge cloud 522, and makes the application platform 532 secure the execution environment required for the application.
  • the application platform 532 secures the execution environment required for the application according to "RequestAppResourceReservation".
  • the orchestrator 536 executes "RequestAppInstantiation" for the application platform 532 on the edge cloud 522 in step S105. That is, the orchestrator 536 transmits "App Requirements” requesting the start of the application to the application platform 532.
  • the application platform 532 on the edge cloud 522 starts and executes the application in step S106.
  • step S107 the application launched on the application platform 532 sends "InformAppReady" to the sensor 511 to notify that the application has been launched, in other words, the application is ready for processing.
  • the sensor 511 Upon receiving the "Inform App Ready", the sensor 511 transmits "Send Data", that is, the sensor data to the application of the application platform 532 on the edge cloud 522 via the network 538 in step S108.
  • step S109 the application of the application platform 532 acquires the sensor data transmitted from the sensor 511 and executes predetermined data processing (“Process Data”).
  • the transmission of the sensor data in step S108 and the data processing of the sensor data in step S109 are continuously executed while the sensor data is generated by the sensor 511. Meanwhile, the orchestrator 536 confirms the execution state of the application and the state of the network 538 between the sensor / edge 513 and the application platform of the edge cloud 522 in step S110.
  • step S111 the orchestrator 536 determines whether the current application execution location is optimal, in other words, whether there is a change in the determination of the optimal placement of the application determined in step S103. If it is determined in step S111 that there is no change in the determination of the optimum placement of the application, the execution of the application on the application platform 532 on the edge cloud 522 is continued.
  • step S111 determines in the execution state of the application or the state of the network 538, and the orchestrator 536 determines in step S111 that the current application execution location is not optimal, the process proceeds to step S112.
  • step S112 the orchestrator 536 executes "Evaluate & Determine Target App Platform". That is, the orchestrator 536 searches again and determines the optimum application platform for executing the application based on the manifest supplied from the sensor network service operator 541. Here, it is assumed that the application platform 534 on the center cloud 523 is determined to be the optimum execution location.
  • step S113 the orchestrator 536 transmits "RequestAppResourceReservation" to the application platform 534 on the center cloud 523, and makes the application platform 534 secure the execution environment required for the application.
  • the application platform 534 secures the execution environment required for the application according to "RequestAppResourceReservation".
  • the orchestrator 536 executes "RequestAppInstantiation" for the application platform 534 on the center cloud 523 in step S114. That is, the orchestrator 536 sends "App Requirements” requesting the start of the application to the application platform 534.
  • the orchestrator 536 can copy and synchronize the state information of the application executed on the application platform 532 on the edge cloud 522 to the application on the application platform 534 on the center cloud 523.
  • the application platform 534 on the center cloud 523 starts and executes the application in step S115.
  • the application launched on the application platform 534 sends "InformAppReady" to the sensor 511 in step S116 to notify that the application has been launched, in other words, it is ready for processing.
  • step S117 the sensor 511 that has received "InformAppReady” detects "Capture & SendData", that is, the generation of sensor data, and transfers the detected sensor data to the application of the application platform 534 on the center cloud 523. , Transmit via networks 538 and 539.
  • step S118 the application of the application platform 534 acquires the sensor data transmitted from the sensor 511 and executes predetermined data processing (“Process Data”).
  • the transmission of the sensor data in step S117 and the data processing of the sensor data in step S118 are continuously executed while the sensor data is generated by the sensor 511.
  • steps S110 to S113 that is, whether or not the current application execution location is optimal is determined, and if it is determined to be non-optimal, the optimal application platform is searched again.
  • the process of running the application in the optimal placement continues.
  • the orchestrator 536 monitors the traffic and processing load status of the entire network and follows the load even when the number of sensors / edges 513 participating in the network increases or the sensor data generated by the sensor 511 increases. Can perform network control (including disaster recovery and maintenance).
  • the orchestrator 536 determines the best application platform location to run the application based on the manifest provided by the sensor network service operator 541 in the process of "Evaluate & Determine Target App Platform". do.
  • FIG. 4 shows an example where the application is placed on each platform on the sensor / edge 513, on the edge cloud 522, or on the center cloud 523.
  • the arrangement (1) shown in FIG. 4 shows an arrangement example in which the application is arranged and executed on the platform 531 on the sensor / edge 513.
  • Deployment (2) shows an deployment example in which the application is deployed and executed on the platform 532 on the edge cloud 522.
  • Deployment (3) shows an deployment example in which the application is deployed and executed on the platform 534 on the center cloud 523.
  • “Application” executes a process corresponding to the requested service (hereinafter referred to as “this process”) such as an image analysis process obtained by the sensor 511 and a process of recognizing an object in the image. Indicates the location of the application to be used.
  • “Capture & Send Data” indicates a process of detecting the generation of sensor data and transmitting it to the application, similar to steps S101 and S108 of FIG. 3 by the sensor 511.
  • “Process Data” indicates a process of acquiring sensor data transmitted from the sensor 511 and executing this process, similar to steps S109 and S118 of FIG.
  • the manifest describes that the processing delay due to the network transfer delay should be as small as possible.
  • the processing delay due to the network transfer delay becomes smaller as it is closer to the sensor 511.
  • the transfer delay increases in the order of platform 531 on the sensor / edge 513, platform 532 on the edge cloud 522, and platform 534 on the center cloud 523.
  • the orchestrator 536 places the application in the order of the placement (1), the placement (2), and the placement (3), with the placement (1) as the highest priority. ..
  • the manifest describes that the total amount of network traffic should be as small as possible.
  • the total amount of network traffic is smaller as it is closer to the sensor 511.
  • the total amount of network traffic increases in the order of platform 531 on the sensor / edge 513, platform 532 on the edge cloud 522, and platform 534 on the center cloud 523.
  • the orchestrator 536 places the application in the order of placement (1), placement (2), and placement (3), with placement (1) as the highest priority.
  • the orchestrator 536 deploys (1) even when the manifest states that other requirements can be ignored if both the processing delay due to network forwarding delays and the total amount of network traffic can be minimized. Can be placed in the order of priority of placement (1), placement (2), and placement (3).
  • the processing speed of the application should be as fast as possible.
  • the processing speed of the application varies depending on the execution environment of the application, but increases in the order of platform 531 on the sensor / edge 513, platform 532 on the edge cloud 522, and platform 534 on the center cloud 523.
  • the orchestrator 536 gives the highest priority to the placement (3), and the placement (3), placement (2), and placement (1). ) Place applications in priority order.
  • the execution cost of the application which is the cost required to execute the application
  • the execution cost of the application differs depending on the execution environment of the application, but it is cheaper when it is closer to the center cloud 523 because the computational resources are abundant. That is, the execution cost decreases in the order of platform 531 on the sensor / edge 513, platform 532 on the edge cloud 522, and platform 534 on the center cloud 523.
  • the orchestrator 536 places the application in the order of placement (3), placement (2), and placement (1), with placement (3) as the highest priority. Deploy.
  • the orchestrator 536 places the application in the order of placement (3), placement (2), placement (1), with placement (3) first. ..
  • the orchestrator 536 can arrange the applications in the order of the arrangement (3), the arrangement (2), and the arrangement (1), with the arrangement (3) having the highest priority.
  • the application placement policy described with reference to FIG. 4 is an example in which the application to be placed is only one application that executes this process.
  • an application that executes a process of compressing uncompressed sensor data (hereinafter referred to as a compression process) as a preprocess before the main process, and an application that executes the main process.
  • a compression process a process of compressing uncompressed sensor data
  • FIG. 5 shows an example in which two applications are placed on each platform on the sensor / edge 513, the edge cloud 522, or the center cloud 523.
  • “Application” indicates the location of the application that executes this process.
  • “Application (Compressor)” indicates the location of the application that executes the compression process.
  • Capture & SendData indicates a process in which the sensor 511 detects the generation of sensor data and transmits it to the application.
  • “Process & SendData” on the platform where “Application (Compressor)” is located indicates the process in which the application that executes the compression process executes the compression process and sends it to the application that executes this process.
  • “ProcessData” indicates a process of acquiring sensor data after compression processing and executing this processing.
  • the application performing the compression process is arranged on the platform 531 on the sensor / edge 513, and the application performing the present processing is arranged on the platform 532 on the edge cloud 522 and executed.
  • An arrangement example is shown.
  • Arrangement (12) shows an arrangement example in which the application performing the compression process is arranged on the platform 531 on the sensor / edge 513 and the application performing the present processing is arranged on the platform 534 on the center cloud 523 and executed.
  • Arrangement (13) shows an arrangement example in which the application performing the compression process is arranged on the platform 532 on the edge cloud 522 and the application performing the present processing is arranged on the platform 534 on the center cloud 523 and executed. ..
  • the thickness of the arrow indicating the transfer of sensor data indicates the difference in bandwidth depending on the presence or absence of compression processing, and uncompressed data requires a wider bandwidth than compressed data. Further, when the compression process is performed, a delay before transfer to the network occurs as compared with the case where the compression process is performed.
  • Deployment (11) is smaller in terms of processing delays and network traffic due to network forwarding delays, but is slower in application processing speed and higher in execution cost, compared to deployment (12) and deployment (13). Storage costs will be higher.
  • Deployment (12) has higher processing delays due to network forwarding delays and more network traffic, but faster application processing speeds, lower execution costs, and higher storage costs than deployment (11). It gets lower. Also, deployment (12) has smaller processing delays due to network forwarding delays and lower network traffic, but slower application processing speeds, higher execution costs, and storage costs compared to deployment (13). Will be higher.
  • Deployment (13) has higher processing delay due to network forwarding delay and more network traffic, but faster application processing speed and lower execution cost than deployment (11) and deployment (12). , Storage cost will be lower.
  • an application that executes an individualized process (hereinafter referred to as an individualized process) according to the content of the present process by an advanced AI (artificial intelligence) process or the like as a preprocess before the present process, and the present.
  • an advanced AI artificial intelligence
  • FIG. 6 shows an example in which two applications are placed on each platform on the sensor / edge 513, the edge cloud 522, or the center cloud 523.
  • “Application” indicates the location of the application that executes this process.
  • “Application (Post Processor)” indicates the location of the application that executes the individualization process.
  • Capture & SendData indicates a process in which the sensor 511 detects the generation of sensor data and transmits it to the application.
  • “Process & SendData” of the platform where "Application (PostProcessor)" is located indicates the process that the application that executes the individualization process executes the individualization process and sends it to the application that executes this process. ing.
  • “ProcessData” indicates the process of acquiring the sensor data after the individualization process and executing this process.
  • the individualization process includes a feature amount extraction process for extracting the feature amount of the sensor data and a feature recognition process for recognizing the feature of the sensor data, for example, recognizing an object in an image and displaying the object. It can be a process to output a place or a shape.
  • the individualized processing can be expected to have a much larger compression effect than the compression processing which is the preprocessing described with reference to FIG. 5, but the delay before network transfer becomes large.
  • the application performing the individualization process is arranged on the platform 531 on the sensor / edge 513, and the application performing the present processing is arranged on the platform 532 on the edge cloud 522 and executed.
  • An example of the arrangement to be performed is shown.
  • Arrangement (22) shows an arrangement example in which the application performing the individualization process is arranged on the platform 531 on the sensor / edge 513 and the application performing the present processing is arranged on the platform 534 on the center cloud 523 and executed.
  • Arrangement (23) shows an arrangement example in which the application to perform the individualization process is arranged on the platform 532 on the edge cloud 522 and the application to perform this process is arranged on the platform 534 on the center cloud 523 and executed. There is.
  • the thickness of the arrow indicating the transfer of the sensor data indicates the difference in the bandwidth depending on the presence or absence of the individualized processing, and the individualized processed data has a narrower bandwidth than the compressed data and the uncompressed data. It becomes possible to transmit.
  • Deployment (21) is smaller in terms of processing delays and network traffic due to network forwarding delays, but is slower in application processing speed and higher in execution cost, compared to deployment (22) and deployment (23). Storage costs will be higher.
  • Deployment (22) has higher processing delays due to network forwarding delays and more network traffic, but faster application processing speeds, lower execution costs, and higher storage costs compared to deployment (21). It gets lower. Also, deployment (22) has smaller processing delays due to network forwarding delays and lower network traffic, but slower application processing speeds, higher execution costs, and storage costs compared to deployment (23). Will be higher.
  • Deployment (23) has higher processing delay due to network forwarding delay and more network traffic, but faster application processing speed and lower execution cost compared to deployment (21) and deployment (22). , Storage cost will be lower.
  • the orchestrator 536 places the application in the order of placement (21), placement (22), placement (23), with placement (21) first. Further, under the requirement that the application processing speed is faster, the execution cost is lower, and the storage cost is lower, the orchestrator 536 gives the highest priority to the placement (23), and the placement (23) and the placement (22). , Place the applications in the order of priority of placement (21).
  • FIG. 7 shows an example of application placement in FIG. 5 in which compression processing is performed as preprocessing and an application placement example in FIG. 6 in which individualization processing is performed as preprocessing, with FIG. 6 arranged at the top and FIG. 5 at the bottom. It is a figure.
  • the placement (21) can make the network traffic smaller than the placement (11).
  • deployment (22) can reduce network traffic compared to deployment (12)
  • deployment (23) can reduce network traffic compared to deployment (13). ..
  • ⁇ Application placement policy when individualized processing is arranged in multiple stages> 8 and 9 show variation examples of the arrangement example of FIG. 6 in which an application that executes an individualization process is arranged as a preprocess before the present process.
  • the arrangement (31) shown in FIG. 8 it is possible to adopt an application arrangement in which a plurality of applications for personalization processing are arranged in front of the application for which this processing is performed.
  • the application that performs the first personalization process is placed on the platform 531 on the sensor / edge 513, and the application that performs the second personalization process is on the edge cloud 522.
  • the application arranged on the platform 532 and performing the present processing is arranged on the platform 534 on the center cloud 523.
  • the multi-stage arrangement of the application that performs the individualization process allows the individualization process (AI process) with a higher degree of abstraction to be performed step by step, and finally the data that is more optimized according to the individual requirements of the application is finally obtained. It can be delivered to the application that performs this processing. However, the processing delay becomes large due to the execution of the stepwise individualization processing.
  • the alternate long and short dash arrow indicates less network traffic than the fine solid arrow.
  • the following cases are examples of arranging applications that perform individualization processing in multiple stages.
  • platform 531 on the sensor / edge 513 performs object (ROI) extraction
  • the application of platform 532 on the edge cloud 522 performs trajectory tracking of multiple objects.
  • the application of platform 534 on the center cloud 523 understands the contents of the object and identifies the target object.
  • platform 531 on the sensor / edge 513 performs object (ROI) extraction
  • the application of platform 532 on the edge cloud 522 is the object content. Understanding, identifying the target object, and tracking the trajectory of the specific object are performed, and the application of platform 534 on the center cloud 523 performs the trajectory estimation of the target object.
  • FIG. 9 shows an example in which applications are arranged in a multi-stage arrangement and a one-stage arrangement in a case where processing is performed in the order of object detection, object content understanding / classification, object trajectory tracking, and trajectory estimation.
  • the placement (311) is executed by an application that performs object detection, object content understanding / classification, and object trajectory tracking by placing it on platform 531 on the sensor / edge 513, and performs trajectory estimation at the center cloud 523.
  • An arrangement example executed by the application performing the present processing arranged on the above platform 534 is shown.
  • the placement (312) is performed by an application that performs an individualization process placed on the platform 531 on the sensor / edge 513 for object detection, and performs object content understanding / classification and object trajectory tracking on the platform on the edge cloud 522.
  • An arrangement example is shown in which an application for performing individualization processing arranged in 532 executes, and an application for performing this processing arranged on platform 534 on the center cloud 523 executes trajectory estimation.
  • Arrangement (313) shows an arrangement example executed by an application that performs this processing by arranging all of object detection, object content understanding / classification, object trajectory tracking, and trajectory estimation on platform 534 on the center cloud 523. There is.
  • the arrangement (313) is the same as the arrangement (3) in FIG.
  • the total amount of network traffic increases in the order of placement (311), placement (312), and placement (313), as indicated by the thickness of the arrow.
  • the alternate long and short dash arrow indicates less network traffic than the fine solid arrow.
  • deployment (311) is the highest priority
  • deployment (311), deployment (312), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311), deployment (311) Place the applications in the order of priority in 313).
  • the orchestrator 536 gives top priority to placement (313) and placement (placement (313) is the highest priority.
  • the applications are placed in the order of priority of 313), placement (312), and placement (311).
  • the generated sensor data may be delivered to the application that uses the data. Therefore, as shown in the arrangement (41) shown in FIG. 10, P2P (Peer to Peer) Is transferred to an application located on the sensor / edge 513, on the edge cloud 522, or on the center cloud 523.
  • P2P Peer to Peer
  • the arrangement (41) in FIG. 10 is the same as the arrangement (1) to (3) shown in FIG.
  • the sensor data is temporarily or permanently cached (stored) as a preprocessing before the main processing as shown in the arrangement (42) shown in FIG. )
  • the application is placed.
  • the application that temporarily or permanently caches the sensor data is placed on the platform 532 on the edge cloud 522, and the application that performs this processing is placed on the platform 534 on the center cloud 523 and executed.
  • An example of the arrangement to be performed is shown.
  • “Application” indicates the location of the application that executes this process.
  • “Application (Broker)” indicates the location of the application that caches the sensor data temporarily or permanently.
  • deployment (42) the sensor data transmitted from the sensor / edge 513 is transferred to the application deployed on platform 532 on the edge cloud 522.
  • the application on the edge cloud 522 temporarily or permanently caches the acquired sensor data and sends it to three applications located on the platform 534 on the center cloud 523.
  • the present processing executed by the three applications on the center cloud 523 may be the same processing or different processing. When the same process is executed, the processing performance may differ, for example, an application that takes time but can be executed at low cost and an application that can be executed at high cost and at high speed.
  • the orchestrator 536 gives the highest priority to the arrangement (42), and gives priority to the arrangement (42) and the arrangement (41). Place the applications in order.
  • the network traffic may be minimized or reduced by further performing the compression processing and the individualization processing as shown in FIGS. 5 and 6. ..
  • FIG. 11 shows the reusability of sensor data and an example of application placement when compression processing or individualization processing is used together.
  • an application for temporarily or permanently caching sensor data and an application for performing compression processing are arranged on platform 532 on the edge cloud 522, and this processing is performed.
  • An example of placement is shown in which an application for performing the above is placed on the platform 534 on the center cloud 523 and executed.
  • an application that performs compression processing is placed after the application that caches sensor data.
  • an application that temporarily or permanently caches sensor data and an application that performs individualization processing are placed on platform 532 on the edge cloud 522, and an application that performs this processing is placed on the center cloud 523.
  • An example of deployment is shown in which the platform 534 is deployed and executed.
  • an application that performs individualization processing is placed after the application that caches sensor data.
  • an application for performing compression processing or an application for performing individualization processing is provided for each of the three applications arranged on the platform 534 on the center cloud 523. ..
  • the three applications that perform these compression or individualization processes perform different compression or individualization processes depending on the requirements of the application. If the same compression processing or individualization processing may be executed, only one application can perform these preprocessing.
  • the total amount of network traffic can be made smaller by performing the individualization process than by performing the compression process. Therefore, as indicated by the thickness of the arrow, the arrangement (52) can make the network traffic smaller than the arrangement (51).
  • the orchestrator 536 gives the highest priority to the arrangement (52). , Placement (52), Placement (51) in order of priority.
  • FIG. 12 is a table summarizing the evaluation axes when arranging applications and the priority order (arrangement policy) of application arrangement in that case, as described with reference to FIGS. 4 to 11.
  • the evaluation axes are processing delay due to network transfer delay, network traffic, application processing speed, application execution cost, storage cost, sensor data reusability, and before executing this processing corresponding to the requested service. Includes whether to perform preprocessing. It should be noted that the set of these evaluation axes and priorities does not have to be all included, and at least one may be included.
  • the application placement priority is the priority of the sensor / edge 513, the edge cloud 522, and the center cloud 523 as the application placement location.
  • the information shown in FIG. 12 is supplied from the sensor network service operator 541 to the orchestrator 536 as a manifest.
  • the orchestrator 536 takes into account various trade-offs and optimally deploys the application based on the supplied manifest.
  • the orchestrator 536 is the location of the optimum application platform that executes the application based on the placement policy of FIG. 12 in the processing of the “Evaluate & Determine Target App Platform” of the application placement control described with reference to FIG. To decide.
  • the orchestrator 536 may, for example, localize the data processing of sensor data to a predetermined platform, arrange it in two or more stages of a sensor / edge 513, an edge cloud 522, or a center cloud 523, and perform compression processing or individualization processing. By transferring after performing the above, the traffic in the network is reduced and the processing load of the application that processes the data is reduced.
  • Cloud computing configuration example> The methods and systems described herein, including the data processing systems and application placement control methods described above, are implemented using computer programming or engineering techniques that include computer software, firmware, hardware, or combinations or subsets thereof. be able to.
  • FIG. 13 shows a block diagram of a computer capable of realizing the various embodiments described herein.
  • the present disclosure can be realized as a system, a method, and / or a computer program.
  • the computer program may include a computer-readable storage medium, in which the computer-readable storage medium contains computer-readable program instructions that cause one or more processors to perform aspects of this embodiment. ..
  • the computer-readable storage medium can be a tangible device that can store instructions for use by the instruction execution device (processor).
  • the computer-readable storage medium can be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. Not limited. More specific examples of computer-readable storage media include each (and appropriate combination) of: flexible disks, hard disks, SSDs (solid state drives), RAMs (random access memory), ROMs (reads): only memory), EPROM (erasable and programmable read only memory) or Flash (flash memory), SRAM (static random access memory), compact disc (CD or CD-ROM), DVD (digitalversatile disc), card type or stick type Memory.
  • a computer-readable storage medium as used in the present disclosure is an electromagnetic wave propagating through radio waves or other freely propagating electromagnetic waves, waveguides or other transmission media (eg, optical pulses through fiber optic cables). , Or an electrical signal transmitted over a wire, etc., is not construed as a temporary signal itself.
  • Computer-readable program instructions of the present disclosure can be downloaded from a computer-readable storage medium to a suitable computing or processing device, such as a global network such as the Internet, a local area network, a wide area network, and / or. , Can be downloaded to an external computer or external storage device via a wireless network.
  • Networks include copper transmission lines, optical communication fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers.
  • a network adapter card or network interface within a computing or processing device receives computer-readable program instructions from the network and transfers the computer-readable program instructions within the computing or processing device. It can be stored in a computer-readable storage medium.
  • Computer-readable program instructions that perform the processing of the present disclosure include machine language instructions and / or microcodes, which are assembly languages, Basic, Fortran, Java, Python, R, C, C ++, Compiled or interpreted from source code written in C #, or any combination of one or more program languages, including similar programming languages.
  • Computer-readable program instructions can be executed entirely on the user's personal computer, notebook computer, tablet, or smartphone, and can be a remote computer or computer server, or any combination of these computing devices. It can also be fully executed above.
  • the remote computer or computer server may be connected to the user's device or device via a computer network such as a local area network, wide area network, or global network (eg, the Internet).
  • a computer-readable program instruction in which an electric circuit including a programmable logic circuit, an FPGA (field-programmable gate arrays), and a PLA (programmable logic arrays) constitutes or customizes an electronic circuit.
  • computer-readable program instructions can be executed using information from.
  • Computer-readable program instructions that can perform the systems and methods described in this disclosure are general purpose computers, dedicated computers, or other programmable device processors (and /) for manufacturing the device. Or used by one or more cores in the processor). Execution of program instructions through the processor of a computer or other programmable device creates a system for realizing the functions described in the flow diagrams and block diagrams of the present disclosure.
  • These computer-readable program instructions may also be stored in computer-readable storage media that can instruct computers, programmable devices, and / or other devices to function in a particular way. Accordingly, the computer-readable storage medium in which the instructions are stored is a manufactured article that includes the instructions that implement the functional aspects identified in the flow and block diagrams of the present disclosure.
  • Computer-readable program instructions can also be loaded onto a computer, other programmable device, or other device to perform a series of operational steps on the computer, other programmable device, or other device, and the results of the computer's processing. Generate.
  • the program instructions are executed on a computer, other programmable device, or other device to realize the functions specified in the flow diagram and block diagram of the present disclosure.
  • FIG. 13 is a functional block diagram of a network system 800 in which one or more computers, servers, and the like are connected via a network.
  • the hardware and software environment shown in the embodiment of FIG. 13 is shown as an example of providing a platform for realizing the software and / or method according to the present disclosure.
  • the network system 800 can include, but is not limited to, a computer 805, a network 810, a remote computer 815, a web server 820, a cloud storage server 825, and a computer server 830. In one embodiment, a plurality of instances of one or more functional blocks shown in FIG. 13 are used.
  • FIG. 13 illustrates a more detailed configuration of the computer 805. It should be noted that the functional blocks shown in the computer 805 are shown for establishing exemplary functions, and not all of them are shown. Also, although detailed configurations of the remote computer 815, web server 820, cloud storage server 825, and computer server 830 are not shown, they may include configurations similar to the functional blocks shown for computer 805. can.
  • Computer 805 includes personal computers (PCs), desktop computers, laptop computers, tablet computers, netbook computers, personal digital assistants (PDAs), smartphones, or other programs capable of communicating with other devices on the network 810. Any possible electronic device can be used.
  • PCs personal computers
  • PDAs personal digital assistants
  • smartphones or other programs capable of communicating with other devices on the network 810. Any possible electronic device can be used.
  • the computer 805 is configured to include a processor 835, a bus 837, a memory 840, a non-volatile storage 845, a network interface 850, a peripheral device interface 855, and a display interface 865.
  • a processor 835 a bus 837
  • a memory 840 a non-volatile storage 845
  • a network interface 850 a peripheral device interface 855
  • a display interface 865 a display interface 865.
  • Each of these functions is implemented as an individual electronic subsystem (integrated circuit chip or combination of chips and related devices) in one embodiment, and in other embodiments, some functions are combined into a single unit. It may be mounted as a chip (system on chip or SoC (System on Chip)).
  • SoC System on Chip
  • Processor 835 is one or more single or multi-chip microprocessors designed and / or manufactured by, for example, Intel Corporation, Advanced Micro Devices, Inc. (AMD), Arm Holdings (Arm), Apple Computer, etc. Can be.
  • microprocessors are Celeron, Pentium, Core i3, Core i5 and Core i7 made by Intel Corporation, Opteron, Phenom, Athlon, Turion and Ryzen made by AMD, Cortex-A, Cortex-R and Cortex- made by Arm. M is mentioned.
  • Bus 837 can adopt a proprietary or industry standard high-speed parallel or serial peripheral interconnection bus such as ISA, PCI, PCI Express (PCI-e), AGP.
  • ISA ISA
  • PCI PCI Express
  • AGP AGP
  • the memory 840 and the non-volatile storage 845 are storage media that can be read by a computer.
  • any suitable volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static RAM) can be adopted.
  • the non-volatile storage 845 includes a flexible disk, a hard disk, an SSD (Solid State Drive), a ROM (Read Only Memory), an EPROM (Erasable and Programmable Read Only Memory), a flash memory, a compact disk (CD or CD-ROM), and a DVD (CD or CD-ROM).
  • One or more of Digital Versatile Disc), card type memory, or stick type memory can be adopted.
  • program 848 is a set of machine-readable instructions and / or data. This set is stored in non-volatile storage 845 and is used to create, manage, and control the specific software features described in detail in the present disclosure and described in the drawings. In a configuration in which the memory 840 is much faster than the non-volatile storage 845, the program 848 can be transferred from the non-volatile storage 845 to the memory 840 before being executed by the processor 835.
  • the computer 805 can communicate and interact with other computers via the network 810 via the network interface 850.
  • the network 810 can adopt, for example, a LAN (Local Area Network), a WAN (Wide Area Network) such as the Internet, or a combination of LAN and WAN, including a wired, wireless, or optical fiber connection. ..
  • the network 810 consists of any combination of connections and protocols that support communication between two or more computers and related devices.
  • the peripheral device interface 855 can input / output data to / from other devices that can be locally connected to the computer 805.
  • the peripheral interface 855 provides a connection to an external device 860.
  • the external device 860 uses a keyboard, mouse, keypad, touch screen, and / or other suitable input device.
  • the external device 860 may also include, for example, a thumb drive, a portable optical or magnetic disk, and a portable computer readable storage medium such as a memory card.
  • Software and data that implement the embodiments of the present disclosure, such as program 848, may be stored in such a portable computer readable storage medium. In such an embodiment, the software may be loaded onto the non-volatile storage 845 or instead may be loaded directly onto the memory 840 via the peripheral interface 855.
  • Peripheral device interface 855 may use an industry standard such as RS-232 or USB (Universal Serial Bus) for connection with an external device 860.
  • the display interface 865 can connect the computer 805 to the display 870, and there is also a form in which the display 870 is used to present a command line or a graphical user interface to the user of the computer 805.
  • Display Interface 865 uses one or more industry standard or dedicated connections such as VGA (Video Graphics Array), DVI (Digital Visual Interface), DisplayPort, HDMI (High-Definition Multimedia Interface) (registered trademark). Can be connected to the display 870.
  • the network interface 850 provides communication with another computer, a storage system, or an external device of the computer 805.
  • the software programs and data described herein are downloaded from, for example, a remote computer 815, a web server 820, a cloud storage server 825, and a computer server 830 to a non-volatile storage 845 via a network interface 850 and a network 810.
  • the systems and methods of the present disclosure can be performed by one or more computers connected to the computer 805 via network interfaces 850 and network 810.
  • the systems and methods of the present disclosure are performed by a remote computer 815, a computer server 830, or a combination of interconnected computers on a network 810.
  • the data, datasets, and / or databases employed in the embodiments of the systems and methods of the present disclosure are downloaded and stored from a remote computer 815, a web server 820, a cloud storage server 825, and a computer server 830. can do.
  • the above-mentioned data processing system 500 can be applied to an image processing system using a DVS (Dynamic Vision Sensor).
  • DVS Dynamic Vision Sensor
  • DVS detects the change in pixel brightness as an event and outputs event data indicating the occurrence of the event at the timing when the event occurs.
  • DVS While a general image sensor takes an image in synchronization with a vertical synchronization signal and outputs one frame (screen) of image data at regular intervals, DVS is an event asynchronously at the timing when an event occurs. Output data. Pixel values take three values, for example, + change,-change, or no change. Since DVS outputs only the changed pixels by combining the position coordinates of the pixels and the time information, it is possible to output data with high efficiency, high speed, and low delay.
  • a normal synchronous image sensor is referred to as an image sensor, and frame-based data output by the image sensor is referred to as image data.
  • image data the frame-based data output by the image sensor
  • DVS the event sensor that detects the event asynchronously
  • event data the data output by DVS
  • the DVS event data can be used, for example, in a process of generating a super-resolution image in combination with an image of a normal frame-based image sensor.
  • the time resolution is improved by applying the event output by the asynchronous DVS to the moving image obtained by the synchronous image sensor.
  • Techniques for generating resolution moving images have been proposed (for example, non-patent documents "Liyuan Pan, Richard Hartley, Cedric Schierlinck, Miaomiao Liu, Xin Yu, Yuchao Dai, High Frame Rate Video Reconstruction based on an Event Camera, of our CVPR2019 (Oral) paper, Internet ⁇ https://arxiv.org/pdf/1903.06531.pdf> ”).
  • FIG. 14 shows an example of generating a super-resolution image with improved time resolution by using DVS event data.
  • the image sensor generates and outputs an image at a constant frame rate, which has a longer period than DVS, such as 30 fps and 60 fps.
  • An image output by an image sensor and captured at a constant frame rate is called a frame image.
  • the frame image P0 is output at the time T0
  • the frame image P1 is output at the time T1.
  • DVS detects the event at random timing when the event occurs, and generates and outputs an image.
  • An image randomly output by DVS is called an event image.
  • the event image E0 is output at time T0
  • the event image E3 is output at time T1
  • the event images E1 and E2 are output at time T0a and time T0b between time T0 and time T1. It is being output.
  • the image processing device that generates the super-resolution image generates the super-resolution image F1 at the time T0a based on, for example, the frame image P0 at the time T0 and the event image E1 representing the brightness change between the time T0 and the time T0a. ,Output. Further, the image processing device is based on, for example, the frame image P0 at time T0, the super-resolution image F1 at time T0a, and the event image E2 representing the brightness change between time T0a and time T0b, and the super-solution at time T0b. Generates and outputs an image image F2.
  • the image processing device performs super-resolution processing using an image stream which is an image stream of a moving image output by an image sensor and an event stream which is an image stream of a moving image output by DVS.
  • an image stream which is an image stream of a moving image output by an image sensor
  • an event stream which is an image stream of a moving image output by DVS.
  • the example of FIG. 14 is an example of generating an image with improved time resolution as a super-resolution image by super-resolution processing.
  • a high dynamic range image with an expanded dynamic range or a high dynamic range image may be used.
  • An image with improved spatial resolution may be generated as a super-resolution image.
  • the data processing system 500 of FIG. 1 is applied to the above-mentioned image analysis network system that performs super-resolution processing.
  • the application in which the sensor 511 in the data processing system 500 of FIG. 1 corresponds to the sensor device 11 or the analysis device 12 in the image analysis network system 1 of FIG. 15 and performs this processing in the data processing system 500 of FIG. 1 is shown in FIG. ,
  • the manifest describes that the network traffic is made as small as possible as the evaluation axis and the priority of the node closer to the analysis device 12 is increased.
  • the evaluation axis and the priority may be predetermined without referring to the manifest.
  • FIG. 15 shows a configuration example of an image analysis network system, which is an embodiment of an image processing system to which the present technology is applied.
  • the image analysis network system 1 of FIG. 15 is a system that performs image analysis processing using the super-resolution image generated by the above-mentioned super-resolution processing.
  • the sensor device 11 and the plurality of analysis devices 12 (12A to 12C) are connected via the network 13.
  • the sensor device 11 has an image sensor and a DVS, and generates image data and event data that are original data for performing super-resolution processing.
  • the analysis device 12 is, for example, an image processing device equipped with an AI engine using machine learning such as deep learning, and performing image analysis processing using super-resolution images generated from image data and event data.
  • the network 13 is, for example, an Internet, a public telephone network, a wide area communication network for wireless mobiles such as so-called 4G lines and 5G lines, WAN (WideAreaNetwork), LAN (LocalAreaNetwork), and Bluetooth (registered trademark) standards.
  • Wireless communication network that communicates in compliance with, NFC (Near Field Communication) and other short-range wireless communication channels, infrared communication channels, HDMI (registered trademark) (High-Definition Multimedia Interface) and USB (Universal Serial Bus) ), Etc., a communication network or channel of any communication standard, such as a wired communication network.
  • the network 13 has a plurality of nodes 14 (14a to 14i) in addition to the sensor device 11 and the plurality of analysis devices 12.
  • Each node 14 is a network connection device such as a sensor device, a router, a modem, a hub, a bridge, a switching hub, a base station control device, or a server, and transfers data from a data output source to a destination device.
  • the data output source is the sensor device 11
  • the output data is image data or event data which is sensor data, or a super-resolution image generated by super-resolution processing. ..
  • the device to be the destination of the data output from the sensor device 11 is each analysis device 12 that performs image analysis processing using the super-resolution image.
  • the sensor device 11 side which is the data acquisition destination side.
  • the route on the side of the analysis device 12 which is the output destination of the data may be referred to as upstream.
  • the number of nodes 14 is nine from the node 14a to the node 14i, and the number of the analysis devices 12 is three examples of the analysis devices 12A to 12C. , The number of the analysis device 12 and the node 14 is not limited to this, and is arbitrary.
  • FIG. 16 is an example of a reference image of the first application to which the image analysis network system 1 is applied.
  • the image analysis network system 1 as the first application is a system that detects a speed-violating motorcycle (moving object), identifies a person riding on it, and tracks and reports it.
  • the sensor device 11 is arranged on a highway or the like, and outputs long-period image data such as 30 fps or 60 fps that captures a moving object such as a passing motorcycle or automobile, and high-speed, low-delay event data.
  • a plurality of analysis devices 12 are scattered all over the country, and each analysis device 12 collects the feature quantities of various persons by an application and creates a database.
  • the analysis device 12 recognizes the characteristics of the person included in the attention areas ROI-1 to ROI-4 in the super-resolution image F11 generated from the image data and the event data output by the sensor device 11, and recognizes the person. Identify and report.
  • DVS can only detect features that have been used to identify people, such as facial features of the person to be searched, but can only be analyzed by an AI engine that goes beyond the human eye. , It is possible to detect the characteristics of fine movements of each part of the body.
  • each analysis device 12 can identify a person with high accuracy by performing recognition processing using a super-resolution image generated using event data by DVS, rather than determining from only image data in frame units. can.
  • person recognition processing is performed by a group of AI engines capable of analyzing motion characteristics beyond the eyes of a person who has a feature amount database of various people scattered all over the country, and real-time determination of the corresponding person is possible. It becomes.
  • FIG. 17 is an example of a reference image of a second application to which the image analysis network system 1 is applied.
  • the image analysis network system 1 as the second application is a system that predicts the dangerous behavior of a mob in a protest demonstration, identifies the dangerous person, and gives a defense instruction to the MTF in real time.
  • the sensor device 11 is arranged on a road or sidewalk in an urban area, for example, and outputs long-period image data such as 30 fps or 60 fps that captures a protest demonstrator, and high-speed, low-delay event data.
  • Each analysis device 12 predicts a person's behavior (dangerous behavior) by performing recognition processing using a frame-based image data and a super-resolution image generated using event data by DVS, and determines a dangerous person. To identify. For example, a person included in the attention areas ROI-11 to ROI-15 in the super-resolution image F12 is identified as a dangerous person by the analysis device 12, and is notified to the riot police.
  • recognition processing that recognizes a person using a super-resolution image generated using event data by DVS, it is possible to recognize fine movements of the human body that cannot be detected by image data in frame units. , Dangerous behavior prediction and dangerous person identification can be performed with high accuracy.
  • Example of stream distribution method> Examining a mechanism for transferring a super-resolution image stream (image data of a super-resolution image) from the sensor device 11 to each analysis device 12 while suppressing unnecessary network traffic, the methods shown in FIGS. 18 to 24 can be found. Conceivable.
  • the sensor device 11 generates an ROI super-resolution image stream of the ROI-1 of interest and distributes it to each analysis device 12 in charge via the network 13.
  • the sensor device 11 generated a ROI super-resolution image stream of the high-resolution attention region ROI-1 in order to correspond to the analysis capabilities of all the analysis devices 12, and distributed it by multicast to each analysis device 12. do.
  • the ROI super-resolution image stream has a resolution higher than necessary (time resolution in this example).
  • the higher the resolution the larger the band occupied by the image stream, which is a factor that puts pressure on the traffic.
  • the band occupying the network 13 is classified into three types, wideband (high resolution), medium band (medium resolution), and narrow band (low resolution), according to the resolution of the delivered ROI super-resolution image stream.
  • the sensor device 11 multicasts a wideband ROI super-resolution image stream, and the band of the super-resolution stream necessary and sufficient for the analysis device 12A is a medium band, and the band of the super-resolution stream is a medium band, and the super-solution necessary and sufficient for the analysis device 12B.
  • the sensor device 11 distributes the ROI super-resolution image stream having a wider band than necessary, which puts pressure on the traffic of the network 13.
  • the requirements of each analysis device 12 are notified in advance to the upstream side regarding the resolution, and as shown in FIG. It is conceivable that the sensor device 11 generates and distributes the ROI super-resolution image stream according to the resolution of each analysis device 12.
  • FIG. 20 shows that for the analysis device 12A, a medium-band super-resolution stream necessary and sufficient for the analysis device 12A is generated, and for the analysis device 12B, a narrow-band super-resolution necessary and sufficient for the analysis device 12B is generated. It shows how to generate an image stream.
  • the sensor device 11 generates a medium-band ROI super-resolution image stream necessary and sufficient for the analysis device 12A and distributes it point-to-point to the analysis device 12A, and for the analysis devices 12B and 12C. It shows how a ROI super-resolution image stream with a necessary and sufficient narrow band is generated and distributed to the analyzers 12B and 12C on a point-to-point basis.
  • the sensor device 11 For example, as shown in FIG. 22, a method in which the sensor device 11 generates ROI super-resolution image streams for each of the medium band and the narrow band and distributes them by multicast to the analysis device 12 that requires the respective resolutions. Conceivable.
  • the medium-band ROI super-resolution image stream is delivered to the analyzer 12A, and the narrow-band ROI super-resolution image stream is multicast-delivered to the analyzers 12B and 12C.
  • the ROI super-resolution image stream of the maximum band is multicast-distributed from the sensor device 11 to the node 14 in the middle of the network 13, and the ROI super-resolution image stream is distributed at the node 14 in the middle.
  • a method is conceivable in which a ROI super-resolution image stream whose resolution is changed according to the resolution requirement of the analysis device 12 at the delivery destination downstream is generated and multicast-delivered to each analysis device 12.
  • a medium-bandwidth and narrow-band ROI super-resolution image stream is generated from the wideband ROI super-resolution image stream at the node 14 in the middle, and the medium-band ROI super-resolution image stream is analyzed.
  • the narrowband ROI super-resolution image stream is distributed to the apparatus 12A and is multicast-distributed to the analyzers 12B and 12C.
  • the ROI super-resolution image stream flows from the upstream side of the network 13, a large number of sensor devices 11 exist and each sensor device 11 is as shown in FIG. 24.
  • the pressure on the traffic in the network 13 is unavoidable.
  • the image captured by the sensor device 11 contains a large number of analysis objects, the ROI of interest is set for them, and a large number of analysis devices 12 distributed in the network 13 are used for a predetermined time.
  • an image stream (ROI super-resolution stream) with high time resolution that has been super-resolution processed for each ROI of interest is passed through the network 13. It has to be delivered to a large number of analysis devices 12, and the more the ROI of interest is, the more the traffic of the network 13 is compressed.
  • the sensor device 11 or the node 14 such as the server first connected to the sensor device 11 generates the ROI super-resolution stream, if the analysis capability of each distribution destination analysis device 12 cannot be grasped. , There is a possibility of delivering an image stream having a higher resolution than necessary, and as a result, the traffic of the network 13 is compressed.
  • FIG. 25 shows a conceptual diagram of distribution of the ROI super-resolution stream performed by the image analysis network system 1 of FIG.
  • the image analysis network system 1 is a node 14 located downstream near the analysis device 12 from among a plurality of nodes 14 in the network 13 from the sensor device 11 to the plurality of analysis devices 12, and the ROI is exceeded from the image stream and the event stream.
  • a resolution stream is generated and distributed to the analysis device 12.
  • the image stream and event stream generated by the sensor device 11 are transmitted as they are to the downstream node 14 that generates the ROI super-resolution stream.
  • the node 14 (the super-resolution processing node 14C described later) that generates the ROI super-resolution stream from the image stream and the event stream is at least a node 14 that is closer to the analysis device 12 than the sensor device 11.
  • FIG. 26 is a diagram showing a conceptual diagram of distribution of the ROI super-resolution stream of FIG. 25 in more detail.
  • the image stream and event stream for each of the plurality of attention areas ROI-1 to ROI-n included in the frame image captured by the image sensor are located on the downstream side close to the analysis device 12 of the transmission path of the network 13, for example, the analysis device 12. Is transmitted to the node 14 that is first connected to.
  • the node 14 first connected to the analysis device 12 generates an ROI super-resolution stream from the acquired image stream and event stream, and transmits the ROI super-resolution stream to the analysis device 12.
  • both the image stream and the event stream are ROIs. This is a stream with a lighter transfer load than a super-resolution stream.
  • the image stream may be a stream for each attention region ROI extracted from the frame image captured by the image sensor in units of attention region ROI, or may be a stream of the frame image as it is (hereinafter referred to as the whole image) captured by the image sensor. .. In the present embodiment, the image stream of the whole image is transmitted.
  • Each node 14 on the upstream side other than the node 14 that generates the ROI super-resolution stream relays the image stream and the event stream. That is, each node 14 receives the image stream and the event stream transmitted from the upstream side and transmits them to the node 14 on the downstream side. Further, each node 14 caches (stores) the received image stream and event stream, and when a new analysis device 12 is added to the downstream side and another route is added, the cache is cached as necessary. Enables transmission of image streams and event streams.
  • each node 14 that relays the image stream and the event stream thins out the event stream as necessary according to the time resolution capability of the analysis device 12 at the downstream delivery destination, and transmits the event stream to the downstream node 14. You can also do it.
  • the time resolution capability of the analysis device 12 is also referred to as a time resolution requirement because it is a requirement for the analysis device 12 to have a necessary and sufficient time resolution.
  • FIG. 27 shows an example in which the event stream is thinned out and transmitted at the node 14 of the transmission path according to the time resolution requirement of each of the plurality of analysis devices 12.
  • the time resolution of the analysis device 12 corresponds to, for example, the number of super-resolution images that the analysis device 12 can perform analysis processing in a certain period, and in the super-resolution processing, a super-resolution image is generated every time an event occurs. Therefore, it corresponds to the frequency at which the event occurs. Therefore, the time resolution of the analysis device 12 corresponds to the event frequency (event density) of the event stream.
  • the time resolution requirement of the analysis device 12 is represented by the event frequency, and the time resolution requirement of each analysis device 12 is represented by a number surrounded by a rectangular frame. Specifically, the time resolution of the analysis device 12A is "1", the time resolution of the analysis device 12B is "2”, the time resolution of the analysis device 12C is "4", and the time resolution of the analysis device 12D. Is "1".
  • the time resolution of the event stream generated by the sensor device 11 is "4".
  • each node 14 of the network 13 thins out the event stream according to the maximum value of the time resolution requirement (event frequency) of the analyzer 12 connected to the downstream route, and downstream. Send to the node 14 on the side.
  • the time resolution of the event stream of the predetermined region of interest ROI transmitted to the analysis device 12A is “4 ⁇ 4 ⁇ 2 ⁇ 1” from the sensor device 11.
  • the time resolution of the event stream of the predetermined region of interest ROI transmitted to the analysis device 12B is “4 ⁇ 4 ⁇ 2 ⁇ 2” from the sensor device 11.
  • the time resolution of the event stream of the predetermined region of interest ROI transmitted to the analysis device 12C is “4 ⁇ 4 ⁇ 4 ⁇ 4” from the sensor device 11.
  • the time resolution of the event stream of the predetermined region of interest ROI transmitted to the analysis device 12D is “4 ⁇ 4 ⁇ 4 ⁇ 1” from the sensor device 11.
  • network traffic can be optimized and reduced by thinning out the event stream according to the maximum value of the time resolution requirement (event frequency) and transmitting it to the node 14 on the downstream side.
  • the process of thinning out the event stream can be performed, for example, by integrating (synthesizing) adjacent events in the time direction, as will be described later with reference to FIGS. 40 and 41.
  • the node 14 that generates the ROI super-resolution stream is an edge node that is first connected to the analyzer 12 depending on the number of analyzers 12 connected to the downstream path, the number of ROIs in the region of interest, and the like. As shown in FIG. 28 instead of 14, it may be possible to reduce the overall network traffic by generating the ROI super-resolution stream on the previous node 14 or the previous node 14. .. In this case, the node 14 downstream from the node 14 that generates the ROI super-resolution stream becomes a node that relays and caches the ROI super-resolution stream.
  • FIG. 29 is a diagram showing a transmission path of a stream of each attention region ROI, focusing on a plurality of attention region ROIs included in the frame image captured by the image sensor.
  • the number of areas of interest is four, ROI-1 to ROI-4, in order to prevent the figure from becoming complicated.
  • the analysis device 12 connected to the downstream path is in charge of the analysis process for each attention area ROI.
  • the event stream is delivered by multicast. That is, the event stream of each attention region ROI is not multicast-delivered to all the analysis devices 12, but the event stream of the attention region ROI to be processed is multicast-delivered only to the analysis device 12 in charge of the analysis process. ..
  • unnecessary event streams are not transmitted to the route of the network 13, and the network traffic is optimized and reduced.
  • the image stream when transmitting the image stream of the entire image, it is multicast-delivered to the nodes 14 of all the routes connected to the analyzer 12, but when transmitting the image stream for each ROI of interest area, the image stream is distributed.
  • the image stream of the attention region ROI to be processed is multicast-distributed only to the analysis device 12 in charge of the analysis processing.
  • the image analysis network system 1 of FIG. 15 generates a super-resolution stream at the node 14 on the downstream side of the network 13 near the analysis device 12.
  • the image stream and the event stream having a light transfer load can be transmitted by the image stream and the event stream having a light transfer load, so that the traffic can be reduced. That is, the super-resolution image stream can be efficiently transmitted over the network.
  • the image analysis network system 1 does not transmit the stream at a uniform frame rate in all the attention area ROIs, but is necessary and sufficient according to the time resolution requirement of the analysis device 12 for each attention area ROI. It is transmitted at the optimum variable frame rate according to the event frequency. As a result, the traffic on the transmission path can be reduced, and the cache amount of the node 14 that relays the stream can also be optimized. Further, the node 14 that performs the super-resolution processing can also save the super-resolution processing more than necessary, and the CPU (GPU) performance can be efficiently used.
  • FIG. 30 is a block diagram showing a configuration example of the image analysis network system 1 of FIG. 15 that realizes the stream distribution method described with reference to FIGS. 25 to 29.
  • the image analysis network system 1 includes a sensor device 11, a broker node 14A, a relay processing node 14B, a super-resolution processing node 14C, an orchestrator 14D, and an analysis device 12.
  • FIG. 30 shows a configuration example related to a path in which the ROI super-resolution stream is delivered from the sensor device 11 to one predetermined analysis device 12. Therefore, the analysis device 12 of FIG. 30 corresponds to, for example, a predetermined one of the three analysis devices 12A to 12C shown in FIG. 25.
  • the broker node 14A, the relay processing node 14B, the super-resolution processing node 14C, and the orchestrator 14D are any node 14 in the network 13 of FIG. 15, and each node 14 in the network 13 is executed by it. It is assigned to one of the broker node 14A, the relay processing node 14B, the super-resolution processing node 14C, or the orchestrator 14D depending on the function to be performed.
  • the broker node 14A is a node 14 (edge node) in the network 13 that is first connected to the sensor device 11 in the network 13, and is, for example, a node 14a in FIG.
  • the relay processing node 14B is a node that relays and caches the image stream and the event stream described in FIG. 26, and in FIG. 15, for example, the node 14c and the node 14e.
  • relay processing nodes 14B are generally interposed between the broker node 14A and the super-resolution processing node 14C, but in FIG. 30, they will be described as one.
  • the super-resolution processing node 14C is a node that executes super-resolution processing for generating a super-resolution image using the image stream and the event stream transmitted from the upstream node 14 (relay processing node 14B).
  • the super-resolution processing node 14C is often referred to as a node 14 (edge node) in the network 13 that is first connected to the analyzer 12 in the network 13, but the processing capacity of the node 14 and the entire stream flowing through the network 13 In some cases, the node 14 is located upstream of the edge node in consideration of the band and the like.
  • the orchestrator 14D is a node that monitors the band of a stream flowing along the path of the network 13 and determines a node 14 (super-resolution processing node 14C) that executes super-resolution processing.
  • a node 14 for example, a node. It is 14i.
  • FIG. 30 shows a configuration in which the super-resolution processing node 14C is determined.
  • the sensor device 11 includes an event image sensor 41, an object ROI extraction engine 42, an ROI catalog generator 43, an ROI image filter 44, and an ROI event filter 45.
  • the broker node 14A includes modules of the ROI subscription broker 51, the ROI image broker 52, and the ROI event broker 53.
  • the relay processing node 14B includes the ROI subscription relay module 61, the ROI image relay module 62, and the ROI event relay module 63.
  • the super-resolution processing node 14C includes a ROI subscription relay module 71 and a super-resolution processing module 72.
  • the orchestrator 14D is equipped with an orchestration module 91.
  • the analysis device 12 includes each module of the ROI subscriber 81 and the analysis module 82.
  • the event image sensor 41 of the sensor device 11 has a DVS (event sensor) and an image sensor.
  • the DVS generates an event image at a random timing when the event occurs, and the image sensor generates a frame image with a longer cycle than the DVS, for example, 30 fps or 60 fps.
  • the generated event image and frame image are supplied to the object ROI extraction engine 42, the ROI image filter 44, and the ROI event filter 45.
  • the event image sensor 41 causes the image sensor to take an image, and supplies the generated frame image as a snapshot to the object ROI extraction engine 42.
  • the object ROI extraction engine 42 executes an object recognition process based on the snapshot from the event image sensor 41, and allocates the attention area ROI to each recognized object. Then, the object ROI extraction engine 42 supplies a snapshot when the object is specified and information for specifying the attention area ROI assigned to each object (ROI specific information) to the ROI catalog generator 43.
  • the ROI specific information includes, for example, ROI-ID (ROI identification information) that identifies the ROI of interest in the object and attribute information (object attribute information) of the object.
  • the attribute information of the object includes, for example, the type of the object (name of person, car, object, etc.) detected by the recognition process, the color, the coordinates indicating the area, and the like.
  • the snapshot and ROI specific information are also supplied from the object ROI extraction engine 42 to the ROI image filter 44 and the ROI event filter 45.
  • the ROI catalog generator 43 generates an ROI catalog based on a snapshot of an image containing an object supplied from the object ROI extraction engine 42 and ROI specific information that identifies the ROI of interest, and a broker node. Supply to the ROI subscription broker 51 of 14A.
  • FIG. 31 shows an example of the snapshot supplied from the object ROI extraction engine 42 and the allocation of the attention area ROI.
  • the snapshot SNP in FIG. 31 includes objects OBJ1 to OBJ3 detected by the recognition process.
  • the objects OBJ1 to OBJ3 are, for example, vehicles having different colors and vehicle types.
  • ROI-ID-1 to ROI-ID-3 are assigned to the objects OBJ1 to OBJ3 as ROI identification information.
  • the ROI catalog generator 43 converts the attention area ROI-ID-1 to ROI-ID-3 into a global ROI-ID that uniquely identifies each of the objects OBJ1 to OBJ3.
  • the ROI catalog generator 43 supplies the ROI specific information including the snapshot SNP, the global ROI-ID for each object OBJ, and the object attribute information as the ROI catalog to the ROI subscription broker 51. ..
  • This ROI catalog relays the ROI subscription broker 51, the ROI subscription relay module 61, and the ROI subscription relay module 71, and notifies the ROI subscriber 81.
  • the ROI image filter 44 filters the frame image supplied from the event image sensor 41 based on the snapshot supplied from the object ROI extraction engine 42 and the ROI specific information for each object, and the frame image after the filtering process. Is supplied to the ROI image broker 52 of the broker node 14A.
  • the ROI event filter 45 filters the event image supplied from the event image sensor 41 based on the snapshot supplied from the object ROI extraction engine 42 and the ROI specific information for each object, and the event image after the filtering process. Is supplied to the ROI event broker 53 of the broker node 14A.
  • the ROI event filter 45 filters (extracts) the event images sequentially supplied from the event image sensor 41 so as to be the unit of interest region ROI specified by the ROI specific information, and the event image for each attention region ROI. Is supplied to the ROI event broker 53 as an event stream.
  • the image stream may be either an image stream for each attention area ROI or an image stream for the entire image, and in the case of each attention area ROI, the ROI image filter 44 may be used. Filtering (extracting) to the ROI unit of the area of interest, but in the case of an image stream of the entire image, the ROI image is used as an image stream as it is without filtering the frame images sequentially supplied from the event image sensor 41. Supply to the broker 52.
  • the ROI image filter 44 and the ROI event filter 45 cooperate with the object ROI extraction engine 42 to perform filter processing while tracking the objects. do.
  • the ROI subscription broker 51 of the broker node 14A transmits the ROI catalog supplied from the ROI catalog generator 43 to the ROI subscription relay module 61.
  • the ROI subscription broker 51 acquires the ROI subscription request supplied from the ROI subscriber 81 of each analysis device 12 via the ROI subscription relay module 61.
  • the ROI subscription request is a request for the ROI of interest region to which each analysis device 12 subscribes, and the subscription means that, in the present embodiment, the super-resolution image stream is continuously acquired. Therefore, the ROI subscription request is, in other words, a request for the region of interest ROI in which the analysis device 12 wants to continuously acquire the super-resolution image stream.
  • the ROI subscription request is configured to include the global ROI-ID of the region of interest ROI to be requested and the super-resolution requirement.
  • the super-resolution requirement is information indicating the resolution of the super-resolution image necessary and sufficient for the recognition process executed by the analysis device 12.
  • the super-resolution image is an image with improved time resolution. Therefore, for example, the frame rate [fps], which is the time resolution of the frame image output by the image sensor, and when the DVS detects an event. It is composed of the event sensitivity corresponding to the threshold value of the brightness value of.
  • the event sensitivity may be, for example, the event frequency (event density).
  • the ROI subscription broker 51 acquires a destination and a route for each attention area ROI of the image stream and the event stream from the orchestration module 91 of the orchestrator 14D, and supplies them to the ROI image broker 52 and the ROI event broker 53.
  • the ROI subscription broker 51 determines the frame rate (operating frame rate) of the image sensor and the DVS based on the super-resolution requirements for each attention region ROI of the ROI subscription request supplied from each of the plurality of analysis devices 12.
  • the event sensitivity (operation sensitivity) of is determined.
  • the determined frame rate is supplied to the ROI image filter 44 and the event image sensor 41 via the ROI image broker 52, and the event sensitivity is supplied to the ROI event filter 45 and the event image sensor via the ROI event broker 53. It is supplied to 41.
  • the ROI image broker 52 transfers the image stream supplied from the ROI image filter 44 to the required relay processing node 14B based on the destination and route for each attention area ROI of the image stream supplied from the ROI subscription broker 51. It is supplied to the ROI image relay module 62 of. When the delivered image stream is a stream of the whole image, the destination is not selected according to the attention area ROI.
  • the ROI event broker 53 sets the event stream supplied from the ROI image filter 44 to the required relay processing node 14B based on the destination and route for each attention region ROI of the event stream supplied from the ROI subscription broker 51. Supply to the ROI event relay module 63 of.
  • the ROI subscription relay module 61 of the relay processing node 14B relays the ROI catalog and the ROI subscription request. That is, the ROI subscription relay module 61 acquires the ROI catalog supplied from the ROI subscription broker 51 and supplies it to the ROI subscription relay module 71 of the super-resolution processing node 14C. Further, the ROI subscription relay module 61 acquires the ROI subscription request supplied from the ROI subscription relay module 71 and supplies it to the ROI subscription broker 51. When another relay processing node 14B intervenes between the relay processing node 14B and the super-resolution processing node 14C, the same operation is performed via the ROI subscription relay module 61 of the other relay processing node 14B. ..
  • the ROI image relay module 62 relays the entire image or the image stream of the ROI of interest. That is, the ROI image relay module 62 acquires the image stream of the entire image or the ROI of interest region supplied from the ROI image broker 52 and supplies it to the super-resolution processing module 72 of the super-resolution processing node 14C. When another relay processing node 14B intervenes between the relay processing node 14B and the super-resolution processing node 14C, the image stream of the entire image or the attention area ROI is the ROI image relay of the other relay processing node 14B. It is supplied to the module 62.
  • the ROI event relay module 63 relays the event stream of the attention area ROI. That is, the ROI event relay module 63 acquires the event stream of the attention region ROI supplied from the ROI event broker 53 and supplies it to the super-resolution processing module 72 of the super-resolution processing node 14C. When another relay processing node 14B intervenes between the relay processing node 14B and the super-resolution processing node 14C, the event stream of the attention region ROI is sent to the ROI event relay module 63 of the other relay processing node 14B. Be supplied.
  • the ROI event relay module 63 thins out and synthesizes the event stream of the attention region ROI as necessary based on the super-resolution requirement of the downstream route, and the event stream of the low-resolution attention region ROI with a low event frequency. Is generated and supplied to the super-resolution processing module 72 or another ROI event relay module 63.
  • the ROI subscription relay module 71 of the super-resolution processing node 14C relays the ROI catalog and the ROI subscription request in the same manner as the ROI subscription relay module 61 of the relay processing node 14B. That is, the ROI subscription relay module 71 acquires the ROI catalog supplied from the ROI subscription relay module 61 and supplies it to the ROI subscriber 81 of the analysis device 12. Further, the ROI subscription relay module 71 acquires the ROI subscription request supplied from the ROI subscriber 81 and supplies the ROI subscription relay module 61 to the ROI subscription relay module 61.
  • the super-resolution processing module 72 has an image stream of the entire image or the attention region ROI supplied from the ROI image relay module 62 of the relay processing node 14B and an event stream of the attention region ROI supplied from the ROI event relay module 63. Use to perform super-resolution processing.
  • the method of generating the super-resolution processing is not particularly limited. For example, the method used in Non-Patent Document 1 can be used.
  • the super-resolution processing module 72 supplies the super-resolution image stream (ROI super-resolution image stream) of the attention region ROI obtained by the super-resolution processing to the analysis module 82 of the analysis device 12.
  • the orchestration module 91 of the orchestrator 14D acquires the ROI catalog and the ROI subscription request from the ROI subscription relay module 61 of each relay processing node 14B. That is, the ROI catalog and ROI subscription request are acquired from the ROI subscription relay module 61 of each relay processing node 14B in the route in the network 13 between the sensor device 11 and a large number of distributed analysis devices 12. Will be done.
  • the orchestration module 91 determines the route from the sensor device 11 to each analysis device 12 for each attention area ROI based on the attention area ROI in which each analysis device 12 performs analysis processing from the ROI catalog and the ROI subscription request. , The ROI subscription relay module 61 of the relay processing node 14B, the ROI subscription broker 51 of the broker node 14A, and the like.
  • the orchestration module 91 includes a stream band (image stream band and event stream band for each attention area ROI) estimated from the ROI catalog from the sensor device 11 and an ROI subscription of the ROI subscription relay module 61 of each relay processing node 14B.
  • the stream band for each relay processing node 14B based on the information of the session request, the stream band of the ROI super-resolution image stream after the super-resolution processing is performed, and the resources required for the super-resolution processing node 14C (arithmetic processing).
  • the capacity, cache capacity, etc.) are comprehensively determined, and the relay processing node 14B on the downstream side as close to the analysis device 12 side as possible is determined to be the super-resolution processing node 14C.
  • the orchestration module 91 determines the super-resolution processing node 14C so that the total amount of the band of the transmission path of each stream passing through the network 13 is as small as possible.
  • the orchestration module 91 makes adjustments such as rearranging the super-resolution processing node 14C so that the traffic is optimally maintained while monitoring the sequential streaming status even after the transmission of each stream is started. ..
  • the orchestration module 91 In determining the placement of the super-resolution processing node 14C, the orchestration module 91 first with the analyzer 12 based on the number of analyzers 12 connected to the downstream path, the number of ROIs of interest, and the like. It is determined whether the connected node 14 is the super-resolution processing node 14C or the node 14 on the upstream side is the super-resolution processing node 14C.
  • the ROI subscriber 81 of the analyzer 12 refers to the ROI catalog supplied from the ROI catalog generator 43 of the sensor device 11 via the ROI subscription relay module 71 of the super-resolution processing node 14C, and generates an ROI subscription request. do. Specifically, the ROI subscriber 81 selects a region of interest ROI to be recognized by itself from among one or more regions of interest ROI included in the ROI super-resolution image based on the ROI catalog. The ROI subscriber 81 then generates a ROI subscription request that includes the global ROI-ID of the selected region of interest ROI and the super-resolution requirements. The generated ROI subscription request is notified to the ROI subscription broker 51 via the super-resolution processing node 14C and the relay processing node 14B.
  • the analysis module 82 is equipped with an AI engine that uses machine learning such as deep learning, acquires an ROI super-resolution image stream from the super-resolution processing module 72, and analyzes an image analysis process that analyzes the super-resolution image of the ROI of interest. I do. For example, the analysis module 82 performs processing such as identifying (recognizing) a person of the object OBJ included in the super-resolution image of the ROI of interest, and predicting (determining) the behavior (risk behavior) of the person.
  • each node 14 of the network 13 between the sensor device 11 and the plurality of analysis devices 12 has the broker node 14A, the relay processing node 14B, and the like, depending on the arrangement of the sensor device 11 and the plurality of analysis devices 12.
  • the node function of either the super-resolution processing node 14C or the orchestrator 14D is assigned, and each operation is executed.
  • Modules required for the node function to which each node 14 is assigned are searched from the application repository in the network 13 as needed and dynamically acquired.
  • Each node 14 shares the data acquired from the other node 14 with each module in the node 14, stores (caches) it internally for a certain period of time, and responds to a request from the node 14 newly joined to the network 13. It is possible to transmit each data such as an image stream, an event stream, a ROI catalog, and a super-resolution requirement that the user remembers.
  • FIG. 33 shows the super-resolution processing node 14C and the analysis device when the super-resolution processing node 14C is placed on the node 14 on the upstream side of the node 14 instead of the node 14 that is initially connected to the analysis device 12. 12 and a configuration example of the relay processing node 14B'between them are shown.
  • the relay processing node 14B'between the super-resolution processing node 14C and the analysis device 12 is used.
  • ROI subscription relay module 61 and ROI super-resolution stream relay module 101 are used.
  • the ROI image relay module 62 and the ROI event relay module 63 of the relay processing node 14B are replaced with the ROI super-resolution stream relay module 101.
  • the ROI is not the ROI image relay module 62 and the ROI event relay module 63 that relay the image stream and the event stream.
  • the ROI super-resolution stream relay module 101 that relays the super-resolution image stream is arranged.
  • ⁇ Modification example of sensor device and broker node> 34 and 35 show other configuration examples of the sensor device 11 and the broker node 14A.
  • the sensor device 11 includes an event image sensor 41, an object ROI extraction engine 42, a ROI catalog generator 43, an ROI image filter 44, and an ROI event filter 45.
  • Modules other than the image sensor 41 may be arranged in the broker node 14A.
  • FIG. 34 shows a configuration example in which the object ROI extraction engine 42 and the ROI catalog generator 43 are arranged on the broker node 14A.
  • the sensor device 11 includes an event image sensor 41, an ROI image filter 44, and an ROI event filter 45.
  • the broker node 14A includes modules of the object ROI extraction engine 42, the ROI catalog generator 43, the ROI subscription broker 51, the ROI image broker 52, and the ROI event broker 53.
  • FIG. 35 shows a configuration example in which all modules other than the event image sensor 41 are arranged on the broker node 14A.
  • the sensor device 11 includes an event image sensor 41.
  • the broker node 14A includes an object ROI extraction engine 42, an ROI catalog generator 43, an ROI image filter 44, a ROI event filter 45, a ROI subscription broker 51, a ROI image broker 52, and an ROI event broker 53.
  • FIGS. 34 and 35 show the configuration of the broker node 14A in FIG.
  • the module arrangements of FIGS. 30, 34, and 35 can also be realized by dynamically acquiring them from the application repository in the network 13 as needed.
  • FIG. 36 shows an example of network transmission of an image stream of the entire image and an event stream of each attention region ROI.
  • the frame image P12 is output at time T12
  • the frame image P13 is output at time T13
  • the network 13 is transmitted.
  • the event images E11 to E21 show the event images of the predetermined region of interest ROI generated between the time T11 and the time T13. Movement occurs in the object OBJ corresponding to the area of interest ROI, and the positions of the event images E11 to E21 are different each time an event is detected.
  • image data and event data of the entire area 111 corresponding to the event images E11 to E16 are required.
  • the image data of the entire area 111 corresponding to the event images E11 to E16 is included in the transmitted image data because the transmitted image data is an image stream of the entire image.
  • the ROI event filter 45 cooperates with the object ROI extraction engine 42 to detect or predict the movement of the object OBJ, and also transmits past event images related to the object area after movement.
  • the ROI event filter 45 sets the event image E12.
  • the event data of the area 121 of the past event related to the area of is also transmitted together with the event image E12.
  • the event data of the entire area 111 corresponding to the event images E11 to E16 can be transmitted, and the super-resolution processing node 14C can perform the super-resolution processing. ..
  • the movement of the object OBJ is detected or predicted, and the past event images related to the moved object area are transmitted, so that the event images E16 to E16 to E21 are transmitted.
  • the event data of the entire area 112 corresponding to E21 is transmitted to the super-resolution processing node 14C.
  • FIG. 38 shows an example of network transmission for both the image stream and the event stream in units of attention area ROI.
  • the event images E11 to E21 detected during the period from time T11 to time T13 are the same as those in FIG. 36.
  • the image data is the same as the event data.
  • the partial image Pr11 corresponding to the entire area 111 corresponding to the event images E11 to E16 is required.
  • the ROI event filter 45 sets the time T12, and when the entire area 111 corresponding to the event images E11 to E16 is determined, the partial image Pr11 corresponding to the entire area 111 and the entire area corresponding to the event images E11 to E16 are determined.
  • the event data corresponding to 111 is transmitted. In this case, the image stream and the event stream in units of the ROI of interest are transmitted with a long period T delay.
  • the partial image Pr12 corresponding to the entire area 112 and the event Event data corresponding to the entire area 112 corresponding to the images E16 to E21 is transmitted.
  • the transmission method of FIG. 38 is useful when it is desired to suppress the bandwidth of the image stream even if the transfer is slightly slowed down.
  • the image stream and the event stream are transmitted to the super-resolution processing node 14C by the transmission method of FIG. 36 or FIG. 38, and the super-resolution processing is executed in the super-resolution processing node 14C, and then the super-resolution processing is performed.
  • An example of the ROI super-resolution stream output from the processing node 14C is shown.
  • super-resolution images F11 to F21 are generated according to the generation timing of the event images E11 to E21 in FIGS. 36 and 38, and are transmitted as an ROI super-resolution stream.
  • ROI event stream decimation synthesis process Next, the thinning-out synthesis of the event stream performed by the ROI event relay module 63 will be described.
  • the ROI event relay module 63 can thin out and synthesize the event stream of the ROI of interest region as necessary based on the super-resolution requirement of the downstream route, and transmit the combined event stream.
  • FIG. 40 shows time-series data (event sequence) of event data of a predetermined one pixel of DVS.
  • DVS for example, a voltage signal corresponding to the logarithmic value of the amount of received light incident on each pixel is detected as a pixel signal. Then, DVS outputs "+1" indicating a positive luminance change when the luminance change represented by the pixel signal changes brightly beyond a predetermined threshold value Th, and when the luminance change exceeds a predetermined threshold value Th and becomes dark. , "-1" indicating the change in luminance in the negative direction is output.
  • Event data is represented in the following format called, for example, AER (Address-Event Representation) format.
  • e (x, y, ts, p) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ (1)
  • x and y represent the coordinates of the pixel in which the luminance change occurs
  • ts represents the time stamp corresponding to the time when the luminance change occurs
  • p represents the polarity (positive direction or or) of the luminance change. Negative direction).
  • the event column EV2 after the thinned out synthesis is shown in FIG. 40.
  • the ROI event relay module 63 generates, for example, the event column EV2 after thinning synthesis from the event column EV1 before thinning synthesis by integrating two event data adjacent to each other in the time direction.
  • the event sequence EV1 before decimation synthesis can also be expressed.
  • thinning synthesis method a method other than accumulating a plurality of event data adjacent to each other in the time direction may be adopted.
  • FIG. 41 shows an example before and after decimation synthesis of the event stream of a predetermined region of interest ROI.
  • the event stream before thinning synthesis at times T41 to T42 is composed of, for example, event images E41 to E52.
  • the event stream after decimation synthesis at times T41 to T42 is composed of, for example, event images E41', E43', E46', E49', E52'.
  • the image stream is composed of a frame image P41 at time T41 and a frame image P42 at time T42.
  • the ROI subscriber 81 of the analysis device 12 subscribes to the ROI of the broker node 14A via the ROI subscription relay module 61 of the relay processing node 14B.
  • the process of participating in the multicast for the ROI catalog for acquiring the ROI catalog issued by the broker 51 is being performed.
  • step S1 the sensor device 11 takes a snapshot when it detects an event. Specifically, when the DVS of the sensor device 11 detects an event, the object ROI extraction engine 42 is started and the image sensor is made to take an image. Then, the frame image captured by the image sensor is supplied to the object ROI extraction engine 42 as a snapshot.
  • step S2 the sensor device 11 executes a process of recognizing an object based on the acquired snapshot, and assigns a ROI of interest to each recognized object. Further, the sensor device 11 generates an ROI catalog based on the snapshot and the ROI specific information that identifies the ROI of the region of interest, and notifies the analysis device 12. The ROI catalog is transmitted to the analysis device 12 via the broker node 14A and one or more relay processing nodes 14B.
  • the analysis device 12 acquires and refers to the ROI catalog notified from the sensor device 11, and selects the region of interest ROI to be recognized by itself. Then, the analysis device 12 generates a ROI subscription request for the selected region of interest ROI and notifies the broker node 14A via one or more relay processing nodes 14B.
  • the ROI subscription request is a request to continuously acquire the super-resolution image stream of the attention region ROI to be recognized and processed by itself.
  • the ROI subscription request includes the global ROI-ID of the selected area of interest ROI and the super-resolution requirements.
  • the orchestrator 14D acquires the ROI catalog and ROI subscription request relayed by each relay processing node 14B in step S4.
  • the orchestrator 14D is located on the analyzer 12 side as much as possible based on the stream band estimated from the ROI catalog and the stream band of the ROI super-resolution image stream after the super-resolution processing is performed on each relay processing node 14B.
  • the relay processing node 14B on the downstream side close to the above is determined to be the super-resolution processing node 14C and notified.
  • step S5 the relay processing node 14B notified that it is the super-resolution processing node 14C has a module required for the super-resolution processing node 14C, specifically, the super-resolution processing module 72 in the network 13. Obtained from the application repository.
  • the relay processing node 14B on the downstream side which is a predetermined one node 14 in the network 13 between the sensor device 11 and the analysis device 12 and is as close to the analysis device 12 side as possible, is super-generated. It operates as a resolution processing node 14C.
  • step S6 the broker node 14A determines the frame rate of the image sensor and the DVS based on the super-resolution requirement for each ROI of interest included in the ROI subscription request supplied from each of the plurality of analysis devices 12. The event sensitivity of is determined and notified to the sensor device 11.
  • steps S4 and S5 and step S6 can be executed in parallel.
  • step S7 the sensor device 11 takes an image at a frame rate with a long cycle, transmits an image stream of the entire image generated as a result to the super-resolution processing node 14C, and detects an event for each recognized object. Then, the event stream for each ROI in the region of interest is transmitted to the super-resolution processing node 14C.
  • the objects contained in the frame image and the event image are tracked according to the movement.
  • the image stream of the entire image and the event stream for each attention area ROI are transferred to the super-resolution processing node 14C via the broker node 14A and one or more relay processing nodes 14B.
  • step S8 the predetermined relay processing node 14B of the intermediate route thins out and synthesizes the event stream of the ROI of interest region as necessary based on the super-resolution requirement of the downstream route, and has a low resolution with a low event frequency.
  • the event stream of the attention area ROI is generated and transferred to the next relay processing node 14B or super-resolution processing node 14C.
  • step S9 the super-resolution processing node 14C executes super-resolution processing using the image stream of the entire image and the event stream of the attention region ROI, and performs super-resolution processing, and the super-resolution image stream of the attention region ROI (ROI super-resolution). Image image stream) is generated. The generated ROI super-resolution image stream is transmitted to the analyzer 12.
  • the relay processing node 14B' Intervenes between the super-resolution processing node 14C and the analysis device 12.
  • the ROI super-resolution image stream is transferred from the relay processing node 14B'to the analysis device 12.
  • the analysis device 12 acquires the ROI super-resolution image stream and performs an image analysis process for analyzing the super-resolution image of the ROI of interest. For example, the analysis device 12 performs processing such as identifying (recognizing) a person of the object OBJ included in the super-resolution image of the ROI of interest, and predicting (determining) the behavior (risk behavior) of the person.
  • Each device of the image analysis network system 1 executes the super-resolution image analysis process as described above. As a result, the super-resolution image stream can be efficiently transmitted over the network.
  • the flow after the analysis device 12 executes the image analysis process is omitted, for example, the analysis result is transmitted to a predetermined data server or the like that collects the analysis result.
  • step S21 of FIG. 43 when the event / image sensor 41 of the sensor device 11 detects an event, the object ROI extraction engine 42 is started.
  • step S22 the event image sensor 41 takes an image and supplies the frame image obtained as a result to the object ROI extraction engine 42 as a snapshot.
  • step S23 the object ROI extraction engine 42 executes an object recognition process based on the snapshot from the event image sensor 41, and assigns the attention area ROI to each recognized object. Then, the object ROI extraction engine 42 notifies the ROI catalog generator 43 of a snapshot when the object is specified and ROI specific information for specifying the attention area ROI assigned to each object.
  • the ROI catalog generator 43 generates an ROI catalog based on the snapshot supplied from the object ROI extraction engine 42 and the ROI specific information, and notifies the ROI subscription broker 51 of the broker node 14A.
  • the ROI catalog consists of snapshots and ROI specific information for each object, which contains the global ROI-ID and object attribute information.
  • the ROI catalog notified to the ROI subscription broker 51 is supplied to the ROI subscriber 81 of each analysis device 12 via the ROI subscription relay module 61 of one or more relay processing nodes 14B.
  • the ROI subscriber 81 of each analysis device 12 determines the attention region ROI to be recognized and processed by itself among the one or more attention region ROIs based on the ROI catalog supplied from the ROI catalog generator 43 of the sensor device 11. select.
  • the ROI subscriber 81 then generates a ROI subscription request that includes the global ROI-ID of the selected region of interest ROI and the super-resolution requirements.
  • the generated ROI subscription request is notified to the ROI subscription broker 51 of the broker node 14A via the ROI subscription relay module 61 of one or more relay processing nodes 14B.
  • step S41 of FIG. 44 the orchestration module 91 of the orchestrator 14D acquires the ROI catalog and the ROI subscription request transmitted by the ROI subscription relay module 61 of each relay processing node 14B. Then, the orchestration module 91 executes the path from the sensor device 11 to each analysis device 12 for each attention area ROI and the super-resolution processing based on the attention area ROI performed by each analysis device 12.
  • the resolution processing node 14C is determined.
  • the relay processing node 14B determined by the super-resolution processing node 14C existing in the path from the sensor device 11 to each analysis device 12 acquires the super-resolution processing module 72 from the application repository in the network 13.
  • the determined route is notified to the ROI subscription relay module 61 of the relay processing node 14B and the ROI subscription broker 51 of the broker node 14A.
  • the determined route is also notified from the ROI subscription relay module 61 to the ROI image relay module 62 and the ROI event relay module 63 at the relay processing node 14B, and from the ROI subscription broker 51 to the ROI image broker at the broker node 14A.
  • 52 and ROI event broker 53 are also notified.
  • the ROI subscription broker 51 uses an image sensor based on the super-resolution requirement for each region of interest ROI included in the ROI subscription request notified from the ROI subscriber 81 of each of the plurality of analyzers 12.
  • the frame rate is determined and notified to the ROI image filter 44 and the event image sensor 41 of the sensor device 11 via the ROI image broker 52.
  • the ROI subscription broker 51 determines the event sensitivity of the DVS based on the super-resolution requirement for each region of interest ROI included in the ROI subscription request, and via the ROI event broker 53, Notify the ROI event filter 45 and the event image sensor 41 of the sensor device 11.
  • step S44 the event image sensor 41 of the sensor device 11 performs long-period imaging to generate a frame image, and supplies the frame image of the entire image to the ROI image filter 44.
  • step S45 the ROI image filter 44 filters the frame image of the entire image supplied from the event image sensor 41 as necessary, and supplies it to the ROI image broker 52 of the broker node 14A.
  • the image stream may be transmitted as an entire image or in units of attention area ROI, and when transmitted in units of interest area ROI, the ROI image filter 44 may use the object ROI extraction engine 42.
  • the frame image of the entire image is filtered by the attention area ROI unit, and the attention area image after the filtering process is sent to the ROI image broker 52 of the broker node 14A.
  • Supply When transmitted as a whole image, the unfiltered frame image of the whole image is fed to the ROI image broker 52 of the broker node 14A.
  • step S46 the event image sensor 41 detects an event, generates an event image, and supplies the event image to the ROI event filter 45.
  • the ROI event filter 45 filters the event image supplied from the event image sensor 41 based on the snapshot supplied from the object ROI extraction engine 42 and the ROI specific information for each object in step S47, and performs filtering processing.
  • the later event image is supplied to the ROI event broker 53 of the broker node 14A.
  • steps S44 and S45 for the frame image and the processing of steps S46 and S47 for the event image can be executed in parallel.
  • Frame images are sequentially generated at regular intervals (long periods) and supplied to the ROI image broker 52 as an image stream.
  • the event image is sequentially generated for each event detection and supplied to the ROI event broker 53 as an event stream.
  • the ROI event broker 53 transfers the event stream supplied from the ROI image filter 44 to the ROI event relay module 63 of the relay processing node 14B based on the route for each ROI in the region of interest. do.
  • the ROI event relay module 63 relays the event stream of the attention area ROI in step S62. Further, the ROI event relay module 63 thins out and synthesizes the event stream of the attention region ROI as necessary based on the super-resolution requirement of the downstream route, and the event stream of the low-resolution attention region ROI with a low event frequency. Is generated and supplied to the super-resolution processing module 72.
  • the ROI image broker 52 supplies the image stream supplied from the ROI image filter 44 to the ROI image relay module 62 of the relay processing node 14B based on the route for each ROI in the region of interest.
  • the ROI image relay module 62 further relays the transmitted whole image or the image stream of the attention area ROI and transfers it to the super-resolution processing module 72.
  • the super-resolution processing module 72 has the image stream of the entire image or the attention region ROI supplied from the ROI image relay module 62 of the relay processing node 14B and the attention region ROI supplied from the ROI event relay module 63. Perform super-resolution processing using the event stream. Then, the super-resolution processing module 72 supplies the super-resolution image stream (ROI super-resolution image stream) of the attention region ROI obtained by the super-resolution processing to the analysis module 82 of the analysis device 12.
  • the super-resolution image stream ROI super-resolution image stream
  • the analysis module 82 acquires the ROI super-resolution image stream from the super-resolution processing module 72, and performs image analysis processing for analyzing the super-resolution image of the ROI of interest. For example, the analysis module 82 performs processing such as identifying (recognizing) a person of the object OBJ included in the super-resolution image of the ROI of interest, and predicting (determining) the behavior (risk behavior) of the person.
  • Each module of the image analysis network system 1 executes the super-resolution image analysis process as described above. As a result, the super-resolution image stream can be efficiently transmitted over the network.
  • the image stream and event stream delivered by multicast in units of attention area ROI consist of two transport channels, the image stream channel and the event stream channel.
  • FIG. 46 is a diagram showing the formats of the image stream channel and the event stream channel.
  • the image stream channel is a plurality of channels according to the number of attention area ROIs when transmitting image data for each attention area ROI, but is one channel when transmitting image data of the entire image. Become.
  • the image stream channel is composed of a plurality of image packet groups corresponding to each time, and each image packet group is composed of one or more image packets.
  • the event stream channel is composed of a plurality of event packet groups corresponding to each time, and each event packet group is composed of one or more event packets.
  • the image packet consists of an image packet header and an image packet payload.
  • the image packet header includes the global ROI-ID, Packet Sequence Number, and Capture Time.
  • PacketSequenceNumber is a unique number assigned to each packet payload, and is periodically reset to zero with a sufficient length.
  • the event packet consists of an event packet header and an event packet payload.
  • the event packet header includes the global ROI-ID, Packet Sequence Number, and Reference Capture Time.
  • ReferenceCaptureTime represents the CaptureTime of the referenced image packet.
  • the image stream referenced by each of the plurality of event stream channels is shared, so that the reference of the event packet transferred in different event stream channels is used.
  • a global ROI-ID indicating the entire image stream of the sharing destination is added to ImageCaptureTime.
  • FIG. 47 is a diagram showing the format of the event packet payload.
  • event packet payload for example, a plurality of event data are stored in the AER format represented by "e” in the above formula (1) or the extended AER format represented by “ce” in the formula (2). Will be done.
  • the format of the event data stored in the event packet payload is not limited to the AER format or the extended AER format, and may be any other format. For example, it may be stored in a format called an event frame, Time Surface, or the like.
  • the event packet payload may contain event data encoded in the format represented by the event data format identifier, along with an event data format identifier (unique URL) that identifies the format of the event data. Further, the event data format identifier may be stored in the event packet header.
  • the global ROI-ID for each packet can be omitted. ..
  • the global ROI-ID correspond to the IP multicast address, or make the global ROI-ID correspond to the label of the lower layer (MPLS (Multi Protocol Label Switching) label, ⁇ (wavelength) in GMPLS (Generalized MPLS), etc.). You can also do it.
  • MPLS Multi Protocol Label Switching
  • wavelength
  • GMPLS Generalized MPLS
  • the ROI subscription broker 51 reserves resources on the network 13 with the required QoS class according to the forwarding requirements when establishing the route between the image stream channel and the event stream channel. For example, the required bandwidth is secured according to the bandwidth requirement of each link of the multicast tree between the relay processing nodes 14B formed according to the super-resolution requirement.
  • the ROI subscription broker 51 controls so that the related packets of the image stream channel and the event stream channel are transferred synchronously so as to be processed at the timing of super-resolution processing.
  • the ROI subscription broker 51 assigns a priority to the attention area ROI according to the magnitude of the subscription request for each attention area ROI, and determines the priority. Assign the QoS class from the highest to the highest quality (low latency, low error rate, wide bandwidth, etc.).
  • the ROI super-resolution image stream transmitted between the super-resolution processing module 72 of the super-resolution processing node 14C and the analysis module 82 of the analysis device 12 is transmitted by the image stream channel of FIG. 46, and the ROI super-resolution is transmitted.
  • the image data of the super-resolution image of the image-processed attention area ROI is divided, stored in the image packet payload of the image packet, and transferred.
  • the series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed in the computer.
  • the computer includes a microcomputer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 48 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • a CPU Central Processing Unit
  • ROM ReadOnlyMemory
  • RAM RandomAccessMemory
  • the input / output interface 305 is further connected to the bus 304.
  • An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
  • the input unit 306 includes a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 307 includes a display, a speaker, an output terminal, and the like.
  • the storage unit 308 includes a hard disk, a RAM disk, a non-volatile memory, and the like.
  • the communication unit 309 includes a network interface and the like.
  • the drive 310 drives a removable recording medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 301 loads the program stored in the storage unit 308 into the RAM 303 via the input / output interface 305 and the bus 304, and executes the above-mentioned series. Is processed.
  • the RAM 303 also appropriately stores data and the like necessary for the CPU 301 to execute various processes.
  • the program executed by the computer (CPU301) can be recorded and provided on a removable recording medium 311 as a package medium or the like, for example. Programs can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasts.
  • the program can be installed in the storage unit 308 via the input / output interface 305 by mounting the removable recording medium 311 in the drive 310. Further, the program can be received by the communication unit 309 via a wired or wireless transmission medium and installed in the storage unit 308. In addition, the program can be installed in the ROM 302 or the storage unit 308 in advance.
  • the program executed by the computer may be a program in which processing is performed in chronological order according to the order described in the present specification, in parallel, or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • this technology can take a cloud computing configuration in which one function is shared by multiple devices via a network and processed jointly.
  • each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • the present technology can have the following configurations.
  • ⁇ 1> The network connection device From among the devices in the path in the network from the sensor device to the plurality of image processing devices, the image of the attention region unit included in the image generated by the sensor device is super-resolution processed to super-resolution the attention region.
  • a network control method that determines the super-resolution processing node that produces the resolution image.
  • ⁇ 2> The network control according to ⁇ 1>, wherein the super-resolution processing node generates a super-resolution image of the region of interest from a frame image of a fixed period generated by the sensor device and an event image generated at random.
  • ⁇ 3> The stream data of the frame image and the stream data of the event image are transmitted from the sensor device to the super-resolution processing node.
  • the network control method according to ⁇ 2>, wherein the stream data of the super-resolution image in the region of interest is transmitted from the super-resolution processing node to the image processing device.
  • ⁇ 4> The network control method according to ⁇ 3>, wherein each device in the route in the network filters the event image based on the requirements of the downstream route, and supplies stream data of the event image after filtering.
  • ⁇ 5> The network control method according to any one of ⁇ 1> to ⁇ 4>, wherein each device in the route in the network caches the relayed data.
  • the network connection device is described in any one of ⁇ 1> to ⁇ 5>, which determines the super-resolution processing node based on the super-resolution image of the region of interest requested by each of the plurality of image processing devices. How to control your network.
  • the network connection device is a relay processing node based on the stream band estimated from the attention area identification information for specifying the attention area included in the image and the information of the attention area requested by each of the plurality of image processing devices. Described in any one of ⁇ 1> to ⁇ 6>, which determines the super-resolution processing node based on the stream band and the stream band of the super-resolution image after the super-resolution processing is performed. How to control your network.
  • the network connection device is one of the above ⁇ 1> to ⁇ 7> that determines the super-resolution processing node based on the number of the image processing devices and the number of the attention regions included in the image.
  • ⁇ 9> The network control method according to any one of ⁇ 1> to ⁇ 8>, wherein the network connection device determines at least a device closer to the image processing device than the sensor device as the super-resolution processing node.
  • the super-resolution processing node is a device in the network that is first connected to the image processing device.
  • ⁇ 11> The network according to any one of ⁇ 1> to ⁇ 10>, wherein the image processing apparatus requires the sensor device to have the area of interest to be processed and super-resolution requirements necessary and sufficient for its own processing.
  • ⁇ 12> The super-resolution requirement is described in any one of ⁇ 1> to ⁇ 11>, which is composed of a frame rate of a frame image generated by the sensor device and an event sensitivity of an event image generated by the sensor device. How to control the network.
  • ⁇ 13> The network control method according to any one of ⁇ 1> to ⁇ 12>, wherein the device determined to be the super-resolution processing node acquires a module for performing the super-resolution processing from a repository in the network. ..
  • ⁇ 14> The network control method according to any one of ⁇ 1> to ⁇ 13>, wherein the sensor device includes an image sensor and an event sensor.
  • the image of the attention region unit included in the image generated by the sensor device is super-resolution processed to super-resolution the attention region.
  • the present disclosure may have the following structure.
  • the network connection device A network control method that uses a manifest to determine the best location to run an application that processes sensor data generated by a sensor device from among the sensor devices and devices in the path within the network connected to them. .. ⁇ 2> The network control method according to ⁇ 1>, wherein the network connection device is determined based on the evaluation axis for arranging the application described in the manifest and the priority of application arrangement in that case.
  • the manifest includes a processing delay due to a network transfer delay as the evaluation axis.
  • the manifest includes traffic of the network as the evaluation axis.
  • ⁇ 5> The network control method according to any one of ⁇ 2> to ⁇ 4>, wherein the manifest includes the processing speed of the application as the evaluation axis.
  • ⁇ 6> The network control method according to any one of ⁇ 2> to ⁇ 5>, wherein the manifest includes the execution cost of the application as the evaluation axis.
  • ⁇ 7> The network control method according to any one of ⁇ 2> to ⁇ 6>, wherein the manifest includes a storage cost as the evaluation axis.
  • ⁇ 8> The network control method according to any one of ⁇ 2> to ⁇ 7>, wherein the manifest includes the reusability of the sensor data as the evaluation axis.
  • ⁇ 9> The network control method according to any one of ⁇ 2> to ⁇ 8>, wherein the manifest includes, as the evaluation axis, whether to execute the preprocessing before executing the present processing corresponding to the requested service.
  • the network connection device determines the optimum location of the application that executes the present processing corresponding to the requested service and the application that executes the preprocessing of the main processing as the application ⁇ 1> to ⁇ 9>.
  • the network control method described in any of the above. ⁇ 11> The network control method according to ⁇ 10>, wherein the pre-processing is a process of compressing the uncompressed sensor data.
  • ⁇ 12> The network control method according to ⁇ 10>, wherein the pre-processing is a processing individualized according to the content of the main processing.
  • the network connection device arranges a plurality of applications for executing the preprocessing in front of the application for executing the present processing.
  • the application placement priority is the priority of the sensor device, the edge cloud, and the center cloud as the application placement location.
  • the network connection device performs super-resolution processing of the image of the region of interest included in the image generated by the sensor device from among the devices in the path in the network from the sensor device to the plurality of image processing devices.
  • the network control method according to any one of ⁇ 1> to ⁇ 14>, wherein an optimum place for executing an application for generating a super-resolution image of the region of interest is determined.
  • It is equipped with an orchestrator that determines based on the manifest the best place to execute an application that processes the sensor data generated by the sensor device from among the sensor device and the devices in the path in the network connected to the sensor device. Data processing system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本開示は、ネットワーク内のトラフィックを削減するとともに、データ処理するアプリケーションの処理負荷を低減させるようにするネットワークの制御方法、および、データ処理システムに関する。 ネットワーク接続装置が、センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定する。本技術は、例えば、クラウドコンピューティングのネットワーク制御方法に適用できる。

Description

ネットワークの制御方法、および、データ処理システム
 本開示は、ネットワークの制御方法、および、データ処理システムに関し、特に、ネットワーク内のトラフィックを削減するとともに、データ処理するアプリケーションの処理負荷を低減させるようにしたネットワークの制御方法、および、データ処理システムに関する。
 本出願人は、特許文献1において、同期型のイメージセンサと非同期型のDVSとを組み合わせて用いた物体検出システムを先行して提案している。同期型のイメージセンサは、垂直同期信号に同期して撮像を行い、その垂直同期信号の周期で1フレーム(画面)の画像データであるフレームデータを出力するセンサである。DVSは、Dynamic Vision Sensorの略称であり、画素の輝度変化をイベントとして、イベントが発生した場合に、イベントの発生を表すイベントデータを出力するセンサである。DVSは垂直同期信号に依らずにイベントが発生したタイミングでイベントデータを出力するため、非同期型(又はアドレス制御型)のイメージセンサということができる。
 DVSからは、予測不可能かつ突発的にイベントデータが出る。イベントデータは遅延なく使えなければならないため時間粒度が極めて細かいデータとなっている。DVSから生成された大量のデータを、見境なくネットワークに注入すると、ネットワークのキャパシティに制限があるとすると、ネットワークが破綻し、本当に必要なデータが正しく処理できない可能性がある。ネットワークのキャパシティに制限がないとしても、ネットワーク上でデータ処理を行う計算資源が破綻する。すなわち、必要のない無駄な処理に計算資源が浪費される。したがって、ネットワークやネットワーク上の計算資源に負担をかけないため、イベントデータに対する何らかのフィルタリングを行ってからネットワークに注入しなければならない。
国際公開第2020/195769号
 このフィルタリングを、センサデータを生成するセンサデバイスだけで行うと、ネットワークそのものに負担をかけずに済むが、貧弱な計算資源のため、フィルタリングの精度に限界がある。センサデータをクラウド(ネットワーク)へ渡して、フィルタリングをクラウド内だけで行うと、クラウド上の豊富な計算資源を用いることができ、フィルタリングの精度を上げることができる。しかしながら、フィルタリング処理されないセンサデータをネットワーク上へ上げることになるので、計算資源をクラウド上の装置に分散させただけで、ネットワーク内を流れるデータの総量は変わらず、ネットワークやネットワーク上の計算資源の負担を減らすことができない。
 本開示は、このような状況に鑑みてなされたものであり、ネットワーク内のトラフィックを削減するとともに、データ処理するアプリケーションの処理負荷を低減させることができるようにするものである。
 本開示の第1の側面のネットワークの制御方法は、ネットワーク接続装置が、センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定する。
 本開示の第2の側面のデータ処理システムは、センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定するオーケストレータを備える。
 本開示の第1および第2の側面においては、センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所が、マニフェストに基づいて決定される。
 ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。
 なお、本開示の第1の側面のネットワークの制御方法および第2の側面のデータ処理システムは、コンピュータにプログラムを実行させることにより実現することができる。コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 データ処理システムは、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本開示を適用した一実施の形態であるデータ処理システムの構成例を示す図である。 オーケストレータによるマニフェストの取得を説明する図である。 図1のデータ処理システムによるアプリケーション配置制御を説明するフローチャートである。 アプリケーションの配置方針を説明する図である。 前処理として圧縮処理を行う場合のアプリケーションの配置方針を説明する図である。 前処理として圧縮処理を行う場合のアプリケーションの配置方針を説明する図である。 図5と図6のアプリケーション配置例を比較して示す図である。 個別化処理を多段配置した場合のアプリケーションの配置方針を説明する図である。 個別化処理を多段配置した場合のアプリケーションの配置方針を説明する図である。 再利用性を重視する場合のアプリケーションの配置方針を説明する図である。 再利用性を重視する場合のアプリケーションの配置方針を説明する図である。 アプリケーション配置する際の評価軸と、その場合のアプリケーション配置の優先順位をまとめた図である。 クラウドコンピューティングの構成例を示す図である。 DVSのイベントデータを利用して超解像画像を生成する例を示す図である。 本技術を適用した画像処理システムの実施の形態である画像解析ネットワークシステムの構成例を示す図である。 図15の画像解析ネットワークシステムのアプリケーション適用例を示す図である。 図15の画像解析ネットワークシステムのアプリケーション適用例を示す図である。 上流からROI超解像イメージストリームを配信する第1の例を示す図である。 上流からROI超解像イメージストリームを配信する第1の例を示す図である。 解析装置の分解能に応じたROI超解像イメージストリームの例を示す図である。 上流からROI超解像イメージストリームを配信する第2の例を示す図である。 上流からROI超解像イメージストリームを配信する第3の例を示す図である。 上流からROI超解像イメージストリームを配信する第4の例を示す図である。 上流からROI超解像イメージストリームを配信する例を示す図である。 図15の画像解析ネットワークシステムが行うROI超解像イメージストリームの配信例を示す図である。 図25の配信例の詳細を示す図である。 イベントストリームが間引かれて伝送される例を示す図である。 図25の配信例の詳細を示す図である。 各注目領域ROIのストリームの伝送経路を示した図である。 図15の画像解析ネットワークシステムの構成例を示すブロック図である。 スナップショットと注目領域ROIの割り当ての例を示す図である。 ROIサブスクリプションリクエストを説明する図である。 超解像処理ノードが解析装置の1つ上流側のノードに配置された場合の構成例を示すブロック図である。 センサデバイスとブローカーノードのその他の構成例を示すブロック図である。 センサデバイスとブローカーノードのその他の構成例を示すブロック図である。 注目領域ROI単位のイベントストリームの第1のネットワーク伝送例を示す図である。 注目領域ROI単位のイベントストリームの第1のネットワーク伝送例を示す図である。 注目領域ROI単位のイベントストリームの第2のネットワーク伝送例を示す図である。 ROI超解像ストリームの例を示す図である。 イベントデータの間引き合成を説明する図である。 間引き合成前と間引き合成後の注目領域ROIのイベントストリームの例を示す図である。 超解像画像解析処理の装置間の流れを説明するフローチャートである。 超解像画像解析処理のモジュール間の流れを説明するフローチャートである。 超解像画像解析処理のモジュール間の流れを説明するフローチャートである。 超解像画像解析処理のモジュール間の流れを説明するフローチャートである。 ストリームの伝送フォーマット例を示す図である。 イベントパケットペイロードのフォーマット例を示す図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、添付図面を参照しながら、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、本明細書において、「および/または」の記載は、「および」と「または」の両方を取り得ることを意味する。また、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。説明は以下の順序で行う。
1.データ処理システムの構成例
2.アプリケーション配置制御のフローチャート
3.最適配置の評価軸と配置方針
4.クラウドコンピューティングの構成例
5.DVSデータを用いた超解像ストリーム
6.超解像画像を用いた画像解析ネットワークシステム
7.ストリーム配信方法の例
8.画像解析ネットワークシステムが行うストリーム配信方法の例
9.画像解析ネットワークシステムのブロック図
10.イメージストリームとROIイベントストリームの例
11.ROIイベントストリームの間引き合成処理
12.画像解析ネットワークシステムの処理の流れ
13.ストリームの伝送フォーマットの例
14.コンピュータ構成例
<1.データ処理システムの構成例>
 図1は、本開示を適用した一実施の形態であるデータ処理システムの構成例を示している。
 図1のデータ処理システム500は、センサ511がセンシングにより生成したセンサデータをクラウド521へ送信(アップリンク)し、センサデータに対する所定のデータ処理をクラウド521上で行うネットワークシステムである。クラウド521上で実行されるデータ処理は、クラウド521で提供されるサービスに応じて決定される。例えば、センサ511がイメージセンサである場合、イメージセンサで生成された画像の認識処理や解析処理が、クラウド521上で実行される。
 センサ(Sensor)511は、例えば、同期型のイメージセンサ、非同期型のDVSなどで構成され、センシングにより生成したセンサデータを、エッジデバイス512へ供給するセンサデバイスである。同期型のイメージセンサは、垂直同期信号に同期して撮像を行い、その垂直同期信号の周期で1フレーム(画面)の画像データであるフレームデータを出力するセンサである。DVSは、画素の輝度変化をイベントとして、イベントが発生したタイミングに応じて非同期に、イベントの発生を表すイベントデータを出力するセンサである。
 なお、本実施の形態では、センサ511が、同期型のイメージセンサまたは非同期型のDVSのいずれか一方または両方を備えるセンサデバイスであるとして説明するが、センサ511は、イメージセンサに限定されず、その他のセンサデバイスであってもよい。センサ511の例としては、例えばIoT(Internet of Things)センサとして用いられるような、加速度センサ、ジャイロセンサ、磁気センサ、臭気センサ、気圧センサ、温度センサ、湿度センサ、風速センサ、光センサ(RGBセンサ、IRセンサなど)、GPSセンサなどが挙げられる。
 エッジデバイス(Edge Device)512は、外部デバイスとしてのセンサ511を接続するデータ処理装置であり、例えばサーバ装置で構成される。エッジデバイス512は、センサ511から供給されるセンサデータを処理するアプリケーションを実行できるアプリケーションプラットフォーム(Application Platform)531を実装している。例えば、センサ511でキャプチャされたイメージデータを解析する処理等を行うアプリケーションが、アプリケーションプラットフォーム531上で実行される。アプリケーションプラットフォーム531は、その上で実行される複数のアプリケーションを管理する機能も有している。
 センサ511は、エッジデバイス512の外部デバイスとしてエッジデバイス512と接続される場合もあれば、エッジデバイス512の一部として一体に組み込まれている場合もある。以下では、センサ511とエッジデバイス512を、まとめて、センサ/エッジ513と称して説明する。
 クラウド521は、複数のノードと、それらを接続するネットワークで構成される。ネットワークは、例えば、インターネット、公衆電話回線網、所謂4G回線や5G回線等の無線移動体用の広域通信網、WAN(Wide Area Network)、LAN(Local Area Network)、Bluetooth(登録商標)規格に準拠した通信を行う無線通信網、NFC(Near Field Communication)等の近距離無線通信の通信路、赤外線通信の通信路、HDMI(登録商標)(High-Definition Multimedia Interface)やUSB(Universal Serial Bus)等の規格に準拠した有線通信の通信網等、任意の通信規格の通信網や通信路で構成される。クラウド521を構成する各ノードは、例えば、センサデバイス、ルータ、モデム、ハブ、ブリッジ、スイッチングハブ、基地局制御装置、交換機、サーバなどのネットワーク接続装置で構成される。ノードとしてのネットワーク接続装置が、以下で説明するアプリケーションプラットフォーム532、ネットワークモニタ533、アプリケーションプラットフォーム534、ネットワークモニタ535、オーケストレータ536、または、アプリケーションリポジトリ537として機能する。
 クラウド521には、センサデータをネットワークに注入するセンサ/エッジ513に近いエッジ側に配置されたエッジクラウド(Edge Cloud)522と、それ以外のコアネットワークに配置されたセンタークラウド(Center Cloud)523とが含まれる。エッジクラウド522は、例えば、ネットワークが携帯電話通信網である場合は基地局などで構成される。
 エッジクラウド522は、センサ511から供給されるセンサデータを処理するアプリケーションを実行できるアプリケーションプラットフォーム532を実装している。アプリケーションプラットフォーム532は、センサ/エッジ513のアプリケーションプラットフォーム531とネットワーク538で接続される。エッジクラウド522は、ネットワーク538の状態をモニターするネットワークモニタ(Network Monitor)533を有している。
 センタークラウド523も、センサ511から供給されるセンサデータを処理するアプリケーションを実行できるアプリケーションプラットフォーム534を実装している。アプリケーションプラットフォーム534は、エッジクラウド522のアプリケーションプラットフォーム532とネットワーク539で接続される。センタークラウド523は、ネットワーク539の状態をモニターするネットワークモニタ535を有している。
 オーケストレータ(Orchestrator)536は、アプリケーションリポジトリ537へアクセスし、所定のサービスを提供するアプリケーションの属性や実行イメージ(実行ファイル)を取得する。アプリケーションの属性には、例えば、計算リソース、メモリ、GPU(Graphics Processing Unit)等のハードウェアアクセラレータなど、そのアプリケーションに必要な実行環境についての情報が含まれる。
 オーケストレータ536は、サービス要求条件に応じて、アプリケーションを実行させる最適な場所を決定する。具体的には、オーケストレータ536は、アプリケーションを、センサ/エッジ513のアプリケーションプラットフォーム531、エッジクラウド522のアプリケーションプラットフォーム532、または、センタークラウド523のアプリケーションプラットフォーム534のいずれに配置するのが最適であるかを決定する。オーケストレータ536は、アプリケーションの実行場所として決定したアプリケーションプラットフォームに、アプリケーションの実行環境を確保し、アプリケーションを実行させる。
 アプリケーションリポジトリ(Application Repository)537は、所定のサービスを提供するアプリケーションの属性や実行イメージ(実行ファイル)を、サービスごとに記憶する。アプリケーションリポジトリ537は、実行イメージそのものを取得するのではなく、実行イメージの格納場所を示す参照アドレス等を記憶してもよい。
 以上のように構成される図1のデータ処理システム500において、オーケストレータ536は、提供されるサービスの要求条件に応じて、アプリケーションを実行させる最適な場所を決定して、アプリケーションを実行させる。これにより、ネットワーク内のトラフィックを削減するとともに、データ処理するアプリケーションの処理負荷を低減させる。
 オーケストレータ536は、図2に示されるように、センサネットワークサービスオペレータ541から供給されるマニフェストをもとに、アプリケーションの最適な配置を決定する。マニフェストには、アプリケーションの配置決定のための評価軸、例えば、アプリケーション配置に際して重要視される項目や、重要視される項目の順序などが、最適配置方針として記述されている。
 例えば、ネットワーク転送遅延(処理遅延を含む)、ネットワークのトラフィック総量、アプリケーションの処理速度、実行コスト(計算コスト)、ストレージコスト、データ発生位置、のどれを優先的に抑えたいかについての情報が、最適配置方針としてマニフェストに記述される。
 また例えば、要求されたサービスに対応するアプリケーション処理の前に前処理を実行して、アプリケーションの処理負荷軽減を重視するか否かについての情報が、最適配置方針としてマニフェストに記述される。
 また例えば、センサデータの再利用性を重視するか否かについての情報が、最適配置方針としてマニフェストに記述される。センサデータの再利用性とは、例えば、複数のアプリケーションが共有してセンサデータを利用できることや、センサデータをオフラインで(別タイミングで)再度利用できることの度合いを表す。
<2.アプリケーション配置制御のフローチャート>
 図3のフローチャートを参照して、アプリケーションの最適配置を決定するアプリケーション配置制御について説明する。
 なお、この処理の開始前には、オーケストレータ536がアプリケーションリポジトリ537へアクセスし、実行予定のアプリケーションに必要な実行環境についての情報が取得済みであるとする。
 初めに、センサ511は、ステップS101において、“Capture Data”によりセンサデータの生成を検出し、それをトリガにして、ステップS102において、“Request App Instantiation”を実行する。“Request App Instantiation”では、アプリケーションの最適な配置での起動を依頼する“App Requirements”が、センサ511からオーケストレータ536へ送信される。アプリケーションが行う処理は、例えば、センサ511で得られた画像の解析処理や、画像中のオブジェクトを認識する処理などとすることができる。
 ステップS103において、オーケストレータ536は、“Evaluate & Determine Target App Platform”を実行する。すなわち、オーケストレータ536は、センサネットワークサービスオペレータ541から供給されたマニフェストに基づいて、アプリケーションを実行する最適なアプリケーションプラットフォームを、センサ/エッジ513上、エッジクラウド522上、または、センタークラウド523上のなかから探索し、決定する。この際、オーケストレータ536は、エッジクラウド522のネットワークモニタ533から、アプリケーションプラットフォーム531と532との間のネットワーク538のトラフィックの状態を取得し、ネットワークモニタ535から、アプリケーションプラットフォーム532と534との間のネットワーク539のトラフィックの状態を取得した上で、最適なアプリケーションプラットフォームを決定する。ここでは、エッジクラウド522上のアプリケーションプラットフォーム532が、最適な実行場所であると決定されたとする。
 オーケストレータ536は、ステップS104において、エッジクラウド522上のアプリケーションプラットフォーム532に対して、“Request App Resource Reservation”を送信し、アプリケーションに必要な実行環境を、アプリケーションプラットフォーム532に確保させる。アプリケーションプラットフォーム532は、“Request App Resource Reservation”にしたがい、アプリケーションに必要な実行環境を確保する。
 オーケストレータ536は、ステップS105において、エッジクラウド522上のアプリケーションプラットフォーム532に対して、“Request App Instantiation”を実行する。すなわち、オーケストレータ536は、アプリケーションの起動を依頼する“App Requirements”を、アプリケーションプラットフォーム532に送信する。
 エッジクラウド522上のアプリケーションプラットフォーム532は、ステップS106において、アプリケーションを起動、実行する。アプリケーションプラットフォーム532で起動されたアプリケーションは、ステップS107において、センサ511に対して“Inform App Ready”を送信し、アプリケーションが起動されたこと、換言すれば、処理の準備ができたことを通知する。
 “Inform App Ready”を受信したセンサ511は、ステップS108において、“Send Data”、すなわち、センサデータを、エッジクラウド522上のアプリケーションプラットフォーム532のアプリケーションへ、ネットワーク538を介して送信する。
 アプリケーションプラットフォーム532のアプリケーションは、ステップS109において、センサ511から送信されてきたセンサデータを取得し、所定のデータ処理を実行する(“Process Data”)。
 ステップS108におけるセンサデータの送信と、ステップS109におけるセンサデータのデータ処理は、センサ511でセンサデータが生成される間、継続して実行される。その間、オーケストレータ536は、ステップS110において、アプリケーションの実行状態、および、センサ/エッジ513とエッジクラウド522のアプリケーションプラットフォーム間のネットワーク538の状態を確認する。
 そして、ステップS111において、オーケストレータ536は、現在のアプリケーションの実行場所が最適であるか、換言すれば、ステップS103で決定したアプリケーションの最適配置の判断に変更がないかを判定する。ステップS111で、アプリケーションの最適配置の判断に変更がないと判定された場合、エッジクラウド522上のアプリケーションプラットフォーム532でのアプリケーションの実行が継続される。
 一方、アプリケーションの実行状態やネットワーク538の状態に変化が発生し、ステップS111で、オーケストレータ536が、現在のアプリケーションの実行場所が最適ではないと判定した場合、処理がステップS112へ進められる。
 ステップS112において、オーケストレータ536は、“Evaluate & Determine Target App Platform”を実行する。すなわち、オーケストレータ536は、センサネットワークサービスオペレータ541から供給されたマニフェストに基づいて、アプリケーションを実行する最適なアプリケーションプラットフォームを、再度、探索して決定する。ここでは、センタークラウド523上のアプリケーションプラットフォーム534が、最適な実行場所であると決定されたとする。
 オーケストレータ536は、ステップS113において、センタークラウド523上のアプリケーションプラットフォーム534に対して、“Request App Resource Reservation”を送信し、アプリケーションに必要な実行環境を、アプリケーションプラットフォーム534に確保させる。アプリケーションプラットフォーム534は、“Request App Resource Reservation”にしたがい、アプリケーションに必要な実行環境を確保する。
 オーケストレータ536は、ステップS114において、センタークラウド523上のアプリケーションプラットフォーム534に対して、“Request App Instantiation”を実行する。すなわち、オーケストレータ536は、アプリケーションの起動を依頼する“App Requirements”を、アプリケーションプラットフォーム534に送信する。ここで、オーケストレータ536は、エッジクラウド522上のアプリケーションプラットフォーム532で実行されていたアプリケーションの状態情報を、センタークラウド523上のアプリケーションプラットフォーム534のアプリケーションにコピーして同期させることができる。
 センタークラウド523上のアプリケーションプラットフォーム534は、ステップS115において、アプリケーションを起動、実行する。アプリケーションプラットフォーム534で起動されたアプリケーションは、ステップS116において、センサ511に対して“Inform App Ready”を送信し、アプリケーションが起動されたこと、換言すれば、処理の準備ができたことを通知する。
 “Inform App Ready”を受信したセンサ511は、ステップS117において、“Capture & Send Data”、すなわち、センサデータの生成を検出し、検出したセンサデータを、センタークラウド523上のアプリケーションプラットフォーム534のアプリケーションへ、ネットワーク538および539を介して送信する。
 アプリケーションプラットフォーム534のアプリケーションは、ステップS118において、センサ511から送信されてきたセンサデータを取得し、所定のデータ処理を実行する(“Process Data”)。
 ステップS117におけるセンサデータの送信と、ステップS118におけるセンサデータのデータ処理は、センサ511でセンサデータが生成される間、継続して実行される。
 以下同様に、ステップS110ないしS113の処理、すなわち、現在のアプリケーションの実行場所が最適であるかどうかを判定し、最適ではないと判定された場合に、最適なアプリケーションプラットフォームを、再度探索して、最適な配置でアプリケーションを実行する処理が継続される。オーケストレータ536は、ネットワークに参加するセンサ/エッジ513の増大や、センサ511で生成されるセンサデータの増大が発生した場合でも、ネットワーク全体のトラフィックや処理負荷の状態を監視し、負荷に追従したネットワーク制御(障害回復およびメンテナンスを含む。)を行うことができる。
<3.最適配置の評価軸と配置方針>
 上述したように、オーケストレータ536は、“Evaluate & Determine Target App Platform”の処理において、センサネットワークサービスオペレータ541から供給されたマニフェストに基づいて、アプリケーションを実行するのに最適なアプリケーションプラットフォームの場所を決定する。
 以下では、マニフェストに記載された、アプリケーションの配置決定のための評価軸の例と、その評価軸におけるアプリケーションの配置方針について、具体的に説明する。なお、以下の説明では、センサ/エッジ513上、エッジクラウド522上、または、センタークラウド523上の各アプリケーションプラットフォーム531、532、および534を、簡単のため、プラットフォーム531、532、および534と称して説明する。
<本アプリケーションの配置方針>
 図4は、アプリケーションを、センサ/エッジ513上、エッジクラウド522上、または、センタークラウド523上の各プラットフォームに配置した例を示している。
 具体的には、図4に示される配置(1)は、アプリケーションを、センサ/エッジ513上のプラットフォーム531に配置して実行する配置例を示している。配置(2)は、アプリケーションを、エッジクラウド522上のプラットフォーム532に配置して実行する配置例を示している。配置(3)は、アプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。
 図4において、“Application”は、センサ511で得られた画像の解析処理や、画像中のオブジェクトを認識する処理など、要求されたサービスに対応する処理(以下、本処理と称する。)を実行するアプリケーションの配置場所を示している。“Capture & Send Data”は、センサ511による図3のステップS101およびS108と同様の、センサデータの生成を検出してアプリケーションへ送信する処理を示している。“Process Data”は、図3のステップS109やS118と同様の、センサ511から送信されてきたセンサデータを取得して本処理を実行する処理を示している。
 最適配置方針として、ネットワーク転送遅延による処理遅延をできるだけ小さくすることがマニフェストに記述されている場合について考える。ネットワーク転送遅延による処理遅延は、センサ511に近い方ほど小さくなる。換言すれば、センサ/エッジ513上のプラットフォーム531、エッジクラウド522上のプラットフォーム532、センタークラウド523上のプラットフォーム534の順に、転送遅延が大きくなる。
 したがって、ネットワーク転送遅延による処理遅延をできるだけ小さくしたい場合、オーケストレータ536は、配置(1)を最優先にし、配置(1)、配置(2)、配置(3)の優先順でアプリケーションを配置する。
 最適配置方針として、ネットワークのトラフィックの総量をできるだけ小さくすることがマニフェストに記述されている場合について考える。ネットワークのトラフィックの総量は、センサ511に近い方ほど小さくなる。換言すれば、センサ/エッジ513上のプラットフォーム531、エッジクラウド522上のプラットフォーム532、センタークラウド523上のプラットフォーム534の順に、ネットワークトラフィックの総量が大きくなる。
 したがって、ネットワークのトラフィックの総量をできるだけ小さくしたい場合、オーケストレータ536は、配置(1)を最優先にし、配置(1)、配置(2)、配置(3)の優先順でアプリケーションを配置する。
 ネットワーク転送遅延による処理遅延と、ネットワークトラフィックの総量の両方をできるだけ小さくできれば、他の要件は無視できることが、最適配置方針としてマニフェストに記述されている場合にも、オーケストレータ536は、配置(1)を最優先にし、配置(1)、配置(2)、配置(3)の優先順でアプリケーションを配置することができる。
 最適配置方針として、アプリケーションの処理速度をできるだけ速くすることがマニフェストに記述されている場合について考える。アプリケーションの処理速度は、アプリケーションの実行環境の違いによっても異なるが、センサ/エッジ513上のプラットフォーム531、エッジクラウド522上のプラットフォーム532、センタークラウド523上のプラットフォーム534の順に大きくなる。
 したがって、ネットワークインタフェースから渡された後のアプリケーション処理速度をできるだけ速くしたいという要件の下では、オーケストレータ536は、配置(3)を最優先にし、配置(3)、配置(2)、配置(1)の優先順でアプリケーションを配置する。
 最適配置方針として、アプリケーションを実行するのに必要なコストであるアプリケーションの実行コストをできるだけ小さくすることがマニフェストに記述されている場合について考える。アプリケーションの実行コストは、アプリケーションの実行環境の違いによっても異なるが、センタークラウド523に近い方が計算資源が豊富となるため安くなる。すなわち、実行コストは、センサ/エッジ513上のプラットフォーム531、エッジクラウド522上のプラットフォーム532、センタークラウド523上のプラットフォーム534の順に低くなる。
 したがって、アプリケーションの実行コストをできるだけ小さくしたいという要件の下では、オーケストレータ536は、配置(3)を最優先にし、配置(3)、配置(2)、配置(1)の優先順でアプリケーションを配置する。
 センサデータを一時的または永続的にストレージに格納しておき、多目的に利用する場合や、経路上のネットワークが不安定な場合に一時的にキャッシュしておいてから転送するストアアンドフォワードを行う場合などでは、センサデータを記憶するストレージが必要となる。ストレージを確保することにもコストがかかる。最適配置方針として、ストレージコストをできるだけ低くすることがマニフェストに記述されている場合について考える。ストレージコストも、センタークラウド523に近い方が計算資源が豊富となるため安くなるため、センサ/エッジ513上のプラットフォーム531、エッジクラウド522上のプラットフォーム532、センタークラウド523上のプラットフォーム534の順に低くなる。
 したがって、ストレージコストをできるだけ低くしたいという要件の下では、オーケストレータ536は、配置(3)を最優先にし、配置(3)、配置(2)、配置(1)の優先順でアプリケーションを配置する。
 アプリケーション処理速度をできるだけ速く、アプリケーションの実行コストをできるだけ小さく、または、ストレージコストをできるだけ低く、の2つ以上を満たせば、他の要件は無視できることが、最適配置方針としてマニフェストに記述されている場合にも、オーケストレータ536は、配置(3)を最優先にし、配置(3)、配置(2)、配置(1)の優先順でアプリケーションを配置することができる。
<前処理がある場合のアプリケーションの配置方針>
 図4で説明したアプリケーションの配置方針は、配置するアプリケーションを、本処理を実行する1つのアプリケーションのみとした場合の例であった。
 次に、本処理の前の前処理として非圧縮のセンサデータを圧縮する処理(以下、圧縮処理と称する。)を実行するアプリケーションと、本処理を実行するアプリケーションの2つのアプリケーションを配置する場合の配置方針について説明する。
 図5は、2つのアプリケーションを、センサ/エッジ513上、エッジクラウド522上、または、センタークラウド523上の各プラットフォームに配置した例を示している。
 図5において、“Application”は、本処理を実行するアプリケーションの配置場所を示している。“Application(Compressor)”は、圧縮処理を実行するアプリケーションの配置場所を示している。“Capture & Send Data”は、センサ511がセンサデータの生成を検出してアプリケーションへ送信する処理を示している。“Application(Compressor)”が配置されたプラットフォームの“Process & Send Data”は、圧縮処理を実行するアプリケーションが、圧縮処理を実行して、本処理を実行するアプリケーションへ送信する処理を示している。“Process Data”は、圧縮処理後のセンサデータを取得して本処理を実行する処理を示している。
 図5に示される配置(11)は、圧縮処理を行うアプリケーションを、センサ/エッジ513上のプラットフォーム531に配置し、本処理を行うアプリケーションを、エッジクラウド522上のプラットフォーム532に配置して実行する配置例を示している。配置(12)は、圧縮処理を行うアプリケーションを、センサ/エッジ513上のプラットフォーム531に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。配置(13)は、圧縮処理を行うアプリケーションを、エッジクラウド522上のプラットフォーム532に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。
 図5において、センサデータの転送を示す矢印の太さは、圧縮処理の有無による帯域幅の違いを示しており、非圧縮データの方が、圧縮データよりも広い帯域が必要となる。また、圧縮処理を行う場合には、非圧縮の場合と比べて、ネットワークへ転送する前の遅延が生じる。
 配置(11)は、配置(12)および配置(13)と比較して、ネットワーク転送遅延による処理遅延およびネットワークトラフィックについては、より小さくなるが、アプリケーション処理速度はより遅く、実行コストはより高く、ストレージコストはより高くなる。
 配置(12)は、配置(11)と比較して、ネットワーク転送遅延による処理遅延はより大きく、ネットワークトラフィックはより増加するが、アプリケーション処理速度はより速く、実行コストはより低く、ストレージコストはより低くなる。また、配置(12)は、配置(13)と比較して、ネットワーク転送遅延による処理遅延はより小さく、ネットワークトラフィックはより低くなるが、アプリケーション処理速度はより遅く、実行コストはより高く、ストレージコストはより高くなる。
 配置(13)は、配置(11)および配置(12)と比較して、ネットワーク転送遅延による処理遅延はより大きく、ネットワークトラフィックはより増加するが、アプリケーション処理速度はより速く、実行コストはより低く、ストレージコストはより低くなる。
 以上より、本処理を実行するアプリケーションと、本処理の前の前処理として圧縮処理を実行するアプリケーションの2つのアプリケーションを配置する場合、ネットワーク転送遅延による処理遅延、および/または、ネットワークトラフィックをより小さくしたいという要件の下では、オーケストレータ536は、配置(11)を最優先にし、配置(11)、配置(12)、配置(13)の優先順でアプリケーションを配置する。また、アプリケーション処理速度をより速く、実行コストをより低く、ストレージコストをより低くしたいという要件の下では、オーケストレータ536は、配置(13)を最優先にし、配置(13)、配置(12)、配置(11)の優先順でアプリケーションを配置する。
<個別化処理がある場合のアプリケーションの配置方針>
 次に、本処理の前の前処理として高度なAI(artificial intelligence)処理等により本処理の内容に合わせて個別化された処理(以下、個別化処理と称する。)を実行するアプリケーションと、本処理を実行するアプリケーションの2つのアプリケーションを配置する場合の配置方針について説明する。
 図6は、2つのアプリケーションを、センサ/エッジ513上、エッジクラウド522上、または、センタークラウド523上の各プラットフォームに配置した例を示している。
 図6において、“Application”は、本処理を実行するアプリケーションの配置場所を示している。“Application(Post Processor)”は、個別化処理を実行するアプリケーションの配置場所を示している。“Capture & Send Data”は、センサ511がセンサデータの生成を検出してアプリケーションへ送信する処理を示している。“Application(Post Processor)”が配置されたプラットフォームの“Process & Send Data”は、個別化処理を実行するアプリケーションが、個別化処理を実行して、本処理を実行するアプリケーションへ送信する処理を示している。“Process Data”は、個別化処理後のセンサデータを取得して本処理を実行する処理を示している。
 本処理の内容に合わせた個別化処理は、センサデータの特徴量を抽出する特徴量抽出処理や、センサデータの特徴を認識する特徴認識処理、例えば、画像内のオブジェクトを認識して、オブジェクトの場所または形状を出力する処理などとすることができる。個別化処理は、図5で説明した前処理である圧縮処理よりもはるかに大きな圧縮効果を期待できるが、ネットワーク転送前の遅延が大きくなる。
 図6に示される配置(21)は、個別化処理を行うアプリケーションを、センサ/エッジ513上のプラットフォーム531に配置し、本処理を行うアプリケーションを、エッジクラウド522上のプラットフォーム532に配置して実行する配置例を示している。配置(22)は、個別化処理を行うアプリケーションを、センサ/エッジ513上のプラットフォーム531に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。配置(23)は、個別化処理を行うアプリケーションを、エッジクラウド522上のプラットフォーム532に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。
 図6において、センサデータの転送を示す矢印の太さは、個別化処理の有無による帯域幅の違いを示しており、個別化処理データの方が、圧縮データおよび非圧縮データよりも狭い帯域で伝送可能となる。
 配置(21)は、配置(22)および配置(23)と比較して、ネットワーク転送遅延による処理遅延およびネットワークトラフィックについては、より小さくなるが、アプリケーション処理速度はより遅く、実行コストはより高く、ストレージコストはより高くなる。
 配置(22)は、配置(21)と比較して、ネットワーク転送遅延による処理遅延はより大きく、ネットワークトラフィックはより増加するが、アプリケーション処理速度はより速く、実行コストはより低く、ストレージコストはより低くなる。また、配置(22)は、配置(23)と比較して、ネットワーク転送遅延による処理遅延はより小さく、ネットワークトラフィックはより低くなるが、アプリケーション処理速度はより遅く、実行コストはより高く、ストレージコストはより高くなる。
 配置(23)は、配置(21)および配置(22)と比較して、ネットワーク転送遅延による処理遅延はより大きく、ネットワークトラフィックはより増加するが、アプリケーション処理速度はより速く、実行コストはより低く、ストレージコストはより低くなる。
 以上より、本処理を実行するアプリケーションと、本処理の前の前処理として個別化処理を実行するアプリケーションの2つのアプリケーションを配置する場合、ネットワーク転送遅延による処理遅延、および/または、ネットワークトラフィックをより小さくしたいという要件の下では、オーケストレータ536は、配置(21)を最優先にし、配置(21)、配置(22)、配置(23)の優先順でアプリケーションを配置する。また、アプリケーション処理速度をより速く、実行コストをより低く、ストレージコストをより低くしたいという要件の下では、オーケストレータ536は、配置(23)を最優先にし、配置(23)、配置(22)、配置(21)の優先順でアプリケーションを配置する。
 図7は、前処理として圧縮処理を行う図5のアプリケーション配置例と、前処理として個別化処理を行う図6のアプリケーション配置例を、図6を上、図5を下に配置して並べた図である。
 配置(21)と配置(11)どうし、配置(22)と配置(12)どうし、または、配置(23)と配置(13)どうしの、前処理を実行するアプリケーションと本処理を実行するアプリケーションの配置が同じものどうしを比較する。
 配置(21)は、配置(11)と比べて、ネットワークトラフィックをより小さくすることができる。同様に、配置(22)は、配置(12)と比べて、ネットワークトラフィックをより小さくすることができ、配置(23)は、配置(13)と比べて、ネットワークトラフィックをより小さくすることができる。
 以上より、前処理として個別化処理を行うアプリケーションを導入すると、前処理として圧縮処理を行うアプリケーションを導入する場合と比べて、よりネットワークトラフィックの低減効果を期待できると言える。なお、例えば配置(23)と配置(11)との比較のような、アプリケーションの配置が異なるものどうしについては単純に比較することができない。
<個別化処理を多段配置した場合のアプリケーションの配置方針>
 図8および図9は、本処理の前の前処理として個別化処理を実行するアプリケーションを配置する図6の配置例のバリエーション例を示している。
 図8に示される配置(31)のように、個別化処理を行うアプリケーションを、本処理を行うアプリケーションの前段に複数配置するアプリケーション配置を採用することができる。具体的には、配置(31)では、第1の個別化処理を行うアプリケーションが、センサ/エッジ513上のプラットフォーム531に配置され、第2の個別化処理を行うアプリケーションが、エッジクラウド522上のプラットフォーム532に配置され、本処理を行うアプリケーションが、センタークラウド523上のプラットフォーム534に配置されている。
 個別化処理を行うアプリケーションの多段配置は、より抽象度の高い個別化処理(AI処理)を段階的に行うことができ、アプリケーションの個別の要件に応じてより最適化したデータを、最終的に本処理を行うアプリケーションに届けることができる。ただし、段階的な個別化処理の実行により、処理遅延は大きくなる。一点鎖線の矢印は、細実線の矢印よりもネットワークトラフィックが小さいことを示している。
 個別化処理を行うアプリケーションを多段に配置する例としては、次のようなケースがある。
・複雑な軌跡を持つオブジェクトを特定するケース
 センサ/エッジ513上のプラットフォーム531のアプリケーションが、オブジェクト(ROI)抽出を行い、エッジクラウド522上のプラットフォーム532のアプリケーションが、複数オブジェクトの軌跡トラッキングを行い、センタークラウド523上のプラットフォーム534のアプリケーションが、オブジェクトの内容理解と対象オブジェクトの特定を行う。
・観測対象のオブジェクトの種類を特定してその軌跡推定を行うケース
 センサ/エッジ513上のプラットフォーム531のアプリケーションが、オブジェクト(ROI)抽出を行い、エッジクラウド522上のプラットフォーム532のアプリケーションが、オブジェクト内容理解と対象オブジェクトの特定および特定オブジェクトの軌跡トラッキングを行い、センタークラウド523上のプラットフォーム534のアプリケーションが、対象オブジェクトの軌跡推定を行う。
 このように、アプリケーションの個別の要件に合わせて、個別化の種類、抽象度のレベルを決定し、かつ、その処理の複雑度に応じた計算コスト等を考慮に入れて、アプリケーションを、複数のプラットフォームに最適に配置することができる。
 図9は、オブジェクト検知、オブジェクト内容理解/分類、オブジェクト軌跡トラッキング、および、軌跡推定の順番で処理が行われるケースで、アプリケーションを多段配置と一段配置で配置した例を示している。
 図9において、“Object Detection”は、オブジェクト検知の処理を行うことを示しており、“Object Classification”は、オブジェクト内容理解および分類の処理を行うことを示している。“Object Tracking”は、オブジェクト軌跡トラッキングの処理を行うことを示しており、“Motion Estimation”は、軌跡推定の処理を行うことを示している。
 配置(311)は、オブジェクト検知、オブジェクト内容理解/分類、および、オブジェクト軌跡トラッキングを、センサ/エッジ513上のプラットフォーム531に配置した個別化処理を行うアプリケーションが実行し、軌跡推定を、センタークラウド523上のプラットフォーム534に配置した本処理を行うアプリケーションが実行する配置例を示している。
 配置(312)は、オブジェクト検知を、センサ/エッジ513上のプラットフォーム531に配置した個別化処理を行うアプリケーションが実行し、オブジェクト内容理解/分類、および、オブジェクト軌跡トラッキングを、エッジクラウド522上のプラットフォーム532に配置した個別化処理を行うアプリケーションが実行し、軌跡推定を、センタークラウド523上のプラットフォーム534に配置した本処理を行うアプリケーションが実行する配置例を示している。
 配置(313)は、オブジェクト検知、オブジェクト内容理解/分類、オブジェクト軌跡トラッキング、および、軌跡推定の全てを、センタークラウド523上のプラットフォーム534に配置した本処理を行うアプリケーションが実行する配置例を示している。配置(313)は、図4の配置(3)と同じである。
 ネットワークのトラフィックの総量は、矢印の太さで示されるように、配置(311)、配置(312)、配置(313)の順に大きくなる。一点鎖線の矢印は、細実線の矢印よりもネットワークトラフィックが小さいことを示している。
 ネットワークのトラフィックの総量をできるだけ小さくすることが、最適配置方針としてマニフェストに記述されている場合、オーケストレータ536は、配置(311)を最優先にし、配置(311)、配置(312)、配置(313)の優先順でアプリケーションを配置する。
 アプリケーション処理速度をより速く、実行コストをより低く、ストレージコストをより低くすることが、最適配置方針としてマニフェストに記述されている場合、オーケストレータ536は、配置(313)を最優先にし、配置(313)、配置(312)、配置(311)の優先順でアプリケーションを配置する。
 なお、オブジェクト検知、オブジェクト内容理解/分類、オブジェクト軌跡トラッキング、および、軌跡推定の4つの処理を、複数の個別化処理を行うアプリケーションで分散して実行させる配置例は、上述した配置(312)の配置例以外も取り得ることは言うまでもない。
<再利用性を重視する場合のアプリケーションの配置方針>
 次に、図10を参照して、再利用性を重視する場合のアプリケーションの配置方針について説明する。
 センサデータの再利用性を重視する場合があり得る。すなわち、センサ511が生成したセンサデータを、複数のアプリケーションで共有して利用したり、センサデータ生成時から一定時間経過後の別タイミングで、オフラインでセンサデータを利用できることを優先したい場合がある。
 センサデータの再利用性を考慮しない場合、生成されたセンサデータは、そのデータを利用するアプリケーションまで届ければよいので、図10に示される配置(41)のように、P2P(Peer to Peer)で、センサ/エッジ513上、エッジクラウド522上、または、センタークラウド523上のいずれかに配置されたアプリケーションへ転送される。図10の配置(41)は、図4に示した配置(1)ないし(3)と同一である。
 これに対して、センサデータの再利用性を重視する場合、図10に示される配置(42)のように、本処理の前の前処理として、センサデータを一時的または永続的にキャッシュ(記憶)するアプリケーションが配置される。配置(42)は、センサデータを一時的または永続的にキャッシュするアプリケーションを、エッジクラウド522上のプラットフォーム532に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。
 図10において、“Application”は、本処理を実行するアプリケーションの配置場所を示している。“Application(Broker)”は、センサデータを一時的または永続的にキャッシュするアプリケーションの配置場所を示している。配置(42)では、センサ/エッジ513から送信されたセンサデータが、エッジクラウド522上のプラットフォーム532に配置されたアプリケーションへ転送される。エッジクラウド522上のアプリケーションは、取得したセンサデータを一時的または永続的にキャッシュするとともに、センタークラウド523上のプラットフォーム534に配置された3つのアプリケーションに送信する。センタークラウド523上の3つのアプリケーションが実行する本処理は、同一の処理でもよいし、異なる処理でもよい。同一の処理を実行する場合には、例えば、時間がかかるが低コストで実行できるアプリケーションと、高コストで高速に実行できるアプリケーションなど、処理の性能が異なる場合がある。
 以上より、センサデータの再利用性を重視する(再利用性を上げる)という要件の下では、オーケストレータ536は、配置(42)を最優先にし、配置(42)、配置(41)の優先順でアプリケーションを配置する。
 さらに、センサデータの再利用性を重視することを前提として、図5および図6に示したような圧縮処理や個別化処理をさらに行うことにより、ネットワークトラフィックを最小化または低減することもあり得る。
 図11は、センサデータの再利用性と、圧縮処理または個別化処理を併用した場合のアプリケーションの配置例を示している。
 具体的には、図11に示される配置(51)は、センサデータを一時的または永続的にキャッシュするアプリケーションと、圧縮処理を行うアプリケーションを、エッジクラウド522上のプラットフォーム532に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。エッジクラウド522上のプラットフォーム532では、センサデータをキャッシュするアプリケーションの後段に、圧縮処理を行うアプリケーションが配置される。
 配置(52)は、センサデータを一時的または永続的にキャッシュするアプリケーションと、個別化処理を行うアプリケーションを、エッジクラウド522上のプラットフォーム532に配置し、本処理を行うアプリケーションを、センタークラウド523上のプラットフォーム534に配置して実行する配置例を示している。エッジクラウド522上のプラットフォーム532では、センサデータをキャッシュするアプリケーションの後段に、個別化処理を行うアプリケーションが配置される。
 図11の配置(51)および配置(52)では、圧縮処理を行うアプリケーションまたは個別化処理を行うアプリケーションが、センタークラウド523上のプラットフォーム534に配置された3つのアプリケーションそれぞれに対して設けられている。これらの圧縮処理または個別化処理を行う3つのアプリケーションは、アプリケーションの要件に応じて、異なる圧縮処理または個別化処理を行う。仮に、同一の圧縮処理または個別化処理を実行すればよい場合には、これらの前処理を行うアプリケーションは1つとすることができる。
 図7を参照して説明したように、ネットワークのトラフィックの総量は、圧縮処理よりも個別化処理を行う方が小さくすることができる。したがって、矢印の太さで示されるように、配置(52)は、配置(51)と比べて、ネットワークトラフィックをより小さくすることができる。
 以上より、センサデータの再利用性を重視する(再利用性を上げる)という要件の下で、さらに、ネットワークトラフィックをより低減させる場合には、オーケストレータ536は、配置(52)を最優先にし、配置(52)、配置(51)の優先順でアプリケーションを配置する。
<評価軸とアプリケーションの配置方針のまとめ>
 図12は、図4ないし図11で説明した、アプリケーションを配置する際の評価軸と、その場合のアプリケーション配置の優先順位(配置方針)をまとめたテーブルである。評価軸としては、ネットワーク転送遅延による処理遅延、ネットワークのトラフィック、アプリケーションの処理速度、アプリケーションの実行コスト、ストレージコスト、センサデータの再利用性、要求されたサービスに対応する本処理を実行する前に前処理を実行するか、が含まれる。なお、これらの評価軸と優先順位との組は、全てが含まれなくてもよく、少なくとも1つが含まれていればよい。アプリケーション配置の優先順位は、アプリケーション配置場所としての、センサ/エッジ513、エッジクラウド522、および、センタークラウド523の優先順位である。
 図12で示される情報が、マニフェストとして、センサネットワークサービスオペレータ541からオーケストレータ536へ供給される。オーケストレータ536は、供給されたマニフェストに基づいて、さまざまなトレードオフを考慮し、アプリケーションの最適配置を行う。
 すなわち、オーケストレータ536は、図3を参照して説明したアプリケーション配置制御の“Evaluate & Determine Target App Platform”の処理において、図12の配置方針に基づいて、アプリケーションを実行する最適なアプリケーションプラットフォームの場所を決定する。オーケストレータ536は、例えば、センサデータのデータ処理を所定のプラットフォームに局所化したり、センサ/エッジ513、エッジクラウド522、またはセンタークラウド523の2つ以上に多段配置したり、圧縮処理や個別化処理を行ってから転送することにより、ネットワーク内のトラフィックを削減するとともに、データ処理するアプリケーションの処理負荷を低減させる。
<4.クラウドコンピューティングの構成例>
 上述したデータ処理システムおよびアプリケーション配置制御方法を含む本明細書に記載の方法およびシステムは、コンピュータソフトウェア、ファームウェア、ハードウェア、または、それらの組み合わせもしくはサブセットを含むコンピュータプログラミングまたはエンジニアリング技術を用いて実現することができる。
 図13は、本明細書に記載の各種の実施の形態を実現することができるコンピュータのブロック図を示している。
 本開示は、システム、方法、および/または、コンピュータプログラムとして実現することができる。コンピュータプログラムは、コンピュータ読み取り可能な記憶媒体を含むことができ、コンピュータ読み取り可能な記憶媒体には、本実施形態の態様を1または複数のプロセッサに実行させるコンピュータ読み取り可能なプログラム命令が記録されている。
 コンピュータ読み取り可能な記憶媒体は、命令実行デバイス(プロセッサ)で使用するための命令を格納することができる有形のデバイスとすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、または、それらの装置の任意の適切な組み合わせとすることができるが、それらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例には、以下のそれぞれ(および適切な組み合わせ)が含まれる:フレキシブルディスク、ハードディスク、SSD(solid state drive)、RAM(random access memory)、ROM(read only memory)、EPROM(erasable and programmable read only memory)or Flash(フラッシュメモリ)、SRAM(static random access memory)、コンパクトディスク(CDまたはCD-ROM)、DVD(digital versatile disc)、カード型またはスティック型のメモリ。本開示で使用されるようなコンピュータ読み取り可能な記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体(例えば、光ファイバーケーブルを通る光パルス)を介して伝播する電磁波、または、ワイヤを介して送信される電気信号、などの一時的な信号自体であると解釈されるものではない。
 本開示のコンピュータ読み取り可能なプログラム命令は、コンピュータ読み取り可能な記憶媒体から、適切なコンピューティングデバイスまたはプロセッシングデバイスにダウンロードされたり、例えばインターネットなどのグローバルネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または、ワイヤレスネットワークを介して、外部のコンピュータまたは外部の記憶装置にダウンロードされ得る。ネットワークには、銅伝送線、光通信ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/または、エッジサーバなどがある。コンピューティングデバイスまたはプロセッシングデバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからのコンピュータ読み取り可能なプログラム命令を受信して、そのコンピュータ読み取り可能なプログラム命令を転送して、コンピューティングデバイスまたはプロセッシングデバイス内のコンピュータ読み取り可能な記憶媒体に記憶することができる。
 本開示の処理を実行するコンピュータ読み取り可能なプログラム命令には、機械語命令、および/または、マイクロコードが含まれ、それらは、アッセンブリ言語、Basic, Fortran, Java, Python, R, C, C++, C#、もしくは類似のプログラム言語を含む1または複数のグログラム言語の任意の組み合わせで記述されたソースコードからコンパイルまたは解釈される。コンピュータ読み取り可能なプログラム命令は、ユーザのパーソナルコンピュータ、ノートブックコンピュータ、タブレット、または、スマートフォン上で完全に実行することができ、遠隔のコンピュータもしくはコンピュータサーバ、または、これらのコンピューティングデバイスの任意の組み合わせ上でも完全に実行することができる。遠隔のコンピュータまたはコンピュータサーバは、ユーザのデバイス、または、ローカルエリアネットワーク、ワイドエリアネットワーク、グローバルネットワーク(例えばインターネット)などのコンピュータネットワークを介したデバイスと接続されてもよい。本開示の態様を実現するために、例えば、プログラマブルロジック回路、FPGA(field-programmable gate arrays)、PLA(programmable logic arrays)を含む電気回路が、電子回路を構成またはカスタマイズするコンピュータ読み取り可能なプログラム命令からの情報を使用して、コンピュータ読み取り可能なプログラム命令を実行することができる実施の形態もある。
 本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラムのフロー図およびブロック図を参照して本明細書で説明される。フロー図およびブロック図の各ブロック、ならびに、フロー図およびブロック図におけるブロックの組み合わせがコンピュータ読み取り可能なプログラム命令によって実現できることは当業者には理解されるであろう。
 本開示に記載されたシステムおよび方法を実行することができるコンピュータ読み取り可能なプログラム命令は、装置を製造するための汎用コンピュータ、専用コンピュータ、または他のプログラム可能装置の1または複数のプロセッサ(および/またはプロセッサ内の1または複数のコア)で利用される。コンピュータまたは他のプログラム可能装置のプロセッサを介してプログラム命令が実行されることにより、本開示のフロー図およびブロック図で記載された機能を実現するためのシステムが作成される。これらのコンピュータ読み取り可能なプログラム命令はまた、コンピュータ、プログラマブル装置、および/または他のデバイスに特定の方法で機能するように指示することができるコンピュータ読み取り可能な記憶媒体に格納され得る。したがって、命令が格納されたコンピュータ読み取り可能な記憶媒体は、本開示のフロー図およびブロック図で特定された機能の態様を実現する命令が含まれる製造物品である。
 コンピュータ読み取り可能なプログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置または他のデバイス上で一連の操作ステップを実行し、コンピュータの処理結果を生成する。プログラム命令が、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行されることにより、本開示のフロー図およびブロック図で特定された機能が実現される。
 図13は、1または複数のコンピュータやサーバなどがネットワークを介して接続されたネットワークシステム800の機能ブロック図である。なお、図13の実施の形態で示されているハードウェアおよびソフトウェア環境は、本開示によるソフトウェアおよび/または方法を実現するためのプラットフォームを提供する一例として示されている。
 図13に示すように、ネットワークシステム800は、コンピュータ805、ネットワーク810、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、およびコンピュータサーバ830を含むことができるが、これに限られない。ある実施の形態では、図13に示される1または複数の機能ブロックのうちの複数のインスタンスが使用される。
 図13には、コンピュータ805のより詳細な構成が図示されている。なお、コンピュータ805内に示されている機能ブロックは、例示的な機能を確立するために図示されており、全てを図示するものではない。また、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、およびコンピュータサーバ830の詳細な構成は図示されていないが、これらは、コンピュータ805について示されている機能ブロックと同様の構成を含むことができる。
 コンピュータ805としては、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、携帯情報端末(PDA)、スマートフォン、または、ネットワーク810上の他のデバイスと通信可能な他のプログラム可能な任意の電子デバイスを用いることができる。
 そして、コンピュータ805は、プロセッサ835、バス837、メモリ840、不揮発性ストレージ845、ネットワークインタフェース850、周辺機器インタフェース855、および、ディスプレイインターフェース865を備えて構成される。これらの機能の各々は、ある実施の形態では、個々の電子サブシステム(集積回路チップまたはチップと関連デバイスの組み合わせ)として実装され、他の実施形態では、いくつかの機能が組み合わせられて単一チップ(システムオンチップまたはSoC(System on Chip))として実装されてもよい。
 プロセッサ835は、例えば、Intel Corporation, Advanced Micro Devices, Inc.(AMD), Arm Holdings(Arm), Apple Computerなどにより設計および/または製造されるような、1または複数のシングルまたはマルチチップのマイクロプロセッサとすることができる。マイクロプロセッサの例としては、Intel Corporation製のCeleron, Pentium, Core i3, Core i5やCore i7、AMD製のOpteron, Phenom, Athlon, TurionやRyzen、Arm製のCortex-A, Cortex-RやCortex-Mが挙げられる。
 バス837は、例えば、ISA,PCI,PCI Express(PCI-e),AGPなどの、独自仕様または業界標準の高速パラレルまたはシリアル周辺相互接続バスを採用することができる。
 メモリ840および不揮発性ストレージ845は、コンピュータが読み取り可能なストレージ媒体である。メモリ840は、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)などの任意の適切な揮発性ストレージデバイスを採用することができる。不揮発性ストレージ845は、フレキシブルディスク、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable and Programmable Read Only Memory)、フラッシュメモリ、コンパクトディスク(CDまたはCD-ROM)、DVD(Digital Versatile Disc)、カード型メモリ、またはスティック型メモリのうち、1つ以上を採用することができる。
 また、プログラム848は、機械読み取り可能命令および/またはデータの集合である。この集合は、不揮発性ストレージ845に格納され、本開示で詳細に説明したり、図面に記載した特定のソフトウェア機能を作成、管理、および制御するために使用される。なお、メモリ840が不揮発性ストレージ845よりも非常に高速である構成では、プログラム848を、プロセッサ835により実行される前に、不揮発性ストレージ845からメモリ840に転送することができる。
 コンピュータ805は、ネットワークインタフェース850を介して、ネットワーク810を介した他のコンピュータとの通信および相互作用をすることができる。ネットワーク810は、例えば、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network)、または、LANおよびWANの組み合わせで、有線、無線、または光ファイバー接続が含まれた構成を採用することができる。一般に、ネットワーク810は、2つ以上のコンピュータと関連デバイス間の通信をサポートする接続およびプロトコルの任意の組み合わせからなる。
 周辺機器インタフェース855は、コンピュータ805にローカルに接続され得る他のデバイスとのデータの入出力を行うことができる。例えば、周辺機器インタフェース855は、外部デバイス860への接続を提供する。外部デバイス860には、キーボード、マウス、キーパッド、タッチスクリーン、および/または、その他の適切な入力デバイスが用いられる。外部デバイス860は、例えば、サムドライブ、ポータブル光学ディスクまたは磁気ディスク、およびメモリカードなどのポータブルコンピュータ可読記憶媒体も含み得る。本開示の実施の形態を実現するソフトウェアおよびデータ、例えば、プログラム848は、そのようなポータブルコンピュータ可読記憶媒体に記憶されてもよい。そのような実施形態では、ソフトウェアは、不揮発性ストレージ845上にロードされてもよいし、代わりに、周辺機器インタフェース855を介してメモリ840上に直接ロードされてもよい。周辺機器インタフェース855は、外部デバイス860との接続に、RS-232またはUSB(Universal Serial Bus)などの業界標準を使用してもよい。
 ディスプレイインターフェース865は、コンピュータ805をディスプレイ870に接続することができ、ディスプレイ870を使用して、コマンドラインまたはグラフィカルユーザインターフェースを、コンピュータ805のユーザに提示する形態もある。ディスプレイインターフェース865は、VGA(Video Graphics Array)や、DVI(Digital Visual Interface)、DisplayPort、HDMI(High-Definition Multimedia Interface)(登録商標)などの業界標準または専用の接続の1つまたは複数を使用して、ディスプレイ870と接続することができる。
 上述のように、ネットワークインタフェース850は、他のコンピュータやストレージシステム、または、コンピュータ805の外部のデバイスとの通信を提供する。本明細書で説明するソフトウェアプログラムおよびデータは、例えば、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、およびコンピュータサーバ830から、不揮発性ストレージ845へ、ネットワークインタフェース850およびネットワーク810を介してダウンロードすることができる。さらに、本開示のシステムおよび方法は、ネットワークインタフェース850およびネットワーク810を介してコンピュータ805と接続された1または複数のコンピュータにより実行することができる。例えば、ある実施の形態では、本開示のシステムおよび方法が、リモートコンピュータ815、コンピュータサーバ830、または、ネットワーク810上の相互接続された複数のコンピュータの組み合わせによって実行される。
 本開示のシステムおよび方法の実施の形態で採用されるデータ、データセット、および/または、データベースは、リモートコンピュータ815、ウェブサーバ820、クラウドストレージサーバ825、および、コンピュータサーバ830からダウンロードして、格納することができる。
<5.DVSデータを用いた超解像ストリーム>
 上述したデータ処理システム500は、DVS(Dynamic Vision Sensor)を用いた画像処理システムに適用し得る。
 DVSは、画素の輝度変化をイベントとして検出し、イベントが発生したタイミングで、イベントの発生を表すイベントデータを出力する。
 一般的なイメージセンサが、垂直同期信号に同期して撮像を行い、一定周期で1フレーム(画面)の画像データを出力するのに対して、DVSは、イベントが発生したタイミングで、非同期にイベントデータを出力する。画素の値は、例えば、+変化、-変化、または、変化なし、のような3値を取る。DVSは、変化した画素のみについて画素の位置座標と時間情報を組み合わせて出力するため、高効率で高速、低遅延なデータ出力が可能である。
 以下においては、区別を容易にするため、通常の同期型のイメージセンサを、イメージセンサと称するとともに、イメージセンサが出力するフレーム単位のデータをイメージデータと称する。また、非同期にイベントを検出するイベントセンサをDVSと称するとともに、DVSが出力するデータをイベントデータと称する。
 DVSのイベントデータは、例えば、通常のフレームベースのイメージセンサの画像と組み合わせて超解像画像を生成する処理に利用することができる。
 同期型のイメージセンサと非同期型のDVSとを組み合わせた処理としては、同期型のイメージセンサで得られた動画像に、非同期型のDVSによるイベント出力を適用することにより、時間解像度を高めた超解像動画像を生成する技術が提案されている(例えば、非特許文献「Liyuan Pan, Richard Hartley, Cedric Scheerlinck, Miaomiao Liu, Xin Yu, Yuchao Dai, High Frame Rate Video Reconstruction based on an Event Camera, Extension of our CVPR2019 (Oral) paper, インターネット<https://arxiv.org/pdf/1903.06531.pdf>」)。
 図14は、DVSのイベントデータを利用して、時間分解能を高めた超解像画像を生成する例を示している。
 イメージセンサは、例えば30fpsや60fpsのような、DVSと比較して長周期となる一定のフレームレートで画像を生成、出力する。イメージセンサが出力する、一定のフレームレートで撮像された画像をフレーム画像と称する。図14の例では、時刻T0においてフレーム画像P0が出力され、時刻T1においてフレーム画像P1が出力されている。
 DVSは、イベントが発生したランダムなタイミングで、イベントを検出し、画像を生成、出力する。DVSがランダムに出力する画像を、イベント画像と称する。図14の例では、時刻T0においてイベント画像E0が出力され、時刻T1においてイベント画像E3が出力される他、時刻T0と時刻T1との間の時刻T0aと時刻T0bにおいて、イベント画像E1とE2が出力されている。
 超解像画像を生成する画像処理装置は、例えば、時刻T0におけるフレーム画像P0と、時刻T0と時刻T0aとの輝度変化を表すイベント画像E1に基づいて、時刻T0aにおける超解像画像F1を生成、出力する。また、画像処理装置は、例えば、時刻T0におけるフレーム画像P0および時刻T0aにおける超解像画像F1と、時刻T0 aと時刻T0bとの輝度変化を表すイベント画像E2に基づいて、時刻T0bにおける超解像画像F2を生成、出力する。
 画像処理装置は、以上のように、イメージセンサが出力する動画像の画像ストリームであるイメージストリームと、DVSが出力する動画像の画像ストリームであるイベントストリームとを用いて超解像処理を行うことにより、時間方向の分解能を高めた超解像動画像の画像ストリームである超解像イメージストリームを生成することができる。
 なお、図14の例は、超解像処理により、超解像画像として、時間方向の分解能を向上させた画像を生成する例であるが、例えば、ダイナミックレンジを拡大した高ダイナミックレンジ画像や、空間解像度を向上させた画像を、超解像画像として生成するものでもよい。
 超解像画像を用いることにより、現状のイメージセンサでは捉えることができない画像の特徴を検出できる可能性が拡大する。
 しかしながら、時間解像度を高めた超解像動画像を、ネットワークを介して多数の画像処理装置へ送信する場合、ネットワークのトラフィックを圧迫することが懸念される。
 そこで、以下では、図1のデータ処理システム500を、上述した超解像処理を行う画像解析ネットワークシステムに適用した実施の形態について説明する。図1のデータ処理システム500におけるセンサ511が、図15の画像解析ネットワークシステム1におけるセンサデバイス11または解析装置12に対応し、図1のデータ処理システム500において本処理を行うアプリケーションが、図30において、超解像処理を実行して超解像イメージストリームを生成するアプリケーション(超解像処理ノード14C)に対応する。例えば、評価軸としてネットワークトラフィックをできるだけ小さくし、解析装置12により近いノードの優先順位を高くすることがマニフェストに記載される場合を想定する。あるいはまた、マニフェストを参照せずに、評価軸と優先順位が予め決定されているとしてもよい。超解像処理を実行するアプリケーションを最適配置することにより、超解像の画像ストリームを効率的にネットワーク伝送することができる。
<6.超解像画像を用いた画像解析ネットワークシステム>
 図15は、本技術を適用した画像処理システムの一実施の形態である画像解析ネットワークシステムの構成例を示している。
 図15の画像解析ネットワークシステム1は、上述した超解像処理によって生成される超解像画像を用いた画像解析処理を行うシステムである。画像解析ネットワークシステム1では、センサデバイス11と複数の解析装置12(12A乃至12C)とが、ネットワーク13を介して接続される。
 センサデバイス11は、イメージセンサとDVSを有しており、超解像処理を行う元データとなるイメージデータとイベントデータを生成する。
 解析装置12は、例えば、ディープラーニングなどの機械学習を用いたAIエンジンを備え、イメージデータとイベントデータから生成された超解像画像を用いた画像解析処理を行う画像処理装置である。
 ネットワーク13は、例えば、インターネット、公衆電話回線網、所謂4G回線や5G回線等の無線移動体用の広域通信網、WAN(Wide Area Network)、LAN(Local Area Network)、Bluetooth(登録商標)規格に準拠した通信を行う無線通信網、NFC(Near Field Communication)等の近距離無線通信の通信路、赤外線通信の通信路、HDMI(登録商標)(High-Definition Multimedia Interface)やUSB(Universal Serial Bus)等の規格に準拠した有線通信の通信網等、任意の通信規格の通信網や通信路である。
 ネットワーク13には、センサデバイス11と複数の解析装置12の他、複数のノード14(14a乃至ノード14i)が存在する。各ノード14は、例えば、センサデバイス、ルータ、モデム、ハブ、ブリッジ、スイッチングハブ、基地局制御装置、サーバなどのネットワーク接続装置であり、データの出力元から、宛先となる装置へ、データを転送する機能を少なくとも有する。本実施の形態において、データの出力元は、センサデバイス11であり、出力されるデータは、センサデータであるイメージデータもしくはイベントデータ、または、超解像処理により生成された超解像画像である。センサデバイス11から出力されたデータの宛先となる装置は、超解像画像を用いた画像解析処理を行う各解析装置12である。
 なお、以下において、データの出力元であるセンサデバイス11から、宛先装置である各解析装置12までのデータ伝送経路の所定のノード14を起点としたとき、データの取得先であるセンサデバイス11側の経路を上流、データの出力先である解析装置12側の経路を下流と呼ぶことがある。
 図15では、紙面の制約上、ノード14の個数が、ノード14aからノード14iまでの9個であり、解析装置12の個数が、解析装置12A乃至12Cの3個の例が示されているが、解析装置12およびノード14の個数は、これに限られず、任意である。
<超解像画像の解析アプリケーション例>
 図16および図17を参照して、図15の画像解析ネットワークシステム1のアプリケーション適用例について説明する。
 図16は、画像解析ネットワークシステム1を適用した第1のアプリケーションの参考画像例である。
 第1のアプリケーションとしての画像解析ネットワークシステム1は、速度違反のバイク(移動体)を検知し、それに乗っている人物を特定して追跡、通報するシステムである。
 センサデバイス11は、例えば、高速道路等に配置され、通過するバイクや自動車等の移動体を捉えた30fpsや60fpsなどの長周期のイメージデータと、高速、低遅延なイベントデータとを出力する。
 複数の解析装置12は全国各地に散らばって配置されており、各解析装置12は、様々な人物の特徴量をアプリケーションにより収集してデータベース化している。解析装置12は、センサデバイス11が出力したイメージデータとイベントデータとから生成された超解像画像F11内の注目領域ROI-1乃至ROI-4に含まれる人物の特徴を認識して、人物を特定して通報する。
 人間の身体のパーツの細かな動かし方には個人差がある。DVSは、検索対象人物の顔の特徴量など、従来、人物特定に使われてきた特徴量ばかりでなく、人間の目を超えたAIエンジンにのみ解析可能な、DVSにしか検知することのできない、身体の各部の細かな動きの特徴を検出することができる。
 したがって、各解析装置12は、フレーム単位のイメージデータのみから判定するより、DVSによるイベントデータを用いて生成された超解像画像を用いて認識処理することにより、精度高く人物を特定することができる。
 また、上記のような人物特定は即座に行われる必要があり、全国各地で分散稼働する解析装置12に対して解析すべきデータを同時に共有させて解析することにより、リアルタイム性を担保した画像解析処理が可能となる。
 したがって、画像解析ネットワークシステム1では、全国に散らばった様々な人物の特徴量データベースを持つ人の目を超えた動作特徴解析可能なAIエンジン群により人物認識処理を行い、該当人物のリアルタイム判定が可能となる。
 図17は、画像解析ネットワークシステム1を適用した第2のアプリケーションの参考画像例である。
 第2のアプリケーションとしての画像解析ネットワークシステム1は、抗議デモにおいて暴徒化した人物の危険行動を予測し、危険人物を同定し、機動隊への防御指示等をリアルタイムに行うシステムである。
 センサデバイス11は、例えば、都市部の道路や歩道等に配置され、抗議デモのデモ隊を捉えた30fpsや60fpsなどの長周期のイメージデータと、高速、低遅延なイベントデータとを出力する。
 各解析装置12は、フレーム単位のイメージデータと、DVSによるイベントデータを用いて生成された超解像画像を用いて認識処理することにより、人物の行動(危険行動)を予測し、危険人物を同定する。例えば、超解像画像F12内の注目領域ROI-11乃至ROI-15に含まれる人物が、解析装置12により危険人物として同定され、機動隊へ通知される。DVSによるイベントデータを用いて生成された超解像画像を用いて、人物を認識する認識処理を行うことにより、フレーム単位のイメージデータでは検知できない人間の身体の細かな動きを認識することができ、危険行動予測および危険人物同定を高精度に行うことができる。
 今後は、ありとあらゆるセンサデバイス11が世の中に普及していくため、センサデバイス11が検知した様々な種類のデータが物理的に離れた場所に分散して、蓄積されていく可能性がある。また、ある目的でとったデータが、他の目的や、さまざまな用途で使われていくことも予想される。例えば、農業管理用にとったデータが気象予報用途に使われたり、ライフログ的にとったデータが犯罪者捜査などに使われたりすることも考えられる。これらのデータは分散管理されるため、それらのデータをもとに解析する解析装置12も分散配置されて稼働する可能性が高い。
 センサデバイス11が検知した様々な種類のデータは、高速に解析装置12に転送され、解析装置12がリアルタイム性を担保して解析処理を行うことが望まれる。
 従って、イメージセンサやDVSからのデータを、このような分散された解析装置12に配送して解析させるような場合に、ネットワーク13内を無駄なデータが流れないようにしなければならない。センサデバイス11から各解析装置12までのネットワーク13の経路上で、できるだけ必要最小限のデータに絞って流さなければならない。
 すなわち、センサデバイス11で得られたデータを、ネットワーク13内に分散された各解析装置12へ無駄なく(必要最小限に)配送して、各解析装置12に解析させるような仕組みが必要となる。
<7.ストリーム配信方法の例>
 センサデバイス11から各解析装置12へ、無駄なネットワークトラフィックを抑えて、超解像イメージストリーム(超解像画像の画像データ)を転送する仕組みを検討すると、図18乃至図24で示される方法が考えられる。
 まず、解析装置12が行う解析処理の処理速度を向上させ、リアルタイム性を担保する場合、分散配置された複数の解析装置12それぞれには、イメージデータまたは超解像画像で検出されたすべての解析対象を処理させるのではなく、注目領域ROIごとに処理を分けて、注目領域ROIごとの超解像イメージストリーム(以下、ROI超解像イメージストリームと称する。)を配信して、解析処理を行わせることが好ましい。
 例えば、図18に示されるように、センサデバイス11が、注目領域ROI-1のROI超解像イメージストリームを生成し、ネットワーク13を介して、担当する各解析装置12へ配信する。
 ここで、センサデバイス11は、すべての解析装置12の解析能力に対応するために、高分解能の注目領域ROI-1のROI超解像イメージストリームを生成し、各解析装置12へマルチキャスト配信したとする。
 しかしながら、注目領域ROI-1の解析を担当する解析装置12の解析能力が、そこまで高くなく、必要以上の分解能(本例では、時間分解能)のROI超解像イメージストリームである場合には、分解能が高いほど、イメージストリームが占有する帯域は大きくなるため、トラフィックを圧迫する要因となる。
 例えば、配信されるROI超解像イメージストリームの分解能に応じて、ネットワーク13を占有する帯域が、広帯域(高分解能)、中帯域(中分解能)、狭帯域(低分解能)の3種類に分類されるとすると、センサデバイス11が、広帯域のROI超解像イメージストリームをマルチキャスト配信し、解析装置12Aにとって必要十分な超解像ストリームの帯域が中帯域であり、解析装置12Bにとって必要十分な超解像ストリームの帯域が狭帯域である場合には、センサデバイス11は、必要以上の広帯域のROI超解像イメージストリームを配信し、ネットワーク13のトラフィックを圧迫することになる。
 実際には、図19に示されるように、イメージデータまたは超解像画像で検出された複数の注目領域ROIそれぞれについて、必要以上の広帯域のROI超解像イメージストリームが配信されることになるので、トラフィックはさらに圧迫される。
 必要以上の広帯域のROI超解像イメージストリームが配信されてしまうことに対処するためには、分解能について各々の解析装置12の要件を予め上流側に通知しておき、図20に示されるように、センサデバイス11が、各解析装置12の分解能に応じたROI超解像イメージストリームを生成し、配信することが考えられる。
 図20は、解析装置12Aに対しては、解析装置12Aにとって必要十分な中帯域の超解像ストリームを生成し、解析装置12Bに対しては、解析装置12Bにとって必要十分な狭帯域の超解像ストリームを生成する様子を示している。
 また、生成したROI超解像イメージストリームをマルチキャスト配信するのではなく、図21に示されるように、ポイントツーポイントで、必要十分な帯域の超解像ストリームを配信することが望ましい。
 図21は、センサデバイス11が、解析装置12Aにとって必要十分な中帯域のROI超解像イメージストリームを生成して、ポイントツーポイントで解析装置12Aに配信し、解析装置12Bおよび12Cに対しては、必要十分な狭帯域のROI超解像イメージストリームを生成して、ポイントツーポイントで解析装置12Bおよび12Cに配信する様子を示している。
 しかしながら、ポイントツーポイントの配信では、解析装置12の台数が非常に多くなると、ポイントツーポイントストリーミングの負荷が大きくなってしまう。また、解析装置12各々の分解能要件に合わせて上流側でストリーム生成するのは難しいため、何らかの最適化が必要となる。
 例えば、図22に示されるように、センサデバイス11が、中帯域と狭帯域それぞれのROI超解像イメージストリームを生成して、それぞれの分解能を必要とする解析装置12へ、マルチキャスト配信する方法が考えられる。図22の例では、中帯域のROI超解像イメージストリームが解析装置12Aに配信され、狭帯域のROI超解像イメージストリームが、解析装置12Bおよび12Cにマルチキャスト配信されている。
 あるいはまた、図23に示されるように、センサデバイス11から、ネットワーク13の途中のノード14までは、最大帯域(広帯域)のROI超解像イメージストリームをマルチキャスト配信し、途中のノード14において、それより下流の配信先の解析装置12の分解能要件に合わせて分解能を変更したROI超解像イメージストリームを生成し、各解析装置12へマルチキャスト配信する方法が考えられる。図22の例では、途中のノード14において、広帯域のROI超解像イメージストリームから、中帯域と狭帯域のROI超解像イメージストリームが生成され、中帯域のROI超解像イメージストリームが、解析装置12Aに配信され、狭帯域のROI超解像イメージストリームが、解析装置12Bおよび12Cにマルチキャスト配信されている。
 上記のいずれの方法を採用した場合でも、ネットワーク13の上流側から、ROI超解像イメージストリームが流れるため、図24のように、多数のセンサデバイス11が存在し、かつ、それぞれのセンサデバイス11が撮像した画像に多数の注目領域ROIが設定されるような場合、ネットワーク13におけるトラフィックの圧迫は避けられない。
 以上のように、センサデバイス11が撮像した画像に多数の解析対象物が含まれ、それらに対して注目領域ROIが設定され、ネットワーク13に分散配置された多数の解析装置12が、所定の時間内に画像解析を行うために、解析処理を同時実行するようなケースでは、注目領域ROI毎の超解像処理された時間分解能が高いイメージストリーム(ROI超解像ストリーム)を、ネットワーク13を介して多数の解析装置12へ配信しなければならず、注目領域ROIが多ければ多いほど、ネットワーク13のトラフィックを圧迫してしまう。
 また、センサデバイス11、または、センサデバイス11と最初に接続されるサーバ等のノード14が、ROI超解像ストリームを生成する場合、配信先の解析装置12毎の解析能力を把握できていなければ、必要以上に高分解能なイメージストリームを配信してしまう可能性があり、その結果、ネットワーク13のトラフィックが圧迫される。
<8.画像解析ネットワークシステムが行うストリーム配信方法の例>
 そこで、図15の画像解析ネットワークシステム1は、上述したような注目領域ROI毎のROI超解像ストリームの配信も可能であるが、ネットワーク13のトラフィックを抑制し、効率的に伝送するため、図25に示されるような、ROI超解像ストリームの配信を行う。
 図25は、図15の画像解析ネットワークシステム1が行う、ROI超解像ストリームの配信の概念図を示している。
 画像解析ネットワークシステム1は、センサデバイス11から複数の解析装置12までのネットワーク13内にある複数のノード14のなかから、解析装置12に近い下流のノード14で、イメージストリームおよびイベントストリームからROI超解像ストリームを生成するようにして、解析装置12へ配信する。ROI超解像ストリームを生成する下流のノード14までは、センサデバイス11が生成したイメージストリームおよびイベントストリームが、そのまま伝送される。イメージストリームおよびイベントストリームからROI超解像ストリームを生成するノード14(後述する超解像処理ノード14C)は、少なくともセンサデバイス11よりも解析装置12に近いノード14とされる。
 図26は、図25のROI超解像ストリームの配信の概念図をさらに詳細に示した図である。
 イメージセンサが撮像したフレーム画像に含まれる複数の注目領域ROI-1乃至ROI-nそれぞれについてのイメージストリームとイベントストリームが、ネットワーク13の伝送経路の解析装置12に近い下流側、例えば、解析装置12と最初に接続されるノード14まで伝送される。解析装置12と最初に接続されるノード14は、取得したイメージストリームおよびイベントストリームからROI超解像ストリームを生成し、解析装置12へ送信する。
 イメージストリームは、長周期のフレーム画像からなるストリームであり、また、イベントストリームは、イベントが発生した画素(アドレス)のみの3値のデータであるため、イメージストリームおよびイベントストリームは、いずれも、ROI超解像ストリームと比較して転送負荷の軽いストリームである。
 イメージストリームは、イメージセンサが撮像したフレーム画像から注目領域ROI単位で抽出した注目領域ROI毎のストリームでもよいし、イメージセンサが撮像したフレーム画像そのまま(以下、全体イメージと称する。)のストリームでもよい。本実施の形態では、全体イメージのイメージストリームを伝送することとする。
 ROI超解像ストリームを生成するノード14以外の、それより上流側の各ノード14は、イメージストリームおよびイベントストリームを中継する。すなわち、各ノード14は、上流側から伝送されてくるイメージストリームおよびイベントストリームを受信し、下流側のノード14へ送信する。また、各ノード14は、受信したイメージストリームおよびイベントストリームをキャッシュ(記憶)し、下流側に新たな解析装置12が追加され、他の経路が追加された場合に、必要に応じて、キャッシュしたイメージストリームおよびイベントストリームを送信可能とする。
 また、イメージストリームおよびイベントストリームを中継する各ノード14は、下流側の配信先の解析装置12の時間分解能の能力に応じて、必要に応じてイベントストリームを間引いて、下流側のノード14へ送信することもできる。なお、以下では、解析装置12の時間分解能の能力を、解析装置12において必要十分な時間分解能の要件ということで、時間分解能要件とも称する。
 図27は、複数の解析装置12それぞれの時間分解能要件に応じて、伝送経路のノード14においてイベントストリームが間引かれて伝送される例を示している。
 解析装置12の時間分解能は、例えば、一定期間に解析装置12が解析処理可能な超解像画像の枚数に相当し、超解像処理では、イベントが発生する毎に超解像画像が生成されるので、イベントが発生する頻度に対応する。したがって、解析装置12の時間分解能は、イベントストリームのイベント頻度(イベント密度)に対応する。
 図27の例では、解析装置12の時間分解能要件をイベント頻度で表し、各解析装置12の時間分解能要件が、矩形の枠で囲んだ数字で表されている。具体的には、解析装置12Aの時間分解能は「1」であり、解析装置12Bの時間分解能は「2」であり、解析装置12Cの時間分解能は「4」であり、解析装置12Dの時間分解能は「1」である。
 センサデバイス11が生成したイベントストリームの時間分解能は、「4」である。ネットワーク13の各ノード14は、下流側にイベントストリームを伝送する際、下流の経路に接続される解析装置12の時間分解能要件(イベント頻度)の最大値に合わせて、イベントストリームを間引いて、下流側のノード14へ送信する。
 例えば、解析装置12Aへ伝送される所定の注目領域ROIのイベントストリームの時間分解能は、センサデバイス11から「4→4→2→1」となる。また、解析装置12Bへ伝送される所定の注目領域ROIのイベントストリームの時間分解能は、センサデバイス11から「4→4→2→2」となる。解析装置12Cへ伝送される所定の注目領域ROIのイベントストリームの時間分解能は、センサデバイス11から「4→4→4→4」となる。また、解析装置12Dへ伝送される所定の注目領域ROIのイベントストリームの時間分解能は、センサデバイス11から「4→4→4→1」となる。
 このように、時間分解能要件(イベント頻度)の最大値に合わせて、イベントストリームを間引いて、下流側のノード14へ送信することにより、ネットワークトラフィックを最適化し、軽減させることができる。
 イベントストリームを間引く処理は、図40および図41を参照して後述するように、例えば、時間方向に隣接するイベントを積算(合成)することで行うことができる。
 なお、ROI超解像ストリームを生成するノード14は、下流側の経路に接続されている解析装置12の数や注目領域ROIの数などによっては、解析装置12と最初に接続されるエッジのノード14ではなく、図28に示されるように、その1つ前のノード14や、2つ前のノード14でROI超解像ストリームを生成した方が、全体としてのネットワークトラフィックを低減できる場合がある。この場合、ROI超解像ストリームを生成するノード14より下流のノード14は、ROI超解像ストリームを中継およびキャッシュするノードとなる。
 図29は、イメージセンサが撮像したフレーム画像に含まれる複数の注目領域ROIに着目して、各注目領域ROIのストリームの伝送経路を示した図である。
 なお、図29は、図が煩雑になるのを防ぐため、注目領域の個数は、注目領域ROI-1乃至ROI-4の4個とされている。
 注目領域ROI-1乃至ROI-4それぞれのイベントストリームが伝送される経路を、注目領域ROIごとにみると、下流側の経路に接続されている解析装置12が解析処理を担当する注目領域ROIごとに、イベントストリームがマルチキャストで配信される。すなわち、すべての解析装置12に、各注目領域ROIのイベントストリームがマルチキャスト配信されるのではなく、解析処理を担当する解析装置12のみに、処理対象の注目領域ROIのイベントストリームがマルチキャスト配信される。これにより、ネットワーク13の経路に、不要なイベントストリームが伝送されることがなく、ネットワークトラフィックが最適化され、軽減される。
 イメージストリームについては、全体イメージのイメージストリームを伝送する場合には、解析装置12と接続されるすべての経路のノード14にマルチキャスト配信されるが、注目領域ROI毎のイメージストリームを伝送する場合には、イベントストリームと同様に、解析処理を担当する解析装置12のみに、処理対象の注目領域ROIのイメージストリームがマルチキャスト配信される。
 以上、図25乃至図29を参照して説明したように、図15の画像解析ネットワークシステム1は、解析装置12に近いネットワーク13の下流側のノード14で超解像ストリームを生成する。これにより、超解像ストリームを生成するネットワーク13のノード14までは、転送負荷の軽いイメージストリームとイベントストリームで伝送することができるので、トラフィックを軽減させることができる。すなわち、超解像の画像ストリームを効率的にネットワーク伝送することができる。
 また、画像解析ネットワークシステム1は、全ての注目領域ROIで一律のフレームレートでストリームを伝送させるのではなく、個々の注目領域ROIごとに、解析装置12の時間分解能要件に応じて、必要十分なイベント頻度に応じた最適な可変フレームレートで伝送させる。これにより、伝送経路のトラフィックを軽減することができ、ストリームを中継するノード14のキャッシュ量も最適化することができる。また、超解像処理を行うノード14も必要以上の超解像処理をセーブすることができ、CPU(GPU)性能を効率的に利用することができる。
<9.画像解析ネットワークシステムのブロック図>
 図30は、図25乃至図29を参照して説明したストリーム配信方法を実現する図15の画像解析ネットワークシステム1の構成例を示すブロック図である。
 画像解析ネットワークシステム1は、センサデバイス11、ブローカーノード14A、中継処理ノード14B,超解像処理ノード14C、オーケストレータ14D、および、解析装置12を含んで構成される。
 図30では、センサデバイス11から所定の1つの解析装置12へROI超解像ストリームが配信される経路に関連する構成例が示されている。したがって、図30の解析装置12は、例えば、図25に示した3台の解析装置12A乃至12Cの所定の1台に対応する。
 ブローカーノード14A、中継処理ノード14B、超解像処理ノード14C、および、オーケストレータ14Dは、図15のネットワーク13内のいずれかのノード14であり、ネットワーク13内の各ノード14は、それが実行する機能によって、ブローカーノード14A、中継処理ノード14B、超解像処理ノード14C、または、オーケストレータ14Dのいずれかに割り当てられる。
 ブローカーノード14Aは、ネットワーク13においてセンサデバイス11と最初に接続されるネットワーク13内のノード14(エッジノード)であり、図15では、例えばノード14aである。
 中継処理ノード14Bは、図26で説明した、イメージストリームおよびイベントストリームを中継およびキャッシュするノードであり、図15では、例えばノード14cやノード14eである。
 なお、中継処理ノード14Bは、ブローカーノード14Aと超解像処理ノード14Cとの間に、複数介在することが一般的であるが、図30では、1つとして説明する。
 超解像処理ノード14Cは、上流側のノード14(中継処理ノード14B)から伝送されてきたイメージストリームとイベントストリームを用いて超解像画像を生成する超解像処理を実行するノードであり、図15では、例えば、ノード14gやノード14hである。超解像処理ノード14Cは、ネットワーク13において解析装置12と最初に接続されるネットワーク13内のノード14(エッジノード)とされることが多いが、ノード14の処理能力やネットワーク13を流れるストリーム全体の帯域等を考慮して、エッジノードよりも上流側のノード14とされる場合もある。
 オーケストレータ14Dは、ネットワーク13の経路に流れるストリームの帯域等を監視し、超解像処理を実行するノード14(超解像処理ノード14C)を決定するノードであり、図15では、例えば、ノード14iである。図30の各構成は、超解像処理ノード14Cが決定された状態の構成を示している。
 センサデバイス11は、イベント・イメージセンサ41、オブジェクトROI抽出エンジン42、ROIカタログジェネレータ43、ROIイメージフィルタ44、および、ROIイベントフィルタ45を備える。
 ブローカーノード14Aは、ROIサブスクリプションブローカ51、ROIイメージブローカ52、および、ROIイベントブローカ53の各モジュールを備える。
 中継処理ノード14Bは、ROIサブスクリプション中継モジュール61、ROIイメージ中継モジュール62、および、ROIイベント中継モジュール63を備える。
 超解像処理ノード14Cは、ROIサブスクリプション中継モジュール71、および、超解像処理モジュール72を備える。
 オーケストレータ14Dは、オーケストレーションモジュール91を備える。
 解析装置12は、ROIサブスクライバ81、および、解析モジュール82の各モジュールを備える。
 センサデバイス11のイベント・イメージセンサ41は、DVS(イベントセンサ)とイメージセンサとを有する。DVSは、イベントが発生したランダムなタイミングで、イベント画像を生成し、イメージセンサは、例えば30fpsや60fpsのような、DVSと比較して長周期で、フレーム画像を生成する。生成されるイベント画像およびフレーム画像は、オブジェクトROI抽出エンジン42、ROIイメージフィルタ44、および、ROIイベントフィルタ45に供給される。
 イベント・イメージセンサ41は、DVSが最初のイベントを検出すると、イメージセンサに撮像を行わせ、生成したフレーム画像を、スナップショットとして、オブジェクトROI抽出エンジン42へ供給する。
 オブジェクトROI抽出エンジン42は、イベント・イメージセンサ41からのスナップショットに基づいて、オブジェクトを認識する処理を実行し、認識したオブジェクト毎に注目領域ROIを割り当てる。そして、オブジェクトROI抽出エンジン42は、オブジェクトを特定したときのスナップショットと、オブジェクト毎に割り当てた注目領域ROIを特定する情報(ROI特定情報)を、ROIカタログジェネレータ43へ供給する。ROI特定情報には、例えば、オブジェクトの注目領域ROIを識別するROI-ID(ROI識別情報)と、オブジェクトの属性情報(オブジェクト属性情報)とが含まれる。オブジェクトの属性情報には、例えば、認識処理により検出されたオブジェクトの種類(人、車、物の名称など)、色、領域を示す座標などが含まれる。スナップショットとROI特定情報は、オブジェクトROI抽出エンジン42から、ROIイメージフィルタ44およびROIイベントフィルタ45へも供給される。
 ROIカタログジェネレータ43は、オブジェクトROI抽出エンジン42から供給される、オブジェクトが含まれた画像であるスナップショットと、注目領域ROIを特定するROI特定情報とに基づいて、ROIカタログを生成し、ブローカーノード14AのROIサブスクリプションブローカ51に供給する。
 図31は、オブジェクトROI抽出エンジン42から供給されたスナップショットと、注目領域ROIの割り当ての例を示している。
 図31のスナップショットSNPには、認識処理により検出されたオブジェクトOBJ1乃至OBJ3が含まれている。オブジェクトOBJ1乃至OBJ3は、例えば、色や車種の異なる車である。オブジェクトOBJ1乃至OBJ3には、ROI識別情報として、ROI-ID-1乃至ROI-ID-3が付与されている。
 ROIカタログジェネレータ43は、オブジェクトOBJ1乃至OBJ3のそれぞれについて、注目領域ROI-ID-1乃至ROI-ID-3を、グローバルユニークに識別するグローバルROI-IDに変換する。グローバルROI-IDは、例えば、イベント・イメージセンサ41を識別するセンサID(sensor-ID-n)と、ROI特定情報(ROI-ID-n)とからなるurn(uniform resource name)とされる(n=1,2,3,・・・)。イメージストリームが、注目領域ROIごとではなく、全体イメージのストリームである場合には、例えば、ROI特定情報(ROI-ID-n)のnを0としたROI-ID-0など、注目領域ROIを限定しないurnが付される。
 図30の説明に戻り、ROIカタログジェネレータ43は、スナップショットSNPと、オブジェクトOBJごとのグローバルROI-IDとオブジェクト属性情報とを含むROI特定情報を、ROIカタログとし、ROIサブスクリプションブローカ51に供給する。このROIカタログは、ROIサブスクリプションブローカ51、ROIサブスクリプション中継モジュール61、および、ROIサブスクリプション中継モジュール71を中継して、ROIサブスクライバ81へ通知される。
 ROIイメージフィルタ44は、オブジェクトROI抽出エンジン42から供給されるスナップショットとオブジェクト毎のROI特定情報とに基づいて、イベント・イメージセンサ41から供給されるフレーム画像をフィルタリングし、フィルタリング処理後のフレーム画像を、ブローカーノード14AのROIイメージブローカ52に供給する。
 ROIイベントフィルタ45は、オブジェクトROI抽出エンジン42から供給されるスナップショットとオブジェクト毎のROI特定情報とに基づいて、イベント・イメージセンサ41から供給されるイベント画像をフィルタリングし、フィルタリング処理後のイベント画像を、ブローカーノード14AのROIイベントブローカ53に供給する。
 すなわち、ROIイベントフィルタ45は、イベント・イメージセンサ41から順次供給されるイベント画像が、ROI特定情報で特定される注目領域ROI単位となるようにフィルタリング(抽出)し、注目領域ROI毎のイベント画像を、イベントストリームとして、ROIイベントブローカ53に供給する。
 これに対して、イメージストリームは、上述したように、注目領域ROI毎のイメージストリームか、または、全体イメージのイメージストリームのどちらでもよく、注目領域ROI毎の場合には、ROIイメージフィルタ44は、注目領域ROI単位となるようにフィルタリング(抽出)するが、全体イメージのイメージストリームの場合には、イベント・イメージセンサ41から順次供給されるフレーム画像をフィルタリングせずに、そのままイメージストリームとして、ROIイメージブローカ52に供給する。
 なお、フレーム画像およびイベント画像に含まれるオブジェクトは動いたり、変化するため、ROIイメージフィルタ44およびROIイベントフィルタ45は、オブジェクトROI抽出エンジン42と協調して、オブジェクトを追尾しながら、フィルタ処理を実行する。
 ブローカーノード14AのROIサブスクリプションブローカ51は、ROIカタログジェネレータ43から供給されるROIカタログを、ROIサブスクリプション中継モジュール61へ送信する。
 また、ROIサブスクリプションブローカ51は、ROIサブスクリプション中継モジュール61を介して、各解析装置12のROIサブスクライバ81から供給されるROIサブスクリプションリクエストを取得する。ROIサブスクリプションリクエストとは、各解析装置12がサブスクライブする注目領域ROIのリクエストであり、サブスクライブするとは、本実施の形態では、超解像イメージストリームを連続的に取得することを表す。したがって、ROIサブスクリプションリクエストとは、換言すれば、解析装置12が超解像イメージストリームを連続的に取得したい注目領域ROIの要求である。
 ROIサブスクリプションリクエストは、具体的には、図32に示されるように、リクエストする注目領域ROIのグローバルROI-IDと、超解像要件とを含んで構成される。超解像要件は、解析装置12が実行する認識処理に必要十分な超解像画像の分解能を示す情報である。本実施の形態では、超解像画像が時間分解能を向上させた画像としているので、例えば、イメージセンサが出力するフレーム画像の時間分解能であるフレームレート[fps]と、DVSがイベントを検出する際の輝度値の閾値に対応するイベント感度とで構成される。イベント感度は、例えば、イベント頻度(イベント密度)でもよい。
 ROIサブスクリプションブローカ51は、オーケストレータ14Dのオーケストレーションモジュール91から、イメージストリームおよびイベントストリームの注目領域ROIごとの送信先および経路を取得し、ROIイメージブローカ52とROIイベントブローカ53に供給する。
 さらに、ROIサブスクリプションブローカ51は、複数の解析装置12それぞれから供給されるROIサブスクリプションリクエストの注目領域ROIごとの超解像要件に基づいて、イメージセンサのフレームレート(動作フレームレート)と、DVSのイベント感度(動作感度)とを決定する。決定されたフレームレートは、ROIイメージブローカ52を介して、ROIイメージフィルタ44およびイベント・イメージセンサ41に供給され、イベント感度は、ROIイベントブローカ53を介して、ROIイベントフィルタ45およびイベント・イメージセンサ41に供給される。
 ROIイメージブローカ52は、ROIサブスクリプションブローカ51から供給される、イメージストリームの注目領域ROIごとの送信先および経路に基づいて、ROIイメージフィルタ44から供給されるイメージストリームを、所要の中継処理ノード14BのROIイメージ中継モジュール62に供給する。配信されるイメージストリームが、全体イメージのストリームである場合には、注目領域ROIに応じた送信先の選択は行われない。
 ROIイベントブローカ53は、ROIサブスクリプションブローカ51から供給される、イベントストリームの注目領域ROIごとの送信先および経路に基づいて、ROIイメージフィルタ44から供給されるイベントストリームを、所要の中継処理ノード14BのROIイベント中継モジュール63に供給する。
 中継処理ノード14BのROIサブスクリプション中継モジュール61は、ROIカタログおよびROIサブスクリプションリクエストを中継する。すなわち、ROIサブスクリプション中継モジュール61は、ROIサブスクリプションブローカ51から供給されるROIカタログを取得して、超解像処理ノード14CのROIサブスクリプション中継モジュール71に供給する。また、ROIサブスクリプション中継モジュール61は、ROIサブスクリプション中継モジュール71から供給されるROIサブスクリプションリクエストを取得して、ROIサブスクリプションブローカ51に供給する。中継処理ノード14Bと超解像処理ノード14Cとの間に、他の中継処理ノード14Bが介在する場合には、他の中継処理ノード14BのROIサブスクリプション中継モジュール61を介して同様の動作を行う。
 ROIイメージ中継モジュール62は、全体イメージまたは注目領域ROIのイメージストリームを中継する。すなわち、ROIイメージ中継モジュール62は、ROIイメージブローカ52から供給される、全体イメージまたは注目領域ROIのイメージストリームを取得し、超解像処理ノード14Cの超解像処理モジュール72に供給する。中継処理ノード14Bと超解像処理ノード14Cとの間に、他の中継処理ノード14Bが介在する場合には、全体イメージまたは注目領域ROIのイメージストリームは、他の中継処理ノード14BのROIイメージ中継モジュール62に供給される。
 ROIイベント中継モジュール63は、注目領域ROIのイベントストリームを中継する。すなわち、ROIイベント中継モジュール63は、ROIイベントブローカ53から供給される、注目領域ROIのイベントストリームを取得し、超解像処理ノード14Cの超解像処理モジュール72に供給する。中継処理ノード14Bと超解像処理ノード14Cとの間に、他の中継処理ノード14Bが介在する場合には、注目領域ROIのイベントストリームは、他の中継処理ノード14BのROIイベント中継モジュール63に供給される。
 また、ROIイベント中継モジュール63は、下流の経路の超解像要件に基づいて、注目領域ROIのイベントストリームを必要に応じて間引き合成し、イベント頻度を低くした低分解能の注目領域ROIのイベントストリームを生成し、超解像処理モジュール72または他のROIイベント中継モジュール63に供給する。
 超解像処理ノード14CのROIサブスクリプション中継モジュール71は、中継処理ノード14BのROIサブスクリプション中継モジュール61と同様に、ROIカタログとROIサブスクリプションリクエストを中継する。すなわち、ROIサブスクリプション中継モジュール71は、ROIサブスクリプション中継モジュール61から供給されるROIカタログを取得して、解析装置12のROIサブスクライバ81に供給する。また、ROIサブスクリプション中継モジュール71は、ROIサブスクライバ81から供給されるROIサブスクリプションリクエストを取得して、ROIサブスクリプション中継モジュール61に供給する。
 超解像処理モジュール72は、中継処理ノード14BのROIイメージ中継モジュール62から供給される全体イメージまたは注目領域ROIのイメージストリームと、ROIイベント中継モジュール63から供給される注目領域ROIのイベントストリームとを用いて、超解像処理を実行する。超解像処理の生成方法は特に限定されない。例えば、上記の非特許文献1で用いられている方法を利用することができる。
 超解像処理モジュール72は、超解像処理により得られた、注目領域ROIの超解像イメージストリーム(ROI超解像イメージストリーム)を、解析装置12の解析モジュール82に供給する。
 オーケストレータ14Dのオーケストレーションモジュール91は、各中継処理ノード14BのROIサブスクリプション中継モジュール61から、ROIカタログとROIサブスクリプションリクエストを取得する。すなわち、センサデバイス11と、分散配置された多数の解析装置12との間のネットワーク13内の経路にある各中継処理ノード14BのROIサブスクリプション中継モジュール61から、ROIカタログとROIサブスクリプションリクエストが取得される。
 オーケストレーションモジュール91は、ROIカタログとROIサブスクリプションリクエストから、各解析装置12が解析処理を行う注目領域ROIに基づいて、センサデバイス11から各解析装置12までの経路を注目領域ROI毎に決定し、中継処理ノード14BのROIサブスクリプション中継モジュール61や、ブローカーノード14AのROIサブスクリプションブローカ51などに供給する。
 オーケストレーションモジュール91は、センサデバイス11からのROIカタログから推測されるストリーム帯域(イメージストリーム帯域および注目領域ROI毎のイベントストリーム帯域)と、各中継処理ノード14BのROIサブスクリプション中継モジュール61のROIサブスクリプションリクエストの情報に基づく、中継処理ノード14B毎のストリーム帯域と、超解像処理が行われた後のROI超解像イメージストリームのストリーム帯域、超解像処理ノード14Cに必要なリソース(演算処理能力およびキャッシュ容量など)とを総合的に判定し、できるだけ解析装置12側に近い下流側の中継処理ノード14Bを、超解像処理ノード14Cに決定する。
 また、オーケストレーションモジュール91は、ネットワーク13を経由する各ストリームの伝送パスの帯域の総量ができるだけ小さくなるように、超解像処理ノード14Cを決定する。
 オーケストレーションモジュール91は、各ストリームの伝送が開始された後も、逐次ストリーミング状況を監視しながら、トラフィックが最適に維持されるように、超解像処理ノード14Cを配置しなおす等の調整を行う。
 超解像処理ノード14Cの配置の決定においては、オーケストレーションモジュール91は、下流側の経路に接続されている解析装置12の数や注目領域ROIの数などに基づいて、解析装置12と最初に接続されるノード14を超解像処理ノード14Cとするか、それよりも上流側のノード14を超解像処理ノード14Cとするかを決定する。
 解析装置12のROIサブスクライバ81は、超解像処理ノード14CのROIサブスクリプション中継モジュール71を介して、センサデバイス11のROIカタログジェネレータ43から供給されるROIカタログを参照し、ROIサブスクリプションリクエストを生成する。具体的には、ROIサブスクライバ81は、ROIカタログに基づいて、ROI超解像画像に含まれる1以上の注目領域ROIのうち、自身が認識処理する注目領域ROIを選択する。そして、ROIサブスクライバ81は、選択した注目領域ROIのグローバルROI-IDと、超解像要件とを含むROIサブスクリプションリクエストを生成する。生成されたROIサブスクリプションリクエストは、超解像処理ノード14C、および、中継処理ノード14Bを介して、ROIサブスクリプションブローカ51に通知される。
 解析モジュール82は、ディープラーニングなどの機械学習を用いたAIエンジンを備え、超解像処理モジュール72からROI超解像イメージストリームを取得し、注目領域ROIの超解像画像を解析する画像解析処理を行う。例えば、解析モジュール82は、注目領域ROIの超解像画像に含まれるオブジェクトOBJの人物を同定(認識)したり、人物の行動(危険行動)を予測(判定)する処理などを行う。
 以上のように、センサデバイス11と複数の解析装置12との間のネットワーク13の各ノード14は、センサデバイス11と複数の解析装置12の配置に応じて、ブローカーノード14A、中継処理ノード14B、超解像処理ノード14C、または、オーケストレータ14Dのいずれかのノード機能が割り当てられ、それぞれの動作を実行する。
 各ノード14が割り当てられたノード機能に必要なモジュールは、ネットワーク13内のアプリケーションリポジトリから必要に応じて検索され、動的に取得される。
 各ノード14は、他のノード14から取得したデータを、ノード14内の各モジュールで共有するとともに、内部に一定期間記憶(キャッシュ)し、新たにネットワーク13に参加したノード14からの要求に応じて、自身が記憶しているイメージストリーム、イベントストリーム、ROIカタログ、超解像要件等の各データを送信することができる。
 図33は、超解像処理ノード14Cが、解析装置12と最初に接続されるノード14ではなく、その1つ上流側のノード14に配置された場合の、超解像処理ノード14Cおよび解析装置12と、その間の中継処理ノード14B’の構成例を示している。
 超解像処理ノード14Cが、ネットワーク13のエッジのノード14ではなく、それより上流側のノード14に配置された場合、超解像処理ノード14Cと解析装置12の間の中継処理ノード14B’は、ROIサブスクリプション中継モジュール61と、ROI超解像ストリーム中継モジュール101とで構成される。
 すなわち、中継処理ノード14B’では、中継処理ノード14BのROIイメージ中継モジュール62とROIイベント中継モジュール63が、ROI超解像ストリーム中継モジュール101に置き換えられる。
 超解像処理ノード14Cの超解像処理モジュール72により、ROI超解像イメージストリームが生成されるので、イメージストリームおよびイベントストリームを中継するROIイメージ中継モジュール62とROIイベント中継モジュール63ではなく、ROI超解像イメージストリームを中継するROI超解像ストリーム中継モジュール101が配置される。
<センサデバイスとブローカーノードの変形例>
 図34および図35は、センサデバイス11とブローカーノード14Aのその他の構成例を示している。
 図30に示した構成例では、センサデバイス11が、イベント・イメージセンサ41、オブジェクトROI抽出エンジン42、ROIカタログジェネレータ43、ROIイメージフィルタ44、および、ROIイベントフィルタ45を備えていたが、イベント・イメージセンサ41以外のモジュールは、ブローカーノード14Aに配置されてもよい。
 図34は、オブジェクトROI抽出エンジン42とROIカタログジェネレータ43を、ブローカーノード14Aに配置した構成例を示している。
 この場合、センサデバイス11は、イベント・イメージセンサ41、ROIイメージフィルタ44、および、ROIイベントフィルタ45を備える。ブローカーノード14Aは、オブジェクトROI抽出エンジン42、ROIカタログジェネレータ43、ROIサブスクリプションブローカ51、ROIイメージブローカ52、および、ROIイベントブローカ53の各モジュールを備える。
 図35は、イベント・イメージセンサ41以外の全てのモジュールを、ブローカーノード14Aに配置した構成例を示している。
 この場合、センサデバイス11は、イベント・イメージセンサ41を備える。ブローカーノード14Aは、オブジェクトROI抽出エンジン42、ROIカタログジェネレータ43、ROIイメージフィルタ44、ROIイベントフィルタ45、ROIサブスクリプションブローカ51、ROIイメージブローカ52、および、ROIイベントブローカ53を備える。
 図34および図35の破線は、図30におけるブローカーノード14Aの構成を示している。
 図30、図34、および、図35の各モジュール配置も、ネットワーク13内のアプリケーションリポジトリから必要に応じて動的に取得されることで実現することができる。
<10.イメージストリームとROIイベントストリームの例>
 図36は、全体イメージのイメージストリームと注目領域ROI単位のイベントストリームをネットワーク伝送する例を示している。
 時刻T11、T12、およびT13は、長周期T(=T12-T11=T13-T12)に対応して、全体イメージのイメージデータが出力されるタイミングを表し、時刻T11にフレーム画像P11が出力され、時刻T12にフレーム画像P12が出力され、時刻T13にフレーム画像P13が出力されて、ネットワーク13を伝送される。
 一方、イベント画像E11乃至E21は、時刻T11から時刻T13の間に発生された所定の注目領域ROIのイベント画像を示している。注目領域ROIに対応するオブジェクトOBJには動きが発生しており、イベント画像E11乃至E21の位置は、イベントが検出される毎に異なっている。
 時刻T11から時刻T12の期間のイベント画像E11乃至E16それぞれに対応した超解像画像を生成するためには、イベント画像E11乃至E16に対応する全領域111のイメージデータとイベントデータが必要となる。
 イベント画像E11乃至E16に対応する全領域111のイメージデータは、伝送されるイメージデータが全体イメージのイメージストリームであるので、伝送されるイメージデータに含まれている。
 イベントストリームは、注目領域ROI単位のストリームであるので、イベント画像E11乃至E16に対応する全領域111は、時刻T12になるまで確定できない。そこで、ROIイベントフィルタ45は、オブジェクトROI抽出エンジン42と協調して、オブジェクトOBJの動きを検出または予測し、移動後のオブジェクト領域に関連する過去のイベント画像も合わせて伝送する。
 例えば、図36において破線で囲まれたイベント画像E11およびE12について説明すると、図37に示されるように、イベント画像E12の領域が検出または予測された時点で、ROIイベントフィルタ45は、イベント画像E12の領域に関連する過去のイベントの領域121のイベントデータも、イベント画像E12とともに伝送する。
 このような処理を逐次的に実行することで、イベント画像E11乃至E16に対応する全領域111のイベントデータを伝送することができ、超解像処理ノード14Cにおいて超解像処理を行うことができる。
 時刻T12から時刻T13の期間のイベント画像E16乃至E21それぞれについても、オブジェクトOBJの動きが検出または予測され、移動後のオブジェクト領域に関連する過去のイベント画像が伝送されることで、イベント画像E16乃至E21に対応する全領域112のイベントデータが超解像処理ノード14Cまで伝送される。
 図38は、イメージストリームとイベントストリームのどちらについても注目領域ROI単位でネットワーク伝送する例を示している。
 図38において、時刻T11から時刻T13の期間に検出されるイベント画像E11乃至E21は、図36と同様である。
 イメージストリームを注目領域ROI単位でネットワーク伝送する場合、時刻T11から時刻T12の期間のイベント画像E11乃至E16それぞれに対応した超解像画像を生成するためには、イメージデータについても、イベントデータと同様に、イベント画像E11乃至E16に対応する全領域111に対応する部分画像Pr11が必要となる。
 しかしながら、イベント画像E11乃至E16に対応する全領域111は、時刻T12になるまで確定できない。そこで、ROIイベントフィルタ45は、時刻T12となり、イベント画像E11乃至E16に対応する全領域111が確定した時点で、全領域111に対応する部分画像Pr11と、イベント画像E11乃至E16に対応する全領域111に対応するイベントデータを伝送する。この場合、注目領域ROI単位のイメージストリームとイベントストリームが、長周期T遅れで伝送される。
 時刻T12から時刻T13の期間のイベント画像E16乃至E21それぞれについても、時刻T13となり、イベント画像E16乃至E21に対応する全領域112が確定した時点で、全領域112に対応する部分画像Pr12と、イベント画像E16乃至E21に対応する全領域112に対応するイベントデータが伝送される。
 図38の伝送方法は、若干転送が遅くなっても、イメージストリームの帯域を抑えたい場合に有用である。
 図39は、図36または図38の伝送方法により超解像処理ノード14Cまでイメージストリームとイベントストリームが伝送され、超解像処理ノード14Cにおいて超解像処理が実行された後の、超解像処理ノード14Cから出力されるROI超解像ストリームの例を示している。
 図39では、図36および図38のイベント画像E11乃至E21の発生タイミングに応じて、超解像画像F11乃至F21が生成され、ROI超解像ストリームとして伝送されている。
<11.ROIイベントストリームの間引き合成処理>
 次に、ROIイベント中継モジュール63が行うイベントストリームの間引き合成について説明する。
 ROIイベント中継モジュール63は、下流の経路の超解像要件に基づいて、注目領域ROIのイベントストリームを必要に応じて間引き合成し、合成後のイベントストリームを送信することができる。
 図40は、DVSの所定の一画素のイベントデータの時系列データ(イベント列)を示している。
 DVSでは、例えば、各画素に入射された受光量の対数値に応じた電圧信号が、画素信号として検出される。そして、DVSは、画素信号が表す輝度変化が所定の閾値Thを超えて明るく変化した場合に、正方向の輝度変化を表す“+1”を出力し、所定の閾値Thを超えて暗く変化した場合に、負方向の輝度変化を表す“-1”を出力する。
 図40の例において、DVSが出力した合成前のイベント列EV1では、時刻t1において、“+1”が出力され、時刻t2において、“+1”が出力され、時刻t3において、“-1”が出力され、時刻t4において、“-1”が出力され、時刻t5において、“+1”が出力され、時刻t6において、“+1”が出力されている。時刻t1、t2、t3、・・・・t6どうしの間隔は、図40に示されるように一定ではない。
 イベントデータは、例えば、AER(Address-Event Representation)形式と呼ばれる以下の形式で表される。
  e = (x, y, ts, p)   ・・・・・・・・(1)
 式(1)において、x,yは、輝度変化が発生した画素の座標を表し、tsは、輝度変化が発生した時刻に相当するタイムスタンプを表し、pは、輝度変化の極性(正方向または負方向)を表す。
 DVSが出力したイベント列EV1を、例えば、イベント頻度を1/2に間引き合成した場合、間引き合成後のイベント列EV2は、図40に示されるようになる。
 ROIイベント中継モジュール63は、例えば、時間方向に隣接する2つのイベントデータを積算することにより、間引き合成前のイベント列EV1から、間引き合成後のイベント列EV2を生成する。
 間引き合成後のイベントデータは、式(1)のAER形式を拡張した次の拡張AER形式で表すことができる。
  ce = (x, y, ts, p, n)   ・・・・・・・・(2)
 式(2)において、nは、度数を表し、例えば、時刻t2のイベントデータでは、n=2となる。
 拡張AER形式において、度数nを1とすると、間引き合成前のイベント列EV1も表現可能である。
 なお、間引き合成の方法は、時間方向に隣接する複数のイベントデータを積算する以外の方法を採用してもよい。
 図41は、所定の注目領域ROIのイベントストリームの間引き合成前と間引き合成後の例を示している。
 時刻T41乃至T42における間引き合成前のイベントストリームは、例えば、イベント画像E41乃至E52で構成される。
 時刻T41乃至T42における間引き合成後のイベントストリームは、例えば、イベント画像E41’,E43’,E46’,E49’,E52’で構成される。
 時刻T41乃至T42において、イメージストリームは、時刻T41におけるフレーム画像P41と、時刻T42におけるフレーム画像P42で構成される。
<12.画像解析ネットワークシステムの処理の流れ>
 次に、図42のフローチャートを参照して、画像解析ネットワークシステム1による超解像画像解析処理の装置間の流れについて説明する。
 なお、図42の超解像画像解析処理が開始される前には、解析装置12のROIサブスクライバ81が、中継処理ノード14BのROIサブスクリプション中継モジュール61を介して、ブローカーノード14AのROIサブスクリプションブローカ51が発行するROIカタログを取得するためのROIカタログ用のマルチキャストに参加する処理が行われている。
 初めに、ステップS1において、センサデバイス11は、イベントを検出するとスナップショットを取得する。具体的には、センサデバイス11のDVSがイベントを検出すると、オブジェクトROI抽出エンジン42を起動させるとともに、イメージセンサに撮像を行わせる。そして、イメージセンサが撮像したフレーム画像が、スナップショットとしてオブジェクトROI抽出エンジン42に供給される。
 ステップS2において、センサデバイス11は、取得したスナップショットに基づいてオブジェクトを認識する処理を実行し、認識したオブジェクト毎に注目領域ROIを割り当てる。さらに、センサデバイス11は、スナップショットと、注目領域ROIを特定するROI特定情報とに基づいて、ROIカタログを生成し、解析装置12へ通知する。ROIカタログは、ブローカーノード14A、1以上の中継処理ノード14Bを経由して、解析装置12まで伝送される。
 解析装置12は、ステップS3において、センサデバイス11から通知されたROIカタログを取得して参照し、自身が認識処理する注目領域ROIを選択する。そして、解析装置12は、選択した注目領域ROIのROIサブスクリプションリクエストを生成し、1以上の中継処理ノード14Bを経由して、ブローカーノード14Aへ通知する。ここで、ROIサブスクリプションリクエストは、自身が認識処理する注目領域ROIの超解像イメージストリームを連続的に取得したいことの要求である。ROIサブスクリプションリクエストには、選択した注目領域ROIのグローバルROI-IDと、超解像要件とが含まれる。
 オーケストレータ14Dは、ステップS4において、各中継処理ノード14Bが中継する、ROIカタログとROIサブスクリプションリクエストを取得する。オーケストレータ14Dは、ROIカタログから推測されるストリーム帯域と、各中継処理ノード14Bにおいて超解像処理が行われた後のROI超解像イメージストリームのストリーム帯域等に基づいて、できるだけ解析装置12側に近い下流側の中継処理ノード14Bを、超解像処理ノード14Cに決定し、通知する。
 ステップS5において、超解像処理ノード14Cであることが通知された中継処理ノード14Bは、超解像処理ノード14Cに必要なモジュール、具体的には、超解像処理モジュール72をネットワーク13内のアプリケーションリポジトリから取得する。
 ステップS4およびS5の処理以降、センサデバイス11と解析装置12との間のネットワーク13内の所定の1つのノード14であって、できるだけ解析装置12側に近い下流側の中継処理ノード14Bが、超解像処理ノード14Cとして動作する。
 一方、ブローカーノード14Aは、ステップS6において、複数の解析装置12それぞれから供給されるROIサブスクリプションリクエストに含まれる、注目領域ROIごとの超解像要件に基づいて、イメージセンサのフレームレートと、DVSのイベント感度とを決定し、センサデバイス11へ通知する。
 ステップS4およびS5とステップS6の処理は並行して実行することができる。
 ステップS7において、センサデバイス11は、長周期のフレームレートで撮像を行い、その結果生成される全体イメージのイメージストリームを超解像処理ノード14C宛に送信するとともに、認識したオブジェクト毎のイベントを検出して、注目領域ROI毎のイベントストリームを超解像処理ノード14C宛に送信する。フレーム画像およびイベント画像に含まれるオブジェクトは、動きに応じてトラッキングされる。
 全体イメージのイメージストリームおよび注目領域ROI毎のイベントストリームは、ブローカーノード14Aと、1以上の中継処理ノード14Bとを経由して、超解像処理ノード14Cまで転送される。
 ステップS8において、途中経路の所定の中継処理ノード14Bは、下流の経路の超解像要件に基づいて、注目領域ROIのイベントストリームを必要に応じて間引き合成し、イベント頻度を低くした低分解能の注目領域ROIのイベントストリームを生成して、次の中継処理ノード14Bまたは超解像処理ノード14Cへ転送する。
 ステップS9において、超解像処理ノード14Cは、全体イメージのイメージストリームと注目領域ROIのイベントストリームとを用いて、超解像処理を実行し、注目領域ROIの超解像イメージストリーム(ROI超解像イメージストリーム)を生成する。生成されたROI超解像イメージストリームは、解析装置12宛に送信される。
 超解像処理ノード14Cが、解析装置12と接続されたネットワーク13内のエッジのノード14ではなく、超解像処理ノード14Cと解析装置12との間に中継処理ノード14B’が介在する場合には、ROI超解像イメージストリームが、中継処理ノード14B’から解析装置12へ転送される。
 ステップS10において、解析装置12は、ROI超解像イメージストリームを取得し、注目領域ROIの超解像画像を解析する画像解析処理を行う。例えば、解析装置12は、注目領域ROIの超解像画像に含まれるオブジェクトOBJの人物を同定(認識)したり、人物の行動(危険行動)を予測(判定)する処理などを行う。
 画像解析ネットワークシステム1の各装置は、以上のように超解像画像解析処理を実行する。これにより、超解像の画像ストリームを効率的にネットワーク伝送することができる。
 なお、解析装置12が画像解析処理を実行した後の流れについては省略するが、例えば、解析結果を収集する所定のデータサーバ等へ、解析結果が送信される。
 次に、図43乃至図45のフローチャートを参照して、画像解析ネットワークシステム1のモジュール単位の、より詳細な超解像画像解析処理の流れについて説明する。
 初めに、図43のステップS21において、センサデバイス11のイベント・イメージセンサ41がイベントを検出すると、オブジェクトROI抽出エンジン42を起動させる。
 続いて、ステップS22において、イベント・イメージセンサ41は、撮像を行い、その結果得られたフレーム画像を、スナップショットとしてオブジェクトROI抽出エンジン42に供給する。
 ステップS23において、オブジェクトROI抽出エンジン42は、イベント・イメージセンサ41からのスナップショットに基づいて、オブジェクトを認識する処理を実行し、認識したオブジェクト毎に注目領域ROIを割り当てる。そして、オブジェクトROI抽出エンジン42は、オブジェクトを特定したときのスナップショットと、オブジェクト毎に割り当てた注目領域ROIを特定するROI特定情報を、ROIカタログジェネレータ43へ通知する。
 ステップS24において、ROIカタログジェネレータ43は、オブジェクトROI抽出エンジン42から供給されたスナップショットとROI特定情報とに基づいて、ROIカタログを生成し、ブローカーノード14AのROIサブスクリプションブローカ51に通知する。ROIカタログは、スナップショットと、オブジェクトごとのROI特定情報とで構成され、ROI特定情報は、グローバルROI-IDとオブジェクト属性情報とを含む。ROIサブスクリプションブローカ51へ通知されたROIカタログは、1以上の中継処理ノード14BのROIサブスクリプション中継モジュール61を経由して、各解析装置12のROIサブスクライバ81へ供給される。
 ステップS25において、各解析装置12のROIサブスクライバ81は、センサデバイス11のROIカタログジェネレータ43から供給されたROIカタログに基づいて、1以上の注目領域ROIのうち、自身が認識処理する注目領域ROIを選択する。そして、ROIサブスクライバ81は、選択した注目領域ROIのグローバルROI-IDと、超解像要件とを含むROIサブスクリプションリクエストを生成する。生成されたROIサブスクリプションリクエストは、1以上の中継処理ノード14BのROIサブスクリプション中継モジュール61を経由して、ブローカーノード14AのROIサブスクリプションブローカ51へ通知される。
 図44のステップS41において、オーケストレータ14Dのオーケストレーションモジュール91は、各中継処理ノード14BのROIサブスクリプション中継モジュール61が伝送する、ROIカタログとROIサブスクリプションリクエストを取得する。そして、オーケストレーションモジュール91は、各解析装置12が解析処理を行う注目領域ROIに基づいて、注目領域ROI毎のセンサデバイス11から各解析装置12までの経路と、超解像処理を実行する超解像処理ノード14Cを決定する。センサデバイス11から各解析装置12までの経路に存在する超解像処理ノード14Cに決定された中継処理ノード14Bは、超解像処理モジュール72をネットワーク13内のアプリケーションリポジトリから取得する。決定された経路は、中継処理ノード14BのROIサブスクリプション中継モジュール61や、ブローカーノード14AのROIサブスクリプションブローカ51へ通知される。決定された経路は、中継処理ノード14Bにおいて、ROIサブスクリプション中継モジュール61から、ROIイメージ中継モジュール62およびROIイベント中継モジュール63にも通知され、ブローカーノード14Aにおいて、ROIサブスクリプションブローカ51からROIイメージブローカ52およびROIイベントブローカ53にも通知される。
 続いて、ステップS42において、ROIサブスクリプションブローカ51は、複数の解析装置12それぞれのROIサブスクライバ81から通知されたROIサブスクリプションリクエストに含まれる注目領域ROIごとの超解像要件に基づいて、イメージセンサのフレームレートを決定し、ROIイメージブローカ52を介して、センサデバイス11のROIイメージフィルタ44およびイベント・イメージセンサ41へ通知する。
 続いて、ステップS43において、ROIサブスクリプションブローカ51は、ROIサブスクリプションリクエストに含まれる注目領域ROIごとの超解像要件に基づいて、DVSのイベント感度を決定し、ROIイベントブローカ53を介して、センサデバイス11のROIイベントフィルタ45およびイベント・イメージセンサ41へ通知する。
 ステップS44において、センサデバイス11のイベント・イメージセンサ41は、長周期による撮像を行ってフレーム画像を生成し、その全体イメージのフレーム画像を、ROIイメージフィルタ44に供給する。
 ステップS45において、ROIイメージフィルタ44は、イベント・イメージセンサ41から供給された全体イメージのフレーム画像を、必要に応じてフィルタリングし、ブローカーノード14AのROIイメージブローカ52に供給する。
 すなわち、イメージストリームは、全体イメージで送信される場合と、注目領域ROI単位で送信される場合とがあり、注目領域ROI単位で送信される場合に、ROIイメージフィルタ44は、オブジェクトROI抽出エンジン42から供給されたスナップショットとオブジェクト毎のROI特定情報とに基づいて、全体イメージのフレーム画像を注目領域ROI単位にフィルタリングし、フィルタリング処理後の注目領域画像を、ブローカーノード14AのROIイメージブローカ52に供給する。全体イメージで送信される場合には、フィルタリングされない全体イメージのフレーム画像が、ブローカーノード14AのROIイメージブローカ52に供給される。
 ステップS46において、イベント・イメージセンサ41は、イベントを検出してイベント画像を生成し、ROIイベントフィルタ45に供給する。
 ROIイベントフィルタ45は、ステップS47において、オブジェクトROI抽出エンジン42から供給されたスナップショットとオブジェクト毎のROI特定情報とに基づいて、イベント・イメージセンサ41から供給されたイベント画像をフィルタリングし、フィルタリング処理後のイベント画像を、ブローカーノード14AのROIイベントブローカ53に供給する。
 フレーム画像に対するステップS44およびS45の処理と、イベント画像に対するステップS46およびS47の処理は、並行して実行することができる。
 フレーム画像は、一定周期(長周期)で順次生成され、イメージストリームとして、ROIイメージブローカ52に供給される。イベント画像は、イベントの検出毎に順次生成され、イベントストリームとして、ROIイベントブローカ53に供給される。
 次に、図45のステップS61において、ROIイベントブローカ53は、注目領域ROIごとの経路に基づいて、ROIイメージフィルタ44から供給されたイベントストリームを、中継処理ノード14BのROIイベント中継モジュール63に転送する。
 ROIイベント中継モジュール63は、ステップS62において、注目領域ROIのイベントストリームを中継する。また、ROIイベント中継モジュール63は、下流の経路の超解像要件に基づいて、注目領域ROIのイベントストリームを必要に応じて間引き合成し、イベント頻度を低くした低分解能の注目領域ROIのイベントストリームを生成し、超解像処理モジュール72に供給する。
 ステップS63において、ROIイメージブローカ52は、注目領域ROIごとの経路に基づいて、ROIイメージフィルタ44から供給されたイメージストリームを、中継処理ノード14BのROIイメージ中継モジュール62に供給する。ROIイメージ中継モジュール62は、送信されてきた全体イメージまたは注目領域ROIのイメージストリームをさらに中継して、超解像処理モジュール72に転送する。
 ステップS64において、超解像処理モジュール72は、中継処理ノード14BのROIイメージ中継モジュール62から供給された全体イメージまたは注目領域ROIのイメージストリームと、ROIイベント中継モジュール63から供給された注目領域ROIのイベントストリームとを用いて、超解像処理を実行する。そして、超解像処理モジュール72は、超解像処理により得られた、注目領域ROIの超解像イメージストリーム(ROI超解像イメージストリーム)を、解析装置12の解析モジュール82に供給する。
 ステップS65において、解析モジュール82は、超解像処理モジュール72からROI超解像イメージストリームを取得し、注目領域ROIの超解像画像を解析する画像解析処理を行う。例えば、解析モジュール82は、注目領域ROIの超解像画像に含まれるオブジェクトOBJの人物を同定(認識)したり、人物の行動(危険行動)を予測(判定)する処理などを行う。
 画像解析ネットワークシステム1の各モジュールは、以上のように超解像画像解析処理を実行する。これにより、超解像の画像ストリームを効率的にネットワーク伝送することができる。
<13.ストリームの伝送フォーマットの例>
 次に、図46を参照しながら、マルチキャストで配信されるイメージストリームとイベントストリームの伝送フォーマットについて説明する。
 注目領域ROI単位にマルチキャストで配信されるイメージストリームとイベントストリームは、イメージストリームチャネルとイベントストリームチャネルの2つのトランスポートチャネルからなる。
 図46は、イメージストリームチャネルとイベントストリームチャネルのフォーマットを示す図である。
 イメージストリームチャネルは、注目領域ROIごとのイメージデータを伝送する場合には、注目領域ROIの数に応じた複数のチャネルとなるが、全体イメージのイメージデータを伝送する場合には、1つのチャネルとなる。
 イメージストリームチャネルは、各時刻に対応した複数のイメージパケット群で構成され、各イメージパケット群は、1以上のイメージパケットからなる。イベントストリームチャネルは、各時刻に対応した複数のイベントパケット群で構成され、各イベントパケット群は、1以上のイベントパケットからなる。
 イメージパケットは、イメージパケットヘッダと、イメージパケットペイロードとからなる。イメージパケットヘッダは、グローバルROI-ID、Packet Sequence Number、および、Capture Timeを含む。イメージパケットペイロードには、全体イメージまたは注目領域ROIのイメージデータが分割されて、所定のイメージフォーマットで格納される。Packet Sequence Numberは、パケットペイロード単位で割り当てられた、チャネルで一意な番号であり、十分な長さで周期的にゼロリセットされる。
 イベントパケットは、イベントパケットヘッダと、イベントパケットペイロードとからなる。イベントパケットヘッダは、グローバルROI-ID、Packet Sequence Number、および、Reference Capture Timeを含む。Reference Capture Timeは、参照されるイメージパケットのCapture Timeを表す。
 ここで、イメージストリームチャネルに、全体イメージのイメージデータが格納される場合には、複数のイベントストリームチャネルそれぞれが参照するイメージストリームが共有されるので、異なるイベントストリームチャネルで転送されるイベントパケットのReference Image Capture Timeには、共有先の全体イメージストリームを示すグローバルROI-IDが付記される。
 図47は、イベントパケットペイロードのフォーマットを示す図である。
 イベントパケットペイロードには、例えば、上述した式(1)の“e”で表されるAER形式、または、式(2)の“ce”で表される拡張AER形式で、複数のイベントデータが格納される。
 なお、イベントパケットペイロードに格納されるイベントデータの形式は、AER形式または拡張AER形式に限定されず、その他の形式であってもよい。例えば、イベントフレームやTime Surface等と呼ばれる形式で格納してもよい。イベントパケットペイロードには、イベントデータの形式を識別するイベントデータフォーマット識別子(一意なURL)とともに、そのイベントデータフォーマット識別子が表す形式でエンコードされたイベントデータを格納してもよい。また、イベントデータフォーマット識別子は、イベントパケットヘッダに格納してもよい。
 また、グローバルROI-IDに対応するイメージストリームチャネル、または、イベントストリームチャネルのセッション(仮想的なパス)が下位レイヤで確立される場合には、パケットごとのグローバルROI-IDを省略することもできる。例えば、グローバルROI-IDをIPマルチキャストアドレスに対応させたり、グローバルROI-IDを下位レイヤのラベル(MPLS(Multi Protocol Label Switching)のラベルやGMPLS(Generalized MPLS)におけるλ(波長)等)に対応させることもできる。
 ROIサブスクリプションブローカ51は、イメージストリームチャネルとイベントストリームチャネルの経路を確立する際に、転送要件に沿って必要なQoSクラスでネットワーク13上のリソースをリザーブする。例えば、超解像要件に合わせて形成される中継処理ノード14B間のマルチキャストツリーの各リンクの帯域要件に合わせて必要帯域を確保する。
 ROIサブスクリプションブローカ51は、イメージストリームチャネルとイベントストリームチャネルの関連するパケット群が超解像処理されるタイミングが合うように同期されて転送されるように制御する。マルチキャストされるネットワーク13のチャネルリソースの総量に制限がある場合は、ROIサブスクリプションブローカ51は、注目領域ROI毎のサブスクリプションリクエストの大小に合わせて、注目領域ROIに優先度を割り当て、優先度の高いものから、QoSクラスが高品質(低遅延、低エラーレート、広帯域等)となるように割り当てる。
 また、ベストエフォートな転送になる場合には、ROIサブスクリプションブローカ51は、相互に関連するパケット群が相対的に同期して超解像処理ノード14Cに到着するように、経路上の中継処理ノード14Bがパケット間の転送時間調整を行えるようにする。例えば、最初の時刻T(k)までにCapture-Time=T(n)を持つイメージパケット群が到着し、次の時刻T(k+1)までにReference-Image-Capture-Time =T(n)を持つのすべてのイベントパケット群が到着し、次の時刻T(k+2)までにCapture-Time=T(n+1)を持つイメージパケット群が到着し、時刻T(k+3)までにReference-Image-Capture-Time =T(n+1)を持つすべてのイベントパケット群が到着するというように、すなわち、到着時刻順序が、”Capture-Time=T(n)を持つ最後のイメージパケット” < ”Reference-Image-Capture-Time =T(n)を持つ最後のイベントパケット” < ”Capture-Time=T(n+1)を持つ最後のイメージパケット” < ”Reference-Image-Capture-Time =T(n+1)を持つ最後のイベントパケット”となるように、経路上の中継処理ノード14Bが転送時間調整を行えるようにする。
 超解像処理ノード14Cの超解像処理モジュール72と、解析装置12の解析モジュール82との間で伝送されるROI超解像イメージストリームは、図46のイメージストリームチャネルにより伝送され、ROI超解像処理された注目領域ROIの超解像画像のイメージデータが分割されて、イメージパケットのイメージパケットペイロードに格納されて転送される。
<14.コンピュータ構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図48は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
 入力部306は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体311を駆動する。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した実施の形態の全てまたは一部を組み合わせた形態を採用することができる。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
 なお、本技術は、以下の構成を取ることができる。
<1>
 ネットワーク接続装置が、
 センサデバイスから複数の画像処理装置までのネットワーク内の経路にある装置のなかから、前記センサデバイスが生成した画像に含まれる注目領域単位の前記画像を超解像処理することにより前記注目領域の超解像画像を生成する超解像処理ノードを決定する
 ネットワークの制御方法。
<2>
 前記超解像処理ノードは、前記センサデバイスが生成した一定周期のフレーム画像と、ランダムに発生するイベント画像から、前記注目領域の超解像画像を生成する
 前記<1>に記載のネットワークの制御方法。
<3>
 前記センサデバイスから前記超解像処理ノードまでは、前記フレーム画像のストリームデータと、前記イベント画像のストリームデータが伝送され、
 前記超解像処理ノードから前記画像処理装置までは、前記注目領域の超解像画像のストリームデータが伝送される
 前記<2>に記載のネットワークの制御方法。
<4>
 前記ネットワーク内の経路にある各装置は、下流の経路の要件に基づいて前記イベント画像をフィルタリングし、フィルタリング後の前記イベント画像のストリームデータを供給する
 前記<3>に記載のネットワークの制御方法。
<5>
 前記ネットワーク内の経路にある各装置は、中継するデータをキャッシュする
 前記<1>ないし<4>のいずれかに記載のネットワークの制御方法。
<6>
 前記ネットワーク接続装置は、前記複数の画像処理装置それぞれが要求する前記注目領域の超解像画像に基づいて、前記超解像処理ノードを決定する
 前記<1>ないし<5>のいずれかに記載のネットワークの制御方法。
<7>
 前記ネットワーク接続装置は、前記画像に含まれる前記注目領域を特定する注目領域特定情報から推測されるストリーム帯域と、前記複数の画像処理装置それぞれが要求する前記注目領域の情報に基づく中継処理ノードのストリーム帯域と、前記超解像処理が行われた後の前記超解像画像のストリーム帯域とに基づいて、前記超解像処理ノードを決定する
 前記<1>ないし<6>のいずれかに記載のネットワークの制御方法。
<8>
 前記ネットワーク接続装置は、前記画像処理装置の数と、前記画像に含まれる前記注目領域の数とに基づいて、前記超解像処理ノードを決定する
 前記<1>ないし<7>のいずれかに記載のネットワークの制御方法。
<9>
 前記ネットワーク接続装置は、少なくとも前記センサデバイスよりも前記画像処理装置に近い装置を、前記超解像処理ノードに決定する
 前記<1>ないし<8>のいずれかに記載のネットワークの制御方法。
<10>
 前記超解像処理ノードは、前記画像処理装置と最初に接続される前記ネットワーク内の装置である
 前記<1>ないし<9>のいずれかに記載のネットワークの制御方法。
<11>
 前記画像処理装置は、前記センサデバイスに、処理対象の前記注目領域と、自身の処理に必要十分な超解像要件とを要求する
 前記<1>ないし<10>のいずれかに記載のネットワークの制御方法。
<12>
 前記超解像要件は、前記センサデバイスが生成するフレーム画像のフレームレートと、前記センサデバイスが生成するイベント画像のイベント感度とで構成される
 前記<1>ないし<11>のいずれかに記載のネットワークの制御方法。
<13>
 前記超解像処理ノードに決定された前記装置は、前記ネットワーク内のリポジトリから、前記超解像処理を行うモジュールを取得する
 前記<1>ないし<12>のいずれかに記載のネットワークの制御方法。
<14>
 前記センサデバイスは、イメージセンサと、イベントセンサとを含む
 前記<1>ないし<13>のいずれかに記載のネットワークの制御方法。
<15>
 センサデバイスから複数の画像処理装置までのネットワーク内の経路にある装置のなかから、前記センサデバイスが生成した画像に含まれる注目領域単位の前記画像を超解像処理することにより前記注目領域の超解像画像を生成する超解像処理ノードを決定するモジュールを備える
 画像処理システム。
 なお、本開示は、以下の構成を取ることができる。
<1>
 ネットワーク接続装置が、
 センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定する
 ネットワークの制御方法。
<2>
 前記ネットワーク接続装置は、前記マニフェストに記載された、前記アプリケーションを配置する際の評価軸と、その場合のアプリケーション配置の優先順位に基づいて決定する
 前記<1>に記載のネットワークの制御方法。
<3>
 前記マニフェストは、前記評価軸として、ネットワーク転送遅延による処理遅延を含む
 前記<2>に記載のネットワークの制御方法。
<4>
 前記マニフェストは、前記評価軸として、前記ネットワークのトラフィックを含む
 前記<2>または<3>に記載のネットワークの制御方法。
<5>
 前記マニフェストは、前記評価軸として、前記アプリケーションの処理速度を含む
 前記<2>ないし<4>のいずれかに記載のネットワークの制御方法。
<6>
 前記マニフェストは、前記評価軸として、前記アプリケーションの実行コストを含む
 前記<2>ないし<5>のいずれかに記載のネットワークの制御方法。
<7>
 前記マニフェストは、前記評価軸として、ストレージコストを含む
 前記<2>ないし<6>のいずれかに記載のネットワークの制御方法。
<8>
 前記マニフェストは、前記評価軸として、前記センサデータの再利用性を含む
 前記<2>ないし<7>のいずれかに記載のネットワークの制御方法。
<9>
 前記マニフェストは、前記評価軸として、要求されたサービスに対応する本処理を実行する前に前処理を実行するかを含む
 前記<2>ないし<8>のいずれかに記載のネットワークの制御方法。
<10>
 前記ネットワーク接続装置は、前記アプリケーションとして、要求されたサービスに対応する本処理を実行するアプリケーションと、前記本処理の前処理を実行するアプリケーションの最適な場所を決定する
 前記<1>ないし<9>のいずれかに記載のネットワークの制御方法。
<11>
 前記前処理は、非圧縮の前記センサデータを圧縮する処理である
 前記<10>に記載のネットワークの制御方法。
<12>
 前記前処理は、前記本処理の内容に合わせて個別化された処理である
 前記<10>に記載のネットワークの制御方法。
<13>
 前記ネットワーク接続装置は、前記前処理を実行するアプリケーションを、前記本処理を実行するアプリケーションの前段に複数配置する
 前記<10>ないし<12>のいずれかに記載のネットワークの制御方法。
<14>
 前記アプリケーション配置の優先順位は、アプリケーション配置場所としての、前記センサデバイス、エッジクラウド、および、センタークラウドの優先順位である
 前記<2>ないし<13>のいずれかに記載のネットワークの制御方法。
<15>
 前記ネットワーク接続装置は、前記センサデバイスから複数の画像処理装置までのネットワーク内の経路にある装置のなかから、前記センサデバイスが生成した画像に含まれる注目領域単位の前記画像を超解像処理することにより前記注目領域の超解像画像を生成するアプリケーションを実行させる最適な場所を決定する
 前記<1>ないし<14>のいずれかに記載のネットワークの制御方法。
<16>
 センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定するオーケストレータ
 を備えるデータ処理システム。
 1 画像解析ネットワークシステム, 11 センサデバイス, 12 解析装置, 13 ネットワーク, 14A ブローカーノード, 14B 中継処理ノード, 14C 超解像処理ノード, 14D オーケストレータ, 14 ノード, 41 イベント・イメージセンサ, 42 オブジェクトROI抽出エンジン, 43 ROIカタログジェネレータ, 44 ROIイメージフィルタ, 45 ROIイベントフィルタ, 51 ROIサブスクリプションブローカ, 52 ROIイメージブローカ, 53 ROIイベントブローカ, 61 ROIサブスクリプション中継モジュール, 62 ROIイメージ中継モジュール, 63 ROIイベント中継モジュール, 71 ROIサブスクリプション中継モジュール, 72 超解像処理モジュール, 81 ROIサブスクライバ, 82 解析モジュール, 91 オーケストレーションモジュール, 101 ROI超解像ストリーム中継モジュール, 301 CPU, 302 ROM, 303 RAM, 306 入力部, 307 出力部, 308 記憶部, 309 通信部, 310 ドライブ, 500 データ処理システム, 511 センサ, 512 エッジデバイス, 513 センサ/エッジ, 521 クラウド, 522 エッジクラウド, 523 センタークラウド, 531,532 アプリケーションプラットフォーム, 533 ネットワークモニタ, 534 アプリケーションプラットフォーム, 535 ネットワークモニタ, 536 オーケストレータ, 537 アプリケーションリポジトリ, 538,539 ネットワーク, 800 ネットワークシステム, 805 コンピュータ, 810 ネットワーク, 815 リモートコンピュータ, 820 ウェブサーバ, 825 クラウドストレージサーバ, 830 コンピュータサーバ, 835 プロセッサ, 840 メモリ, 845 不揮発性ストレージ, 848 プログラム, 860 外部デバイス

Claims (16)

  1.  ネットワーク接続装置が、
     センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定する
     ネットワークの制御方法。
  2.  前記ネットワーク接続装置は、前記マニフェストに記載された、前記アプリケーションを配置する際の評価軸と、その場合のアプリケーション配置の優先順位に基づいて決定する
     請求項1に記載のネットワークの制御方法。
  3.  前記マニフェストは、前記評価軸として、ネットワーク転送遅延による処理遅延を含む
     請求項2に記載のネットワークの制御方法。
  4.  前記マニフェストは、前記評価軸として、前記ネットワークのトラフィックを含む
     請求項2に記載のネットワークの制御方法。
  5.  前記マニフェストは、前記評価軸として、前記アプリケーションの処理速度を含む
     請求項2に記載のネットワークの制御方法。
  6.  前記マニフェストは、前記評価軸として、前記アプリケーションの実行コストを含む
     請求項2に記載のネットワークの制御方法。
  7.  前記マニフェストは、前記評価軸として、ストレージコストを含む
     請求項2に記載のネットワークの制御方法。
  8.  前記マニフェストは、前記評価軸として、前記センサデータの再利用性を含む
     請求項2に記載のネットワークの制御方法。
  9.  前記マニフェストは、前記評価軸として、要求されたサービスに対応する本処理を実行する前に前処理を実行するかを含む
     請求項2に記載のネットワークの制御方法。
  10.  前記ネットワーク接続装置は、前記アプリケーションとして、要求されたサービスに対応する本処理を実行するアプリケーションと、前記本処理の前処理を実行するアプリケーションの最適な場所を決定する
     請求項1に記載のネットワークの制御方法。
  11.  前記前処理は、非圧縮の前記センサデータを圧縮する処理である
     請求項10に記載のネットワークの制御方法。
  12.  前記前処理は、前記本処理の内容に合わせて個別化された処理である
     請求項10に記載のネットワークの制御方法。
  13.  前記ネットワーク接続装置は、前記前処理を実行するアプリケーションを、前記本処理を実行するアプリケーションの前段に複数配置する
     請求項10に記載のネットワークの制御方法。
  14.  前記アプリケーション配置の優先順位は、アプリケーション配置場所としての、前記センサデバイス、エッジクラウド、および、センタークラウドの優先順位である
     請求項2に記載のネットワークの制御方法。
  15.  前記ネットワーク接続装置は、前記センサデバイスから複数の画像処理装置までのネットワーク内の経路にある装置のなかから、前記センサデバイスが生成した画像に含まれる注目領域単位の前記画像を超解像処理することにより前記注目領域の超解像画像を生成するアプリケーションを実行させる最適な場所を決定する
     請求項1に記載のネットワークの制御方法。
  16.  センサデバイスと、それに接続されたネットワーク内の経路にある装置のなかから、前記センサデバイスで生成されたセンサデータを処理するアプリケーションを実行させる最適な場所を、マニフェストに基づいて決定するオーケストレータ
     を備えるデータ処理システム。
PCT/JP2020/045487 2020-06-26 2020-12-07 ネットワークの制御方法、および、データ処理システム WO2021260970A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/001,871 US11997017B2 (en) 2020-06-26 2020-12-07 Network control method and data processing system
JP2022532248A JPWO2021260970A1 (ja) 2020-06-26 2020-12-07

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063044623P 2020-06-26 2020-06-26
US63/044,623 2020-06-26
JP2020-111563 2020-06-29
JP2020111563 2020-06-29

Publications (1)

Publication Number Publication Date
WO2021260970A1 true WO2021260970A1 (ja) 2021-12-30

Family

ID=79282234

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045487 WO2021260970A1 (ja) 2020-06-26 2020-12-07 ネットワークの制御方法、および、データ処理システム

Country Status (3)

Country Link
US (1) US11997017B2 (ja)
JP (1) JPWO2021260970A1 (ja)
WO (1) WO2021260970A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022163277A1 (ja) * 2021-02-01 2022-08-04 ソニーグループ株式会社 データ処理装置および方法、並びに、データ処理システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516087B2 (en) * 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations
JP2022173762A (ja) * 2021-05-10 2022-11-22 ウーブン・プラネット・ホールディングス株式会社 動画通信方法、動画通信システム、及び受信側装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020430A (ja) * 2011-07-11 2013-01-31 Hitachi Ltd 分散処理ノードシステム、管理ノード、及び制御方法
JP2015505404A (ja) * 2011-12-27 2015-02-19 マイクロソフト コーポレーション クラウド・エッジ・トポロジー
JP2018084854A (ja) * 2016-11-21 2018-05-31 日本電気株式会社 センサデータ処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089205B2 (en) * 2016-09-30 2018-10-02 International Business Machines Corporation Disaster recovery practice mode for application virtualization infrastructure
US10095933B2 (en) * 2016-12-05 2018-10-09 Google Llc Systems and methods for locating image data for selected regions of interest
US20180167634A1 (en) * 2016-12-09 2018-06-14 Nokia Technologies Oy Method and an apparatus and a computer program product for video encoding and decoding
JP6936018B2 (ja) * 2017-02-21 2021-09-15 ソニーセミコンダクタソリューションズ株式会社 映像送信装置および映像受信装置
CN111164952A (zh) * 2017-11-16 2020-05-15 英特尔公司 分布式软件定义的工业系统
WO2020195769A1 (ja) 2019-03-27 2020-10-01 ソニー株式会社 物体検出装置、物体検出システム及び物体検出方法
US20220279110A1 (en) * 2019-08-30 2022-09-01 Sony Group Corporation Imaging device, processing device, data transmission system, and data transmission method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020430A (ja) * 2011-07-11 2013-01-31 Hitachi Ltd 分散処理ノードシステム、管理ノード、及び制御方法
JP2015505404A (ja) * 2011-12-27 2015-02-19 マイクロソフト コーポレーション クラウド・エッジ・トポロジー
JP2018084854A (ja) * 2016-11-21 2018-05-31 日本電気株式会社 センサデータ処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MASUJI YAMADA: "Cost Minimization by Task Allocation in Application-Router Networks", IEICE TECHNICAL REPORT, vol. 114, no. 404, 22 January 2015 (2015-01-22), pages 119 - 124 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022163277A1 (ja) * 2021-02-01 2022-08-04 ソニーグループ株式会社 データ処理装置および方法、並びに、データ処理システム

Also Published As

Publication number Publication date
US20230239245A1 (en) 2023-07-27
US11997017B2 (en) 2024-05-28
JPWO2021260970A1 (ja) 2021-12-30

Similar Documents

Publication Publication Date Title
WO2021260970A1 (ja) ネットワークの制御方法、および、データ処理システム
Canel et al. Scaling video analytics on constrained edge nodes
Ananthanarayanan et al. Real-time video analytics: The killer app for edge computing
Chen et al. Enabling smart urban surveillance at the edge
Muñoz et al. Integration of IoT, transport SDN, and edge/cloud computing for dynamic distribution of IoT analytics and efficient use of network resources
Ali et al. Edge enhanced deep learning system for large-scale video stream analytics
US10122906B2 (en) Adaptive video end-to-end network with local abstraction
Ali et al. RES: Real-time video stream analytics using edge enhanced clouds
US20200007409A1 (en) INTELLIGENT INTERNET OF EVERYTHING (IoE) EDGE COMPUTIING SYSTEM FOR HIGH RELIABLE INTERNET OF THINGS (IoT) SERVICE
Gargees et al. Incident-supporting visual cloud computing utilizing software-defined networking
US11263891B2 (en) Enhanced emergency response
JP2008502229A (ja) ビデオフラッシュライト/視覚警報
JP2021517682A (ja) 意味処理および動的シーンモデリングに基づく向上された画像形成のための方法
Nadir et al. Immersive services over 5G and beyond mobile systems
Zhang et al. Towards cloud-edge collaborative online video analytics with fine-grained serverless pipelines
Chemodanov et al. Policy-based function-centric computation offloading for real-time drone video analytics
Karaadi et al. Multimedia communications in internet of things QoT or QoE?
Beigi et al. Real-time cloud robotics in practical smart city applications
Singh et al. Fog-Centric Intelligent Surveillance System: A Novel Approach for Effective and Efficient Surveillance
JP2022541500A (ja) 認知制御式データ配信
Luthra et al. Adaptive complex event processing over fog-cloud infrastructure supporting transitions
KR102398788B1 (ko) 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템
Ramisetty et al. Dynamic computation off-loading and control based on occlusion detection in drone video analytics
Rachuri et al. Decentralized modular architecture for live video analytics at the edge
KR20180105351A (ko) 맞춤형 광고 영상 전송 서비스 장치 및 그 동작 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022532248

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

Country of ref document: EP

Kind code of ref document: A1