WO2021131782A1 - Information processing system, information processing method, and program - Google Patents

Information processing system, information processing method, and program Download PDF

Info

Publication number
WO2021131782A1
WO2021131782A1 PCT/JP2020/046248 JP2020046248W WO2021131782A1 WO 2021131782 A1 WO2021131782 A1 WO 2021131782A1 JP 2020046248 W JP2020046248 W JP 2020046248W WO 2021131782 A1 WO2021131782 A1 WO 2021131782A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
virtual server
audio
instance
virtual
Prior art date
Application number
PCT/JP2020/046248
Other languages
French (fr)
Japanese (ja)
Inventor
義行 小林
高林 和彦
山岸 靖明
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2021131782A1 publication Critical patent/WO2021131782A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/226Characteristics of the server or Internal components of the server

Definitions

  • This disclosure relates to an information processing system, an information processing method, and a program, and more particularly to an information processing system, an information processing method, and a program that enable more efficient migration.
  • cloud computing is a concept that uses a large number of computers connected by a computer network such as the Internet, and is used mainly for the purpose of providing services via the network.
  • the services provided by cloud computing appear to be provided by physical servers, but virtual hardware that is simulated or emulated by software running on one or more physical servers. Provided by.
  • this virtual hardware is called a virtual machine.
  • the state in which a virtual machine is deployed and executed on a physical server is called a virtual machine instance.
  • Migration is a technology for continuing service operation on a physical server in a cloud computing environment without stopping the service on the virtual machine instance when an operating system is upgraded or a hardware failure occurs.
  • Patent Document 1 discloses a method in which "mobility configuration data" is defined in a virtual machine instance execution environment, and the virtual machine instance itself does not move but moves within a limited range such as an application or a process. There is.
  • Patent Document 2 has an approach of mounting an FPGA (Field Programmable Gate Array) emulator to virtualize the FPGA, and a method of continuously using hardware acceleration by the FPGA between the migration source and the migration destination. It is disclosed.
  • FPGA Field Programmable Gate Array
  • Patent Document 3 describes a method for improving efficiency by moving only necessary data without moving the virtual machine instance itself when migrating a multifunction device equipped with a virtual machine. It is disclosed.
  • This disclosure was made in view of such a situation, and is intended to enable more efficient migration.
  • the information processing system of one aspect of the present disclosure manages a plurality of virtual servers constituting a cloud computing environment and the plurality of the virtual servers, and migrates an encoder instance from the first virtual server to the second virtual server. It is equipped with an orchestrator to be executed, and at the time of migration, only the data necessary for taking over is acquired from the data held internally by the encoder instance of the first virtual server, and the data is used as the encoder of the second virtual server. Set in the instance.
  • the information processing method of one aspect of the present disclosure manages a plurality of virtual servers constituting a cloud computing environment and the plurality of the virtual servers, and migrates an encoder instance from the first virtual server to the second virtual server.
  • the information processing system including the orchestrator to be executed acquires only the data necessary for taking over the data held internally by the encoder instance of the first virtual server, and obtains the data. Includes setting in the encoder instance of 2 virtual servers.
  • the program of one aspect of the present disclosure manages a plurality of virtual servers constituting a cloud computing environment and the plurality of the virtual servers, and migrates an encoder instance from the first virtual server to the second virtual server.
  • the time of migration only the data necessary for taking over the data held internally by the encoder instance of the first virtual server is acquired by the computer of the information processing system provided with the orchestrator, and the data is acquired by the first virtual server.
  • the information processing including setting in the encoder instance of the virtual server of 2 is executed.
  • FIG. 1 is a block diagram showing a configuration example of a cloud computing environment.
  • the cloud computing environment 11 is configured by connecting an orchestrator 21, a plurality of virtual servers 22, and a virtual network switch 23 via a network.
  • FIG. 1 shows a configuration example in which two virtual servers 22-1 and 22-2 are connected, but even if one virtual server 22 is connected, three virtual servers 22 are connected. The above may be connected. Further, in the following, when it is not necessary to distinguish between the virtual servers 22-1 and 22-2, the description will be simply referred to as the virtual server 22.
  • the orchestrator 21 transmits resource allocation parameters and instance initialization parameters to the virtual server 22, and sets routing for the virtual network switch 23.
  • the virtual server 22 deploys and executes the virtual machine instance 32 on the physical server 31 according to the resource allocation parameter and the instance initialization parameter, and the virtual machine instance 32 can execute various application programs 33.
  • the virtual server 22-1 one virtual machine instance 32-1 is deployed to the physical server 31-1, and two application programs 33A-1 and 33B-1 are executed by the virtual machine instance 32.
  • the virtual server 22-2 two virtual machine instances 32A-2 and 32B-2 are deployed to the physical server 31-2, and the application program 33A-2 is executed by the virtual machine instance 32A-2.
  • the application program 33B-2 is executed by the virtual machine instance 32B-2.
  • the virtual network switch 23 routes packets according to the routing settings by the orchestrator 21 for network virtualization.
  • different operating systems can be operated on one physical server 31 (server computer as a physical entity) by using the virtual machine technology. Then, in the cloud computing environment 11, various application programs 33 can be executed in the operating system, and software that normally operates in a different computer architecture environment can be executed.
  • the virtual machine technology can be used to move the service point or increase or decrease the resources (CPU, memory, etc.) allocated to the service without making the end user aware of it.
  • the migration of the virtual machine instance 32 will be described with reference to the cloud computing environment 11 shown in FIG.
  • the migration source virtual server 22-1 takes a memory snapshot of the virtual machine instance 32-1 while the virtual machine instance 32-1 is running, and the virtual server 22 Transfer to -2. Subsequently, the virtual server 22-1 acquires the network settings, connection status, and the like of the virtual machine instance 32-1 and transfers them to the virtual server 22-2. In response to this, the virtual server 22-2, which is the migration destination, establishes a memory snapshot, network settings, connection status, etc. on the virtual machine instance 32-2.
  • the local storage of the migration source virtual server 22-1 is copied to the virtual machine instance 32-2 of the migration destination virtual server 22-2. Then, the migration is realized by restarting the virtual machine instance 32-2 on the virtual server 22-2. After that, the virtual server 22-1 stops the virtual machine instance 32-1.
  • the memory information changes sequentially because the virtual machine instance 32-1 is operating on the migration source physical server 31-1 even during the memory copy. Therefore, after executing a memory copy corresponding to the memory area used by the virtual machine instance 32-1 to be moved on the migration source physical server 31-1, the difference regarding the memory information changed during the memory copy. It is necessary to copy and send it to the migration destination physical server 31-2.
  • the virtual machine instance 32-1 is stopped at the migration source and the last remaining difference is copied.
  • the virtual machine instance 32-2 is started at the migration destination, and the processing by the virtual machine instance 32-2 is restarted.
  • the time required from the stop of the virtual machine instance 32-1 to the restart of the virtual machine instance 32-2 is referred to as downtime.
  • downtime the time required from the stop of the virtual machine instance 32-1 to the restart of the virtual machine instance 32-2.
  • Patent Document 1 discloses a technique for reducing the amount of data transfer between physical servers by limiting the scope of migration to each application program or process.
  • Patent Document 3 described above although it is implemented in a multifunction device, it is further described by moving only the data required for the processing being executed in the virtual machine instance without moving the virtual machine instance itself. It has been shown that the amount of data transferred can be reduced.
  • Patent Document 2 discloses a technique for continuing hardware support even in a virtual machine instance as a migration destination.
  • container-based virtualization technology has made it easier to extract only memory areas related to specific application programs and processes from memory snapshots of virtual machine instances.
  • the technology for continuing hardware support even in the migration destination virtual machine instance is shown.
  • the application program or process to be migrated is video / audio encoding processing
  • software processing and hardware processing may coexist. Therefore, in that case, the encoding process could not be taken over only by the state of the CPU register and the snapshot transfer of the memory.
  • Patent Document 3 discloses a technique for transferring only data necessary for migration.
  • the technique disclosed in Patent Document 3 is characterized in that processing can be continued without depending on the processing method of the processing block by transferring the input data for a specific processing block in the multifunction device. This is different from the technology described below.
  • the present technology is characterized in that the data existing inside the processing block is taken out and transferred. This focuses on the fact that in general video / audio encoding processing, data compression is performed using the correlation of the video / audio data in the time direction.
  • the data time correlation is used inside the encoder, so even if an encoder instance that has been initialized with the same encoding parameters is prepared, the encoder instance At the time of switching, there is a possibility that a discontinuity point may occur in the output video / audio data.
  • discontinuities in the output video / audio data are surely generated. That is, noise is generated in the video or audio due to the switching of the encoder instances executed in a place invisible to the end user.
  • FIG. 3 is a block diagram showing a configuration example of an embodiment of the video / audio encoding processing system 51 to which the present technology is applied.
  • the video / audio encoding processing system 51 is configured by connecting an orchestrator 61, a virtual server 62, a virtual network switch 63, an audio input unit 64, and an audio output unit 65 via a network. ..
  • the video / audio encoding processing system 51 starts the video / audio encoding processing when the video / audio encoding processing definition document is posted to the orchestrator 61 by the end user.
  • an input URL Uniform Resource Locator
  • an output URL an encoding parameter, and the like are described in the video / audio encoding processing definition document.
  • the orchestrator 61 manages one or more virtual servers 62. For example, the orchestrator 61 transmits the resource allocation parameter and the instance initialization parameter to the virtual server 62 according to the contents of the video / audio encoding processing definition document. As a result, the orchestrator 61 allocates resources for the virtual machine instance 72 running on the virtual server 62, starts and initializes the application program executed by the virtual machine instance 72, and the like. Further, the orchestrator 61 carries out the migration performed between the plurality of virtual servers 62.
  • the virtual server 62 has a configuration in which the operating system, the virtual machine instance 72, and the audio encoder instance 73 (application program) operate on the physical server 71.
  • the virtual machine instance 72 may be a hypervisor type virtual environment, a host type virtual environment, or a container type virtual environment.
  • the virtual machine instance 72 may be a virtual environment in which virtualization is performed directly on the physical server 71, and in this case, no operating system is required.
  • the main function of the virtual network switch 63 is to perform network virtualization and route packets for that purpose.
  • the virtual network switch 63 acquires audio data input via the audio input unit 64 according to routing settings (input URL, output URL, etc.) by the video / audio encoding processing system 51, and uses the encoded audio data as audio. Output to the output unit 65.
  • the audio encoder instance 73 of the virtual server 62 executes the audio encoding processing for the audio data input from the audio input unit 64 via the virtual network switch 63. After that, in the video / audio encoding processing system 51, the audio data encoded by the audio encoder instance 73 is output to the audio output unit 65 via the virtual network switch 63.
  • the video / audio encoding processing system 51 can execute the video encoding processing by executing the video encoder instance 75 as shown in FIG. 10 described later on the virtual server 62.
  • the packet sequence number being processed by the audio encoder instance 73 is supplied to the orchestrator 61.
  • the orchestrator 61 can acquire only the data required for migration from the audio encoder instance 73 and set the data as the migration destination.
  • the packet sequence number being processed does not match the input unit of the audio encoder instance 73 and the network packet because the video sample is fragmented or the audio sample is grouped. Therefore, in the video / audio encoding processing system 51, when migrating the audio encoder instance 73, the virtual server uses only the minimum data set that can ensure the continuity and consistency of the video / audio output at the migration source and the migration destination. Transfer between 62.
  • the migration of the audio encoder instance 73 will be described with reference to the video / audio encoding processing system 51 shown in FIG.
  • the virtual server 62-1 is the migration source
  • the virtual server 62-2 is the migration destination.
  • the audio encoder instances 73-1 and 73-2 have intermediate state buffers 74-1 and 74-2 for recording only the data necessary for taking over among the data held inside.
  • the video / audio encoding processing system 51 can separate the code and the data in the application program or process and execute the migration only in the data part. As a result, in the video / audio encoding processing system 51, the data transfer time can be shortened. Further, the video / audio encoding processing system 51 can receive hardware support even at the migration destination because the code is not migrated.
  • step S11 the orchestrator 61 transmits a stop preparation instruction command for instructing the audio encoder instance 73-1 on the virtual server 62-1 to be the migration source to prepare for instance stop to the virtual server 62-1.
  • step S12 the virtual server 62-1 receives the stop preparation instruction command transmitted in step S11, and executes a process of combining or separating network packets as described below as the stop preparation process.
  • the virtual server 62-1 receives the last audio frame before migration.
  • the last audio frame may be divided and transmitted as a plurality of network packets, or may be combined and a plurality of frames may be transmitted in one network packet. Therefore, for example, the virtual server 62-1 completes the join processing when the payload of the network packet is in the middle of the join process.
  • the virtual server 62-1 inputs the audio frame (group) obtained by the join process to the audio encoder instance 73-1 and performs the encoding process. At the same time, the virtual server 62-1 performs a flash process on the audio encoder instance 73-1 and forcibly outputs the data if the audio encoder instance 73-1 retains the output internally. Further, the virtual server 62-1 acquires the initial setting parameters of the encoding from the audio encoder instance 73-1 which is the migration source. Then, when the stop preparation process for preparing the instance stop on the virtual server 62-1 is completed, the process proceeds to step S13.
  • step S13 the virtual server 62-1 sets the completion notification that the stop preparation process executed according to the stop preparation instruction command is completed and the initial setting parameter acquired from the audio encoder instance 73-1 to the orchestrator 61. Send to. As a result, the orchestrator 61 acquires the initial setting parameters.
  • step S14 the orchestrator 61 transmits an acquisition request command for requesting (inquiring) acquisition of the packet sequence number of the last processed network packet to the audio encoder instance 73-1.
  • the packet sequence number of the network packet for example, when using the RTP (Real-time Transport Protocol) protocol, the value in the sequence number field of the RTP packet header can be referred to and the value can be used.
  • RTP Real-time Transport Protocol
  • step S15 the audio encoder instance 73-1 transmits the packet sequence number of the last processed network packet to the orchestrator 61 in response to the acquisition request command transmitted in step S14.
  • the orchestrator 61 acquires the packet sequence number of the last processed network packet.
  • step S16 the orchestrator 61 determines a new routing in order to transfer the network packet from the migration source audio encoder instance 73-1 to the migration destination audio encoder instance 73-2.
  • step S17 the orchestrator 61 transmits a start instruction command instructing the start of the audio encoder instance 73-2 together with resource allocation in the virtual server 62-2 to the virtual server 62-2 to be the migration destination.
  • step S18 the virtual server 62-2 receives the start instruction command transmitted in step S17, turns on the power of the physical server 71-2, and performs a start process for starting the virtual machine instance 72-2. .. At that time, the virtual server 62-2 allocates hardware resources such as CPU and memory based on the contents described in the service definition document. After that, the virtual server 62-2 loads the software and starts the audio encoder instance 73-2.
  • step S18 When the start-up process of step S18 is completed, the process proceeds to step S19, and the virtual server 62-2 sends a completion notification to the orchestrator 61 notifying that the start-up process executed according to the start-up instruction command is completed.
  • step S20 the orchestrator 61 transmits an initialization instruction command including an encoding initialization parameter to the virtual server 62-2.
  • step S21 the virtual server 62-2 receives the initialization instruction command transmitted in step S20 and executes the initialization process of setting the initialization parameters of the encoding in the audio encoder instance 73-2.
  • step S21 When the initialization process of step S21 is completed, the process proceeds to step S22, and the virtual server 62-2 transmits a completion notification to the orchestrator 61 notifying that the initialization process executed according to the initialization instruction command is completed. ..
  • step S23 the orchestrator 61 transmits an acquisition instruction command instructing acquisition of the data recorded in the intermediate state buffer 74 of the audio encoder instance 73-1 as the migration source to the virtual server 62-1.
  • step S24 the virtual server 62-1 receives the acquisition instruction command transmitted in step S23 and extracts the data recorded in the intermediate state buffer 74-1 of the audio encoder instance 73-1.
  • step S25 the virtual server 62-1 transmits the data extracted in step S24 to the orchestrator 61.
  • the orchestrator 61 acquires the data recorded in the intermediate state buffer 74-1 of the audio encoder instance 73-1.
  • step S26 the orchestrator 61 transmits to the virtual server 62-2 a setting instruction command instructing to set the data in the intermediate state buffer 74-2 together with the data acquired in step S25.
  • step S27 the virtual server 62-2 acquires the data and the setting instruction command transmitted in step S26 and executes the setting process of setting the intermediate state buffer 74-2.
  • step S28 the virtual server 62-2 sends a completion notification to the orchestrator 61 to notify that the setting process executed according to the setting instruction command is completed.
  • step S29 the orchestrator 61 transmits an termination instruction command instructing the termination of the audio encoder instance 73-1 that is the migration source to the virtual server 62-1.
  • step S30 the virtual server 62-1 receives the end instruction command transmitted in step S29 and executes the end process of terminating the audio encoder instance 73-1. At this time, the virtual server 62-1 may stop the virtual machine instance 72-1.
  • step S30 When the end processing of step S30 is completed, the processing proceeds to step S31, and the virtual server 62-1 sends a completion notification to the orchestrator 61 notifying that the end processing executed according to the end instruction command is completed.
  • step S32 the orchestrator 61 transmits a change instruction command instructing the change of the routing to the virtual network switch 63 together with the setting of the new routing determined in step S16.
  • step S33 the virtual network switch 63 receives the new routing setting and change instruction command transmitted in step S32, and executes the routing change process. For example, the virtual network switch 63 switches the routing setting of the virtual network switch so that the network packet input to the migration source virtual machine instance 72-1 is input to the migration destination virtual machine instance 72-2. ..
  • step S33 When the routing change processing of step S33 is completed, the processing proceeds to step S34, and the virtual network switch 63 transmits a completion notification to the orchestrator 61 notifying that the routing change processing executed according to the change instruction command is completed. ..
  • the video / audio encoding processing system 51 executes the migration process to ensure the continuity and consistency of the video / audio output. That is, when the video / audio encoding process is operated in a cloud computing environment, the video / audio encoding process is performed when the video / audio encoding process is migrated due to maintenance of the operating environment or service handover in a 5G core network. It can continue seamlessly and output consistent video or audio. As a result, it is particularly effective to use the video / audio encoding processing system 51 for the production and distribution (streaming) of live content.
  • the video / audio encoding processing system 51 moves the video / audio encoding processing to another virtual server 62 even if a failure occurs in the operating environment when the video / audio encoding processing is operated in the cloud computing environment. Video or audio can be recovered from the middle.
  • the video / audio encoding processing system 51 is effective not only for the production and distribution (streaming) of live content, but also for, for example, on-demand content production.
  • the video / audio encoding processing system 51 avoids affecting other processing on the same virtual server 62 when executing the video / audio encoding processing in a multi-tenant cloud computing environment, and the video / audio encoding processing system 51 avoids affecting other processing on the same virtual server 62. Only the encoding process can be migrated.
  • the video / audio encoding processing system 51 starts the migration source virtual machine instance 72-1 and audio encoder instance 73-1 in duplicate and the migration destination virtual machine instance 72-2 and audio encoder instance 73-2. It is possible to keep it. As a result, the video / audio encoding processing system 51 can avoid the occurrence of a so-called blackout period, and can stably switch the virtual server 62.
  • FIG. 6 is a diagram illustrating CELT (Constrained Energy Lapped Transform) audio encoding.
  • CELT is an audio coding method used in live streaming.
  • the audio encoder instance 73 supports CELT encoding.
  • MDCT Modified Discrete Cosine Transform
  • the input audio signal is divided into audio frames having a predetermined time width, and the MDCT processing block of 2N samples (hatched in FIG. 6) overlaps with the adjacent audio frame by half. Blocks with) are generated.
  • MDCT is performed for each MDCT processing block, and N MDCT coefficients are acquired.
  • N MDCT coefficients are acquired from N MDCT coefficients.
  • a process of compressing the MDCT coefficient obtained by performing MDCT is performed on the MDCT processed block obtained from the adjacent audio frame.
  • CELT encoding two temporally adjacent uncompressed audio frames are input to the audio encoder instance 73, and one compressed audio frame is output from the audio encoder instance 73.
  • the uncompressed audio frame input to the audio encoder instance 73-1 is switched to be input to the audio encoder instance 73-2 from a certain point in time.
  • the compressed audio frame output from the audio encoder instance 73-1 and the compressed audio frame output from the audio encoder instance 73-2 may not be continuous as audio.
  • an MDCT processing block obtained by duplicating adjacent audio frames at the input switching point by half is required. Then, in order to acquire such an MDCT processing block, two methods described below are considered.
  • the first method is a method of re-inputting all the audio frames to the migration destination audio encoder instance 73-2 in order from the first audio frame input to the migration source audio encoder instance 73-1.
  • the second method is to copy the last generated MDCT processing block held by the migration source audio encoder instance 73-1 to the migration destination audio encoder instance 73-2, and the latter half of the MDCT processing block. It is a method to generate an MDCT processing block using the data of.
  • the first method is not realistic considering the processing cost and applicability to live encoding. Therefore, in the video / audio encoding processing system 51, in the migration of the audio encoder instance 73 that encodes the CELT, the second method, that is, the method of acquiring the MDCT processing block last generated at the migration source and setting it at the migration destination. Is adopted.
  • FIG. 8 shows an example in which migration is performed between the 6th frame and the 7th frame of the input audio frame sequence.
  • the MDCT processing block W (6) which is the temporarily stored data after the MDCT calculation is executed at the time of output of the fifth frame, is transmitted from the audio encoder instance 73-1 to the audio encoder instance 73-2.
  • the audio encoder instance 73-2 hot standby in the virtual server 62-2, it is possible to avoid the occurrence of downtime.
  • the audio encoder instance 73-2 can obtain a complete audio output even after the sixth frame by using the MDCT processing block W (6).
  • the coding methods that include MDCT processing in the audio encoding processing include MP3, Dolby Digital (AC-3), Vorbis (Ogg), Windows Media Audio (WMA), ATRAC, Cook, Advanced Audio Coding (AAC), and LDAC. , Dolby AC-4, MPEG-H 3D Audio.
  • linear predictive coding includes forward prediction, which predicts the prediction of an audio sample at a certain time from a group of audio samples in the past, and backward prediction, which predicts a prediction of an audio sample at a certain time from a group of audio samples in the future. There is a prediction of. It is self-evident that both predictions require audio samples held by past or future audio frames.
  • ADPCM Adaptive Differential Pulse Code Modulation
  • FLAC Free Lossless Audio Codec
  • FIG. 9 is a diagram illustrating a reference relationship between frames in MPEG-2 video encoding.
  • I is an I picture
  • P is a P picture
  • B is a B picture
  • a number is a presentation order.
  • I picture is a video frame that does not refer to other frames
  • P picture is a video frame that records only the difference from the previous video frame in time
  • B picture is It is a video frame that records only the difference between the two video frames before and after in time. Therefore, an uncompressed video frame encoded as an I picture does not refer to another video frame.
  • the MPEG-2 video encoder performs reordering processing.
  • the reordering process is a process of rearranging the order of video frames from the presentation order to the decoding order at the time of output of the encoder. For example, as shown in FIG. 10, the video frame sequences of I1, B2, B3, P4, B5, B6, P7, B8, B9, P10 are rearranged inside the video encoder instance 75, and I1, P4, It is output in the order of B2, B3, P7, B5, B6, P10, B8, B9.
  • a video frame encoded as an I-picture or P-picture is retained and required inside the video encoder instance 75 because it is predictive reference data that may be referenced by other video frames. May be referred to accordingly. Therefore, in the MPEG-2 video encoder, in order to migrate the video encoder instance 75, the video frame held internally by the video encoder instance 75-1 which is the migration source is migrated to the video encoder instance which is the migration destination. If you do not copy to 75-2, the encoding process will break down.
  • the B5 picture is input to the video encoder instance 75-1 which is the migration source, and the B6 picture is input to the video encoder instance 75-2 which is the migration destination.
  • the P4 picture and the B5 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data.
  • the P4 picture is copied as a referenced picture, while the B5 picture is copied as a process waiting state to be encoded.
  • the video encoder instance 75-2 sets the P4 picture and the B5 picture, and waits for the input of the B6 picture.
  • the B2 picture and the B3 picture are extruded from the video encoder instance 75-1.
  • the I1 picture is input to the video encoder instance 75-1 which is the migration source, and the B2 picture is input to the video encoder instance 75-2 which is the migration destination. At this time, the I1 picture held inside the video encoder instance 75-1 is copied to the video encoder instance 75-2 as processing data.
  • the B2 picture is input to the video encoder instance 75-1 which is the migration source
  • the B3 picture is input to the video encoder instance 75-2 which is the migration destination.
  • the I1 picture and the B2 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data.
  • the I1 picture is copied as a referenced picture
  • the B2 picture is copied as a process waiting state to be encoded.
  • the B3 picture is input to the video encoder instance 75-1 which is the migration source
  • the B4 picture is input to the video encoder instance 75-2 which is the migration destination.
  • the I1 picture, the B2 picture, and the B3 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data.
  • the I1 picture is copied as a referenced picture, but the B2 and B3 pictures are copied as a process waiting state to be encoded.
  • the P4 picture is input to the video encoder instance 75-1 which is the migration source, and the B5 picture is input to the video encoder instance 75-2 which is the migration destination.
  • the P4 picture held inside the video encoder instance 75-1 is copied to the video encoder instance 75-2 as processing data.
  • the P4 picture is copied as a referenced picture.
  • the B6 picture is input to the video encoder instance 75-1 which is the migration source
  • the P7 picture is input to the video encoder instance 75-2 which is the migration destination.
  • the P4 picture, the B5 picture, and the B6 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data.
  • the P4 picture is copied as a referenced picture, but the B5 picture and B6 picture are copied as a processing waiting state to be encoded.
  • the case where migration occurs between P7 picture and B8 picture of the input video frame is processed in the same way as the case where migration occurs between P4 picture and B5 picture of the input video frame. Further, the case where the migration occurs between the B8 picture and the B9 picture of the input video frame is processed in the same manner as the case where the migration occurs between the B5 picture and the B6 picture of the input video frame. Further, the case where the migration occurs between the B9 picture and the P10 picture of the input video frame is processed in the same manner as the case where the migration occurs between the B6 picture and the P7 picture of the input video frame. Therefore, the description of the processing for those cases will be omitted.
  • the video encoding process can be applied to the encoding process for calculating the predicted difference in the time direction such as I frame, P frame, and B frame.
  • Methods for performing such video encoding include MPEG-4 AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding).
  • the video / audio encoding processing system 51 it is possible to acquire the internal state of the audio encoder instance 73-1 and perform the migration without adding the interface to be set in the audio encoder instance 73-2.
  • the orchestrator 61 instructs the virtual server 62-2 to terminate the output data when the final input is received by the audio encoder instance 73-1 which is the migration source. Then, when the audio encoder instance 73-2, which is the migration destination, receives the first output, the orchestrator 61 instructs the virtual server 62-2 to perform the initialization processing of the output data.
  • step S11 to step S22 are performed in the same manner, the orchestrator 61 terminates the output data instead of the process in step S23.
  • a terminal processing instruction command instructing processing is transmitted to the virtual server 62-1.
  • the termination process of the output data in CELT audio encoding is to fade out the final output by inputting silent data after the input voice, as described with reference to FIG. 12 described later.
  • the flash processing of the audio encoder instance 73-1 is performed, and if there is data whose output is reserved internally by the audio encoder instance 73-1, it is forcibly output.
  • the termination processing of the output data in the MPEG-2 video encoding is to forcibly encode as a GOP end as described with reference to FIG. 13 described later.
  • the flash processing of the video encoder instance 75-1 is performed, and if there is data whose output is reserved internally by the video encoder instance 75-1, it is forcibly output.
  • routing change processing in the virtual network switch 63 is performed in the same manner as the processing in steps S32 to S34 of FIG.
  • the orchestrator 61 transmits a start point processing instruction command instructing the start point processing of the output data to the virtual server 62-1.
  • the start point processing of output data in CELT audio encoding is to fade in the first output by inputting silent data prior to the input voice, as described with reference to FIG. 12 described later.
  • start point processing of the output data in the MPEG-2 video encoding is to forcibly encode as a GOP start as described with reference to FIG. 13 described later.
  • the termination process for terminating the audio encoder instance 73-1 is performed in the same manner as the processes in steps S29 to S31 of FIG.
  • the coding boundary can be forcibly generated.
  • FIG. 12 shows an example in which migration is performed between the 6th frame and the 7th frame of the input audio frame sequence.
  • the sixth frame is input to the audio encoder instance 73-1, and then silence data is input to forcibly generate the final frame. Therefore, the final frame output from the audio encoder instance 73-1 is in a state of being faded out.
  • the coding parameter is transmitted to the audio encoder instance 73-2, the audio encoder instance 73-2 is initialized using the received coding parameter, and the seventh and subsequent frames after the silent data is input. Wait for input. Then, the audio encoder instance 73-2 discards the first output frame and outputs from the second output frame. At this time, the second output frame is in a state of being faded in. Further, by making the audio encoder instance 73-2 hot standby in the virtual server 62-2, it is possible to avoid the occurrence of downtime.
  • one frame will be discarded, but it will be possible to output audio without generating noise.
  • FIG. 13 shows an example in which migration occurs between the B5 picture and the B6 picture of the input video frame.
  • the video encoder instance 75-1 creates a GOP boundary by cutting the back reference.
  • I1, P4, B2, B3, and P5 are output as GOP # 1 from the video encoder instance 75-1.
  • the video encoder instance 75-2 generates a GOP boundary by cutting the forward reference.
  • I6, P9, B7, B8, P12, B10, B11, ... are output from the video encoder instance 75-2 as GOP # 2.
  • FIG. 14 is a block diagram showing a configuration example of an embodiment of a computer on which a program for executing the above-mentioned series of processes is installed.
  • the program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 111 driven by the drive 109.
  • a removable recording medium 111 can be provided as so-called package software.
  • examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, a semiconductor memory, and the like.
  • the program can be installed on the computer from the removable recording medium 111 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
  • LAN Local Area Network
  • the computer has a built-in CPU (Central Processing Unit) 102, and the input / output interface 110 is connected to the CPU 102 via the bus 101.
  • CPU Central Processing Unit
  • the CPU 102 executes a program stored in the ROM (Read Only Memory) 103 accordingly. .. Alternatively, the CPU 102 loads the program stored in the hard disk 105 into the RAM (Random Access Memory) 104 and executes it.
  • ROM Read Only Memory
  • the CPU 102 performs processing according to the above-mentioned flowchart or processing performed according to the above-mentioned block diagram configuration. Then, the CPU 102 outputs the processing result from the output unit 106, transmits it from the communication unit 108, or records it on the hard disk 105, if necessary, via the input / output interface 110, for example.
  • the input unit 107 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 106 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
  • LCD Liquid Crystal Display
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
  • the program may be processed by one computer (processor) or may be distributed processed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
  • 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. ..
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • this technology can have a cloud computing configuration in which one function is shared and jointly processed by a plurality of devices via a network.
  • the above-mentioned program can be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step described in the above flowchart can be executed by one device or can be shared and executed 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.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for describing the program may be executed in chronological order according to the order described in this specification, or may be called in parallel or called. It may be executed individually at a necessary timing such as time. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • the present technology can also have the following configurations.
  • Multiple virtual servers that make up a cloud computing environment It is equipped with an orchestrator that manages a plurality of the above virtual servers and migrates encoder instances from the first virtual server to the second virtual server. At the time of migration Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and the data is acquired.
  • An information processing system that sets the data in the encoder instance of the second virtual server.
  • MDCT Modified Discrete Cosine Transform
  • An information processing system including a plurality of virtual servers constituting a cloud computing environment and an orchestrator that manages the plurality of the virtual servers and migrates an encoder instance from the first virtual server to the second virtual server.
  • An information processing method including setting the data in an encoder instance of the second virtual server.
  • An information processing system including a plurality of virtual servers constituting a cloud computing environment and an orchestrator that manages the plurality of the virtual servers and migrates an encoder instance from the first virtual server to the second virtual server.
  • On the computer At the time of migration Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and A program for executing information processing including setting the data in the encoder instance of the second virtual server.
  • 11 cloud computing environment 21 orchestrator, 22 virtual server, 23 virtual network switch, 31 physical server, 32 virtual machine instance, 33 application program, 51 video / audio encoding processing system, 61 orchestrator, 62 virtual server, 63 virtual network Switch, 64 voice input unit, 65 voice output unit, 71 physical server, 72 virtual machine instance, 73 audio encoder instance, 74 intermediate state buffer

Abstract

The present disclosure relates to an information processing system, an information processing method, and a program which enable migration to be performed more efficiently. The information processing system is provided with: a plurality of virtual servers which form a cloud computing environment; and an orchestrator which manages the plurality of virtual servers and executes the migration of an encoder instance from a first virtual server to a second virtual server. In addition, when executing the migration, only data necessary for a takeover is acquired from among data held in the encoder instance of the first virtual server, and the data is set to an encoder instance of the second virtual server. The present technology can be applied to, for example, a video and voice encoding processing system that performs live streaming.

Description

情報処理システムおよび情報処理方法、並びにプログラムInformation processing system and information processing method, and program
 本開示は、情報処理システムおよび情報処理方法、並びにプログラムに関し、特に、より効率良くマイグレーションを行うことができるようにした情報処理システムおよび情報処理方法、並びにプログラムに関する。 This disclosure relates to an information processing system, an information processing method, and a program, and more particularly to an information processing system, an information processing method, and a program that enable more efficient migration.
 一般的に、クラウドコンピューティングは、インターネットなどのコンピュータ・ネットワークによって接続された多数のコンピュータを利用する概念であり、ネットワークを介してサービスを提供することを主たる目的として用いられる。ところで、クラウドコンピューティングで提供されるサービスは、物理サーバが提供しているように見えるが、1つまたは複数の物理サーバ上で実行されるソフトウェアによってシミュレートまたはエミュレートされる仮想的なハードウェアにより提供される。 Generally, cloud computing is a concept that uses a large number of computers connected by a computer network such as the Internet, and is used mainly for the purpose of providing services via the network. By the way, the services provided by cloud computing appear to be provided by physical servers, but virtual hardware that is simulated or emulated by software running on one or more physical servers. Provided by.
 例えば、この仮想的なハードウェアは、仮想マシンと呼称される。また、仮想マシンが物理サーバ上に展開され実行されている状態のことは、仮想マシンインスタンスと呼称される。 For example, this virtual hardware is called a virtual machine. The state in which a virtual machine is deployed and executed on a physical server is called a virtual machine instance.
 さらに、仮想マシンインスタンスを物理サーバ間で移動させるマイグレーションと呼称される技術がある。マイグレーションは、クラウドコンピューティング環境内の物理サーバにおいて、オペレーティングシステムのアップグレード作業時やハードウェアの障害発生時に、仮想マシンインスタンス上のサービスを停止させずにサービス運用を継続するための技術である。 Furthermore, there is a technology called migration that moves virtual machine instances between physical servers. Migration is a technology for continuing service operation on a physical server in a cloud computing environment without stopping the service on the virtual machine instance when an operating system is upgraded or a hardware failure occurs.
 例えば、特許文献1には、仮想マシンインスタンス実行環境に「モビリティ構成データ」を定義し、仮想マシンインスタンスそのものが移動するのではなく、アプリケーションやプロセスなど限定的な範囲で移動する方式が開示されている。 For example, Patent Document 1 discloses a method in which "mobility configuration data" is defined in a virtual machine instance execution environment, and the virtual machine instance itself does not move but moves within a limited range such as an application or a process. There is.
 また、特許文献2には、FPGA(Field Programmable Gate Array)のエミュレーターを搭載し、FPGAの仮想化を図るというアプローチで、マイグレーション元とマイグレーション先とでFPGAによるハードウェアアクセラレーションを継続利用する方式が開示されている。 In addition, Patent Document 2 has an approach of mounting an FPGA (Field Programmable Gate Array) emulator to virtualize the FPGA, and a method of continuously using hardware acceleration by the FPGA between the migration source and the migration destination. It is disclosed.
 さらに、特許文献3には、仮想マシンを搭載した複合機において、マイグレーションを行うときに、仮想マシンインスタンスそのものの移動は行わないで、必要となるデータのみを移動させることによって効率化を図る方式が開示されている。 Further, Patent Document 3 describes a method for improving efficiency by moving only necessary data without moving the virtual machine instance itself when migrating a multifunction device equipped with a virtual machine. It is disclosed.
特開2014-96136号公報Japanese Unexamined Patent Publication No. 2014-96136 特開2018-5576号公報JP-A-2018-5576 特開2010-72872号公報Japanese Unexamined Patent Publication No. 2010-72872
 ところで、上述したようなクラウドコンピューティング環境で、映像音声エンコード処理のマイグレーションを行うときに、映像音声エンコード処理のリアルタイム性が継続されるようにすることは困難であった。また同時に、ハードウェア支援を利用した映像音声エンコード処理について、マイグレーション先の仮想マシンインスタンスにおいてもハードウェア支援が継続されるようにすることは困難であった。 By the way, in the cloud computing environment as described above, when migrating the video / audio encoding process, it was difficult to maintain the real-time property of the video / audio encoding process. At the same time, regarding video / audio encoding processing using hardware support, it was difficult to continue hardware support even at the migration destination virtual machine instance.
 そこで、クラウドコンピューティング環境において、仮想マシンインスタンス自体のマイグレーションを必要とせずに、リアルタイム性やハードウェア支援などが継続されるように高効率に行われる映像音声エンコードのマイグレーション方法が求められている。 Therefore, in a cloud computing environment, there is a demand for a video / audio encoding migration method that is performed with high efficiency so that real-time performance and hardware support can be continued without the need for migration of the virtual machine instance itself.
 本開示は、このような状況に鑑みてなされたものであり、より効率良くマイグレーションを行うことができるようにするものである。 This disclosure was made in view of such a situation, and is intended to enable more efficient migration.
 本開示の一側面の情報処理システムは、クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備え、マイグレーション時に、前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得し、そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定する。 The information processing system of one aspect of the present disclosure manages a plurality of virtual servers constituting a cloud computing environment and the plurality of the virtual servers, and migrates an encoder instance from the first virtual server to the second virtual server. It is equipped with an orchestrator to be executed, and at the time of migration, only the data necessary for taking over is acquired from the data held internally by the encoder instance of the first virtual server, and the data is used as the encoder of the second virtual server. Set in the instance.
 本開示の一側面の情報処理方法は、クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備える情報処理システムが、マイグレーション時に、前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得することと、そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定することを含む。 The information processing method of one aspect of the present disclosure manages a plurality of virtual servers constituting a cloud computing environment and the plurality of the virtual servers, and migrates an encoder instance from the first virtual server to the second virtual server. At the time of migration, the information processing system including the orchestrator to be executed acquires only the data necessary for taking over the data held internally by the encoder instance of the first virtual server, and obtains the data. Includes setting in the encoder instance of 2 virtual servers.
 本開示の一側面のプログラムは、クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備える情報処理システムのコンピュータに、マイグレーション時に、前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得することと、そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定することを含む情報処理を実行させる。 The program of one aspect of the present disclosure manages a plurality of virtual servers constituting a cloud computing environment and the plurality of the virtual servers, and migrates an encoder instance from the first virtual server to the second virtual server. At the time of migration, only the data necessary for taking over the data held internally by the encoder instance of the first virtual server is acquired by the computer of the information processing system provided with the orchestrator, and the data is acquired by the first virtual server. The information processing including setting in the encoder instance of the virtual server of 2 is executed.
 本開示の一側面においては、マイグレーション時に、第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけが取得され、そのデータが第2の仮想サーバのエンコーダインスタンスに設定される。 In one aspect of the present disclosure, at the time of migration, of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and that data is transferred to the encoder instance of the second virtual server. Set.
クラウドコンピューティング環境の構成例を示すブロック図である。It is a block diagram which shows the configuration example of a cloud computing environment. 仮想マシンインスタンスのマイグレーションについて説明する図である。It is a figure explaining the migration of a virtual machine instance. 本技術を適用した映像音声エンコード処理システムの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the video-audio encoding processing system to which this technique is applied. オーディオエンコーダインスタンスのマイグレーションについて説明する図である。It is a figure explaining the migration of an audio encoder instance. マイグレーション処理を説明するフローチャートである。It is a flowchart explaining the migration process. CELTオーディオエンコードについて説明する図である。It is a figure explaining CELT audio encoding. CELTでの入力および出力について説明する図である。It is a figure explaining the input and output in CELT. CELTでの必要なデータだけのコピーについて説明する図である。It is a figure explaining the copy of only necessary data in CELT. MPEG-2ビデオエンコードにおけるフレーム間の参照関係について説明する図である。It is a figure explaining the reference relationship between frames in MPEG-2 video encoding. ビデオフレームの並べ替えについて説明する図である。It is a figure explaining the rearrangement of a video frame. 入力ビデオフレームのB5ピクチャおよびB6ピクチャの間でマイグレーションが発生したケースについて説明する図である。It is a figure explaining the case where migration occurred between B5 picture and B6 picture of an input video frame. CELTオーディオエンコードにおけるマイグレーション処理の変形例について説明する図である。It is a figure explaining the modification of the migration process in CELT audio encoding. MPEG-2ビデオエンコードにおけるマイグレーション処理の変形例について説明する図である。It is a figure explaining the modification of the migration process in MPEG-2 video encoding. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the computer to which this technique is applied.
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.
 <クラウドコンピューティング環境および仮想マシンインスタンスのマイグレーションについて>
 まず、本技術を適用した映像音声エンコード処理システムについて説明する前に、図1および図2を参照して、一般的なクラウドコンピューティング環境および仮想マシンインスタンスのマイグレーションについて説明する。
<About migration of cloud computing environment and virtual machine instance>
First, before explaining the video / audio encoding processing system to which the present technology is applied, a general cloud computing environment and migration of a virtual machine instance will be described with reference to FIGS. 1 and 2.
 図1は、クラウドコンピューティング環境の構成例を示すブロック図である。 FIG. 1 is a block diagram showing a configuration example of a cloud computing environment.
 図1に示すように、クラウドコンピューティング環境11は、オーケストレータ21、複数の仮想サーバ22、および、仮想ネットワークスイッチ23が、ネットワークを介して接続されて構成される。なお、図1には、2台の仮想サーバ22-1および22-2が接続される構成例が示されているが、仮想サーバ22は1台が接続される構成であっても、3台以上が接続される構成であってもよい。また、以下では、仮想サーバ22-1および22-2をそれぞれ区別する必要がない場合、単に仮想サーバ22と称して説明を行う。 As shown in FIG. 1, the cloud computing environment 11 is configured by connecting an orchestrator 21, a plurality of virtual servers 22, and a virtual network switch 23 via a network. Note that FIG. 1 shows a configuration example in which two virtual servers 22-1 and 22-2 are connected, but even if one virtual server 22 is connected, three virtual servers 22 are connected. The above may be connected. Further, in the following, when it is not necessary to distinguish between the virtual servers 22-1 and 22-2, the description will be simply referred to as the virtual server 22.
 オーケストレータ21は、仮想サーバ22に対してリソース割り当てパラメータおよびインスタンス初期化パラメータを送信するとともに、仮想ネットワークスイッチ23に対するルーティング設定を行う。 The orchestrator 21 transmits resource allocation parameters and instance initialization parameters to the virtual server 22, and sets routing for the virtual network switch 23.
 仮想サーバ22は、リソース割り当てパラメータおよびインスタンス初期化パラメータに従って、物理サーバ31上に仮想マシンインスタンス32を展開して実行し、仮想マシンインスタンス32が各種のアプリケーションプログラム33を実行することができる。例えば、仮想サーバ22-1では、物理サーバ31-1に対して1つの仮想マシンインスタンス32-1が展開されており、仮想マシンインスタンス32よって2つのアプリケーションプログラム33A-1および33B-1が実行される。また、仮想サーバ22-2では、物理サーバ31-2に対して2つの仮想マシンインスタンス32A-2および32B-2が展開されており、仮想マシンインスタンス32A-2よってアプリケーションプログラム33A-2が実行され、仮想マシンインスタンス32B-2よってアプリケーションプログラム33B-2が実行される。 The virtual server 22 deploys and executes the virtual machine instance 32 on the physical server 31 according to the resource allocation parameter and the instance initialization parameter, and the virtual machine instance 32 can execute various application programs 33. For example, in the virtual server 22-1, one virtual machine instance 32-1 is deployed to the physical server 31-1, and two application programs 33A-1 and 33B-1 are executed by the virtual machine instance 32. To. Further, in the virtual server 22-2, two virtual machine instances 32A-2 and 32B-2 are deployed to the physical server 31-2, and the application program 33A-2 is executed by the virtual machine instance 32A-2. , The application program 33B-2 is executed by the virtual machine instance 32B-2.
 仮想ネットワークスイッチ23は、ネットワーク仮想化のために、オーケストレータ21によるルーティング設定に従って、パケットをルーティングする。 The virtual network switch 23 routes packets according to the routing settings by the orchestrator 21 for network virtualization.
 このような構成のクラウドコンピューティング環境11では、仮想マシン技術を用いることによって、1台の物理サーバ31(物理的な実体としてのサーバーコンピュータ)上で異なるオペレーティングシステムを動作させることができる。そして、クラウドコンピューティング環境11では、そのオペレーティングシステムで各種のアプリケーションプログラム33を実行させたり、本来ならば異なるコンピュータアーキテクチャ環境で動作するソフトウェアを実行させたりすることができる。 In the cloud computing environment 11 having such a configuration, different operating systems can be operated on one physical server 31 (server computer as a physical entity) by using the virtual machine technology. Then, in the cloud computing environment 11, various application programs 33 can be executed in the operating system, and software that normally operates in a different computer architecture environment can be executed.
 また、クラウドコンピューティング環境11では、仮想マシン技術により、エンドユーザに認知させることなく、サービス地点を移動させたり、サービスに割り当てるリソース(CPU、メモリなど)を増減させたりすることもできる。 Further, in the cloud computing environment 11, the virtual machine technology can be used to move the service point or increase or decrease the resources (CPU, memory, etc.) allocated to the service without making the end user aware of it.
 図2に示すクラウドコンピューティング環境11を参照して、仮想マシンインスタンス32のマイグレーションについて説明する。 The migration of the virtual machine instance 32 will be described with reference to the cloud computing environment 11 shown in FIG.
 例えば、クラウドコンピューティング環境11において、マイグレーション元となる仮想サーバ22-1は、仮想マシンインスタンス32-1を稼働させた状態で、仮想マシンインスタンス32-1のメモリスナップショットを取得し、仮想サーバ22-2へ転送する。続いて、仮想サーバ22-1は、仮想マシンインスタンス32-1のネットワーク設定や接続状態などを取得し、仮想サーバ22-2へ転送する。これに応じ、マイグレーション先となる仮想サーバ22-2は、メモリスナップショットや、ネットワーク設定、接続状態などを仮想マシンインスタンス32-2上に確立する。 For example, in the cloud computing environment 11, the migration source virtual server 22-1 takes a memory snapshot of the virtual machine instance 32-1 while the virtual machine instance 32-1 is running, and the virtual server 22 Transfer to -2. Subsequently, the virtual server 22-1 acquires the network settings, connection status, and the like of the virtual machine instance 32-1 and transfers them to the virtual server 22-2. In response to this, the virtual server 22-2, which is the migration destination, establishes a memory snapshot, network settings, connection status, etc. on the virtual machine instance 32-2.
 さらに、クラウドコンピューティング環境11では、マイグレーション元となる仮想サーバ22-1のローカルのストレージを、マイグレーション先となる仮想サーバ22-2の仮想マシンインスタンス32-2にコピーする。そして、仮想サーバ22-2で仮想マシンインスタンス32-2を再開することによって、マイグレーションが実現される。その後、仮想サーバ22-1は、仮想マシンインスタンス32-1を停止する。 Further, in the cloud computing environment 11, the local storage of the migration source virtual server 22-1 is copied to the virtual machine instance 32-2 of the migration destination virtual server 22-2. Then, the migration is realized by restarting the virtual machine instance 32-2 on the virtual server 22-2. After that, the virtual server 22-1 stops the virtual machine instance 32-1.
 なお、このようなマイグレーションには、仮想マシンインスタンス32のサイズ(規模)によって、数秒から数分におよぶ所要時間が必要となる。そのため、マイグレーションを効率化するための様々な技術が既に提案されている。 Note that such migration requires a required time of several seconds to several minutes depending on the size (scale) of the virtual machine instance 32. Therefore, various techniques for improving the efficiency of migration have already been proposed.
 例えば、マイグレーションのためにメモリコピーを行う場合、メモリコピーを行っている間もマイグレーション元の物理サーバ31-1上では仮想マシンインスタンス32-1が動作しているため、メモリ情報が逐次変化する。そこで、マイグレーション元の物理サーバ31-1で移動対象となる仮想マシンインスタンス32-1が使用しているメモリ領域に相当するメモリコピーを実行した後、そのメモリコピーの間に変化したメモリ情報に関する差分をコピーして、マイグレーション先の物理サーバ31-2に送信する必要がある。 For example, when memory copy is performed for migration, the memory information changes sequentially because the virtual machine instance 32-1 is operating on the migration source physical server 31-1 even during the memory copy. Therefore, after executing a memory copy corresponding to the memory area used by the virtual machine instance 32-1 to be moved on the migration source physical server 31-1, the difference regarding the memory information changed during the memory copy. It is necessary to copy and send it to the migration destination physical server 31-2.
 そして、この差分をコピーする間にもメモリ状態は変化することより、さらにその間の差分をコピーする必要がある。このように、メモリコピーと何回かの差分コピーを実行してメモリ差分情報が小さくなると、マイグレーション元で仮想マシンインスタンス32-1を停止し、最後に残った差分をコピーする。その後、マイグレーション先で仮想マシンインスタンス32-2を立ち上げ、仮想マシンインスタンス32-2による処理を再開する。ここで、仮想マシンインスタンス32-1の停止から仮想マシンインスタンス32-2の再開までに必要となる時間をダウンタイムと称する。そして、ダウンタイムが長くなると、システムがブラックアウトすることとなるため、ダウンタイムを短縮するための各種の技術が既に提案されている。 And since the memory state changes while copying this difference, it is necessary to copy the difference between them. In this way, when the memory difference information becomes small after executing the memory copy and the difference copy several times, the virtual machine instance 32-1 is stopped at the migration source and the last remaining difference is copied. After that, the virtual machine instance 32-2 is started at the migration destination, and the processing by the virtual machine instance 32-2 is restarted. Here, the time required from the stop of the virtual machine instance 32-1 to the restart of the virtual machine instance 32-2 is referred to as downtime. And since the system is blacked out when the downtime becomes long, various techniques for shortening the downtime have already been proposed.
 即ち、上述した特許文献1には、マイグレーションの対象範囲をアプリケーションプログラム単位やプロセス単位に限定することで物理サーバ間でのデータ転送量を縮小する技術が示されている。また、上述した特許文献3には、複合機での実施ではあるが、仮想マシンインスタンスそのものを移動させずに、仮想マシンインスタンスで実行中の処理で必要となるデータのみを移動させることによって、さらなるデータ転送量の縮小が図られることが示されている。その他、ハードウェアアクセラレーションを伴うプロセスが実行されているときには、マイグレーション先で同様のハードウェアアクセラレーション機能が提供されているか否か定かではない。そこで、特許文献2には、マイグレーション先の仮想マシンインスタンスでもハードウェア支援を継続するための技術が示されている。 That is, the above-mentioned Patent Document 1 discloses a technique for reducing the amount of data transfer between physical servers by limiting the scope of migration to each application program or process. Further, in Patent Document 3 described above, although it is implemented in a multifunction device, it is further described by moving only the data required for the processing being executed in the virtual machine instance without moving the virtual machine instance itself. It has been shown that the amount of data transferred can be reduced. In addition, when a process with hardware acceleration is being executed, it is uncertain whether the migration destination provides the same hardware acceleration function. Therefore, Patent Document 2 discloses a technique for continuing hardware support even in a virtual machine instance as a migration destination.
 このように、従来技術において、仮想サーバ間でのデータ転送量を抑えることによって仮想マシンインスタンスを停止させる時間を抑えるマイグレーションの技術が示されてはいる。特に、コンテナ型仮想化技術により仮想マシンインスタンスのメモリスナップショットから特定のアプリケーションプログラムやプロセスに関するメモリ領域だけを取り出すことは容易になった。 As described above, in the conventional technology, a migration technology that suppresses the time to stop the virtual machine instance by suppressing the amount of data transfer between virtual servers is shown. In particular, container-based virtualization technology has made it easier to extract only memory areas related to specific application programs and processes from memory snapshots of virtual machine instances.
 しかしながら、従来技術では、そのメモリ領域中からコード部とデータ部を分離して取り出することは容易ではなかった。従って、例えば、特許文献3に開示されているように、アプリケーションプログラムやプロセスなどの内容に応じて、マイグレーション時に必要となる最小データセットを予め設計しておくことが必要となってしまう。 However, with the prior art, it was not easy to separate the code part and the data part from the memory area. Therefore, for example, as disclosed in Patent Document 3, it is necessary to design in advance the minimum data set required at the time of migration according to the contents of the application program, the process, and the like.
 また、従来技術では、マイグレーション先の仮想マシンインスタンスでもハードウェア支援を継続するための技術が示されている。しかしながら、マイグレーションするアプリケーションプログラムやプロセスが映像音声のエンコード処理である場合には、ソフトウェア処理とハードウェア処理とが混在していることがある。従って、その場合には、CPUレジスタの状態およびメモリのスナップショット転送だけではエンコード処理を引き継ぐことができなかった。 Also, in the conventional technology, the technology for continuing hardware support even in the migration destination virtual machine instance is shown. However, when the application program or process to be migrated is video / audio encoding processing, software processing and hardware processing may coexist. Therefore, in that case, the encoding process could not be taken over only by the state of the CPU register and the snapshot transfer of the memory.
 さらに、従来技術では、すべて、仮想サーバ間のデータ転送時には、マイグレーション元の仮想マシンインスタンスを停止させるため、システムのブラックアウト期間が存在することになる。これは、リアルタイム処理が要求される映像音声のエンコード処理において、致命的な欠点となってしまう。 Furthermore, in all conventional technologies, when transferring data between virtual servers, the migration source virtual machine instance is stopped, so there is a system blackout period. This is a fatal drawback in the video / audio encoding process that requires real-time processing.
 特に、特許文献3には、マイグレーション時に必要なデータだけを転送する技術が示されている。しかしながら、特許文献3に開示されている技術は、複合機中の特定の処理ブロックに対する入力データを転送することで、当該処理ブロックの処理方式に依存することなく処理を継続できる点が特徴となっており、以下で説明する本技術とは異なるものとなっている。 In particular, Patent Document 3 discloses a technique for transferring only data necessary for migration. However, the technique disclosed in Patent Document 3 is characterized in that processing can be continued without depending on the processing method of the processing block by transferring the input data for a specific processing block in the multifunction device. This is different from the technology described below.
 即ち、以下で説明するように、本技術は、処理ブロックの内部に存在するデータを取り出して転送することを特徴とする。これは、一般的な映像音声のエンコード処理では、映像音声データの時間方向の相関を使ったデータ圧縮が行われることに着目している。 That is, as described below, the present technology is characterized in that the data existing inside the processing block is taken out and transferred. This focuses on the fact that in general video / audio encoding processing, data compression is performed using the correlation of the video / audio data in the time direction.
 逆に、映像音声エンコーダへの入力データだけを転送するならば、エンコーダ内部にてデータの時間方向の相関を使うため、同一エンコードパラメータで初期化済のエンコーダインスタンスを準備していても、エンコーダインスタンスを切り替えた時点において、出力映像音声データに不連続点が発生する可能性がある。特に、映像音声エンコードの符号化方式によっては、出力映像音声データの不連続点は確実に発生する。即ち、エンドユーザからは不可視な場所で実行されたエンコーダインスタンスの切り替えに起因して、映像または音声にノイズが発生することになる。 Conversely, if only the input data to the video / audio encoder is transferred, the data time correlation is used inside the encoder, so even if an encoder instance that has been initialized with the same encoding parameters is prepared, the encoder instance At the time of switching, there is a possibility that a discontinuity point may occur in the output video / audio data. In particular, depending on the video / audio encoding coding method, discontinuities in the output video / audio data are surely generated. That is, noise is generated in the video or audio due to the switching of the encoder instances executed in a place invisible to the end user.
 これに対し、本技術では、このような出力映像音声データの不連続点が発生することを回避し、ノイズが発生することなく映像または音声を再生することが可能となる。 On the other hand, in this technology, it is possible to avoid the occurrence of such discontinuities in the output video / audio data and reproduce the video or audio without generating noise.
 <映像音声エンコード処理システムの構成例>
 図3は、本技術を適用した映像音声エンコード処理システム51の一実施の形態の構成例を示すブロック図である。
<Configuration example of video / audio encoding processing system>
FIG. 3 is a block diagram showing a configuration example of an embodiment of the video / audio encoding processing system 51 to which the present technology is applied.
 図3に示すように、映像音声エンコード処理システム51は、オーケストレータ61、仮想サーバ62、仮想ネットワークスイッチ63、音声入力部64、および音声出力部65が、ネットワークを介して接続されて構成される。例えば、映像音声エンコード処理システム51は、エンドユーザによって映像音声エンコード処理定義書がオーケストレータ61にポストされると、映像音声エンコード処理を開始する。ここで、映像音声エンコード処理定義書には、例えば、入力URL(Uniform Resource Locator)や、出力URL、エンコードパラメータなどが記述されている。 As shown in FIG. 3, the video / audio encoding processing system 51 is configured by connecting an orchestrator 61, a virtual server 62, a virtual network switch 63, an audio input unit 64, and an audio output unit 65 via a network. .. For example, the video / audio encoding processing system 51 starts the video / audio encoding processing when the video / audio encoding processing definition document is posted to the orchestrator 61 by the end user. Here, for example, an input URL (Uniform Resource Locator), an output URL, an encoding parameter, and the like are described in the video / audio encoding processing definition document.
 オーケストレータ61は、1つまたは複数の仮想サーバ62の管理を行う。例えば、オーケストレータ61は、映像音声エンコード処理定義書の内容に従って、リソース割り当てパラメータおよびインスタンス初期化パラメータを仮想サーバ62に送信する。これにより、オーケストレータ61は、仮想サーバ62上で動作する仮想マシンインスタンス72のリソース割り当てや、仮想マシンインスタンス72により実行されるアプリケーションプログラムの起動や初期化などを行う。また、オーケストレータ61は、複数の仮想サーバ62の間で行われるマイグレーションを実施する。 The orchestrator 61 manages one or more virtual servers 62. For example, the orchestrator 61 transmits the resource allocation parameter and the instance initialization parameter to the virtual server 62 according to the contents of the video / audio encoding processing definition document. As a result, the orchestrator 61 allocates resources for the virtual machine instance 72 running on the virtual server 62, starts and initializes the application program executed by the virtual machine instance 72, and the like. Further, the orchestrator 61 carries out the migration performed between the plurality of virtual servers 62.
 仮想サーバ62は、物理サーバ71の上で、オペレーティングシステム、仮想マシンインスタンス72、およびオーディオエンコーダインスタンス73(アプリケーションプログラム)が動作する構成である。例えば、仮想マシンインスタンス72は、ハイパーバイザー型の仮想環境であってもよく、ホスト型の仮想環境であってもよく、コンテナ型の仮想環境であってもよい。また、仮想マシンインスタンス72は、物理サーバ71の上で直接仮想化を行う仮想環境であってもよく、この場合には、オペレーティングシステムは不要となる。 The virtual server 62 has a configuration in which the operating system, the virtual machine instance 72, and the audio encoder instance 73 (application program) operate on the physical server 71. For example, the virtual machine instance 72 may be a hypervisor type virtual environment, a host type virtual environment, or a container type virtual environment. Further, the virtual machine instance 72 may be a virtual environment in which virtualization is performed directly on the physical server 71, and in this case, no operating system is required.
 仮想ネットワークスイッチ63は、ネットワーク仮想化を行い、そのためのパケットをルーティングすることが主たる機能である。例えば、仮想ネットワークスイッチ63は、映像音声エンコード処理システム51によるルーティング設定(入力URLや出力URLなど)に従って、音声入力部64を介して入力される音声データを取得し、エンコードされた音声データを音声出力部65に出力する。 The main function of the virtual network switch 63 is to perform network virtualization and route packets for that purpose. For example, the virtual network switch 63 acquires audio data input via the audio input unit 64 according to routing settings (input URL, output URL, etc.) by the video / audio encoding processing system 51, and uses the encoded audio data as audio. Output to the output unit 65.
 そして、映像音声エンコード処理システム51では、仮想サーバ62のオーディオエンコーダインスタンス73が、音声入力部64から仮想ネットワークスイッチ63を介して入力される音声データに対する音声エンコード処理を実行する。その後、映像音声エンコード処理システム51では、オーディオエンコーダインスタンス73でエンコードされた音声データが、仮想ネットワークスイッチ63を介して音声出力部65へ出力される。なお、映像音声エンコード処理システム51は、後述する図10に示すようなビデオエンコーダインスタンス75が仮想サーバ62で実行されることによって、映像エンコード処理を実行することができる。 Then, in the video / audio encoding processing system 51, the audio encoder instance 73 of the virtual server 62 executes the audio encoding processing for the audio data input from the audio input unit 64 via the virtual network switch 63. After that, in the video / audio encoding processing system 51, the audio data encoded by the audio encoder instance 73 is output to the audio output unit 65 via the virtual network switch 63. The video / audio encoding processing system 51 can execute the video encoding processing by executing the video encoder instance 75 as shown in FIG. 10 described later on the virtual server 62.
 また、映像音声エンコード処理システム51においてオーディオエンコーダインスタンス73のマイグレーションが行われるときには、オーディオエンコーダインスタンス73において処理中のパケットシーケンス番号がオーケストレータ61に供給される。これにより、オーケストレータ61は、マイグレーションに必要となるデータだけをオーディオエンコーダインスタンス73から取得し、そのデータをマイグレーション先に設定することができる。 Further, when the audio encoder instance 73 is migrated in the video / audio encoding processing system 51, the packet sequence number being processed by the audio encoder instance 73 is supplied to the orchestrator 61. As a result, the orchestrator 61 can acquire only the data required for migration from the audio encoder instance 73 and set the data as the migration destination.
 ところで、処理中のパケットシーケンス番号は、ビデオサンプルがフラグメント化されていたり、オーディオサンプルがグルーピングされていたりするため、オーディオエンコーダインスタンス73の入力単位と、ネットワークのパケットとで不一致となっている。そこで、映像音声エンコード処理システム51では、オーディオエンコーダインスタンス73のマイグレーションを行うときに、マイグレーション元およびマイグレーション先において映像音声出力の連続性および一貫性を担保できるだけの最小限のデータセットだけを、仮想サーバ62間で転送する。 By the way, the packet sequence number being processed does not match the input unit of the audio encoder instance 73 and the network packet because the video sample is fragmented or the audio sample is grouped. Therefore, in the video / audio encoding processing system 51, when migrating the audio encoder instance 73, the virtual server uses only the minimum data set that can ensure the continuity and consistency of the video / audio output at the migration source and the migration destination. Transfer between 62.
 図4に示す映像音声エンコード処理システム51を参照して、オーディオエンコーダインスタンス73のマイグレーションについて説明する。 The migration of the audio encoder instance 73 will be described with reference to the video / audio encoding processing system 51 shown in FIG.
 図4に示す映像音声エンコード処理システム51では、仮想サーバ62-1がマイグレーション元となり、仮想サーバ62-2がマイグレーション先となる。また、オーディオエンコーダインスタンス73-1および73-2は、内部に保持するデータのうち、引き継ぎに必要なデータだけを記録する中間状態バッファ74-1および74-2を有している。 In the video / audio encoding processing system 51 shown in FIG. 4, the virtual server 62-1 is the migration source, and the virtual server 62-2 is the migration destination. Further, the audio encoder instances 73-1 and 73-2 have intermediate state buffers 74-1 and 74-2 for recording only the data necessary for taking over among the data held inside.
 そして、映像音声エンコード処理システム51においてマイグレーションが行われるときには、オーディオエンコーダインスタンス73-1の中間状態バッファ74-1に記録されているデータだけが、オーディオエンコーダインスタンス73-2の中間状態バッファ74-2にコピーされる。 Then, when the migration is performed in the video / audio encoding processing system 51, only the data recorded in the intermediate state buffer 74-1 of the audio encoder instance 73-1 is the intermediate state buffer 74-2 of the audio encoder instance 73-2. Is copied to.
 例えば、映像音声エンコード処理システム51は、アプリケーションプログラムまたはプロセスの中でもコードとデータとを分離して、データ部分だけにマイグレーションを実行することができる。これにより、映像音声エンコード処理システム51では、データ転送時間を短縮することができる。さらに、映像音声エンコード処理システム51は、コードをマイグレーションしないことより、マイグレーション先でもハードウェア支援を受けることができる。 For example, the video / audio encoding processing system 51 can separate the code and the data in the application program or process and execute the migration only in the data part. As a result, in the video / audio encoding processing system 51, the data transfer time can be shortened. Further, the video / audio encoding processing system 51 can receive hardware support even at the migration destination because the code is not migrated.
 <マイグレーション処理の処理例>
 図5に示すフローチャートを参照して、映像音声エンコード処理システム51でのマイグレーション処理の一例について説明する。なお、以下では、図4に示したオーディオエンコーダインスタンス73によるオーディオフレームに対する処理について説明するが、ビデオフレームに対してもビデオエンコーダインスタンス75(後述の図10)によって同様の処理が行われる。
<Processing example of migration processing>
An example of the migration process in the video / audio encoding processing system 51 will be described with reference to the flowchart shown in FIG. In the following, the processing for the audio frame by the audio encoder instance 73 shown in FIG. 4 will be described, but the same processing is also performed for the video frame by the video encoder instance 75 (FIG. 10 described later).
 ステップS11において、オーケストレータ61は、マイグレーション元となる仮想サーバ62-1上のオーディオエンコーダインスタンス73-1に対するインスタンス停止の準備を指示する停止準備指示コマンドを、仮想サーバ62-1へ送信する。 In step S11, the orchestrator 61 transmits a stop preparation instruction command for instructing the audio encoder instance 73-1 on the virtual server 62-1 to be the migration source to prepare for instance stop to the virtual server 62-1.
 ステップS12において、仮想サーバ62-1は、ステップS11で送信されてくる停止準備指示コマンドを受信して、停止準備処理として、以下で説明するようなネットワークパケットを結合または分離する処理を実行する。 In step S12, the virtual server 62-1 receives the stop preparation instruction command transmitted in step S11, and executes a process of combining or separating network packets as described below as the stop preparation process.
 例えば、仮想サーバ62-1は、マイグレーション前の最後のオーディオフレームを受信する。このとき、その最後のオーディオフレームは、分割されて複数のネットワークパケットとして伝送されることもあるし、結合されて1つのネットワークパケット中に複数のフレームが伝送されることもある。そこで、仮想サーバ62-1は、例えば、ネットワークパケットのペイロードの結合処理の途中であるときには、その結合処理を完了させる。 For example, the virtual server 62-1 receives the last audio frame before migration. At this time, the last audio frame may be divided and transmitted as a plurality of network packets, or may be combined and a plurality of frames may be transmitted in one network packet. Therefore, for example, the virtual server 62-1 completes the join processing when the payload of the network packet is in the middle of the join process.
 その後、仮想サーバ62-1は、結合処理で得られたオーディオフレーム(群)をオーディオエンコーダインスタンス73-1に入力してエンコード処理を行う。同時に、仮想サーバ62-1は、オーディオエンコーダインスタンス73-1に対するフラッシュ処理を行って、オーディオエンコーダインスタンス73-1が内部で出力留保しているデータがあれば、そのデータを強制的に出力させる。さらに、仮想サーバ62-1は、マイグレーション元となるオーディオエンコーダインスタンス73-1からエンコードの初期設定パラメータを取得する。そして、仮想サーバ62-1においてインスタンス停止を準備する停止準備処理が完了すると、処理はステップS13に進む。 After that, the virtual server 62-1 inputs the audio frame (group) obtained by the join process to the audio encoder instance 73-1 and performs the encoding process. At the same time, the virtual server 62-1 performs a flash process on the audio encoder instance 73-1 and forcibly outputs the data if the audio encoder instance 73-1 retains the output internally. Further, the virtual server 62-1 acquires the initial setting parameters of the encoding from the audio encoder instance 73-1 which is the migration source. Then, when the stop preparation process for preparing the instance stop on the virtual server 62-1 is completed, the process proceeds to step S13.
 ステップS13において、仮想サーバ62-1は、停止準備指示コマンドに従って実行した停止準備処理が完了した旨を通知する完了通知と、オーディオエンコーダインスタンス73-1から取得した初期設定パラメータとを、オーケストレータ61へ送信する。これにより、オーケストレータ61は、初期設定パラメータを取得する。 In step S13, the virtual server 62-1 sets the completion notification that the stop preparation process executed according to the stop preparation instruction command is completed and the initial setting parameter acquired from the audio encoder instance 73-1 to the orchestrator 61. Send to. As a result, the orchestrator 61 acquires the initial setting parameters.
 ステップS14において、オーケストレータ61は、オーディオエンコーダインスタンス73-1に対して、最後に処理したネットワークパケットのパケットシーケンス番号の取得を要求(問い合わせ)する取得要求コマンドを送信する。ここで、ネットワークパケットのパケットシーケンス番号としては、例えば、RTP(Real-time Transport Protocol)プロトコルを利用するときには、RTPパケットヘッダーのsequence numberフィールドの値を参照し、その値を利用することができる。 In step S14, the orchestrator 61 transmits an acquisition request command for requesting (inquiring) acquisition of the packet sequence number of the last processed network packet to the audio encoder instance 73-1. Here, as the packet sequence number of the network packet, for example, when using the RTP (Real-time Transport Protocol) protocol, the value in the sequence number field of the RTP packet header can be referred to and the value can be used.
 ステップS15において、オーディオエンコーダインスタンス73-1は、ステップS14で送信されてきた取得要求コマンドに応じて、最後に処理したネットワークパケットのパケットシーケンス番号をオーケストレータ61へ送信する。これにより、オーケストレータ61は、最後に処理したネットワークパケットのパケットシーケンス番号を取得する。 In step S15, the audio encoder instance 73-1 transmits the packet sequence number of the last processed network packet to the orchestrator 61 in response to the acquisition request command transmitted in step S14. As a result, the orchestrator 61 acquires the packet sequence number of the last processed network packet.
 ステップS16において、オーケストレータ61は、ネットワークパケットをマイグレーション元のオーディオエンコーダインスタンス73-1からマイグレーション先のオーディオエンコーダインスタンス73-2へ転送するために、新しいルーティングを決定する。 In step S16, the orchestrator 61 determines a new routing in order to transfer the network packet from the migration source audio encoder instance 73-1 to the migration destination audio encoder instance 73-2.
 ステップS17において、オーケストレータ61は、マイグレーション先となる仮想サーバ62-2に対して、仮想サーバ62-2におけるリソース割り当てとともにオーディオエンコーダインスタンス73-2の起動を指示する起動指示コマンドを送信する。 In step S17, the orchestrator 61 transmits a start instruction command instructing the start of the audio encoder instance 73-2 together with resource allocation in the virtual server 62-2 to the virtual server 62-2 to be the migration destination.
 ステップS18において、仮想サーバ62-2は、ステップS17で送信されてくる起動指示コマンドを受信して、物理サーバ71-2の電源を投入し、仮想マシンインスタンス72-2を起動する起動処理を行う。その際に、仮想サーバ62-2は、サービス定義書に記述の内容に基づいて、CPUやメモリなどのハードウェアリソースの割り当てを行う。その後、仮想サーバ62-2は、ソフトウェアのロードを行って、オーディオエンコーダインスタンス73-2を起動する。 In step S18, the virtual server 62-2 receives the start instruction command transmitted in step S17, turns on the power of the physical server 71-2, and performs a start process for starting the virtual machine instance 72-2. .. At that time, the virtual server 62-2 allocates hardware resources such as CPU and memory based on the contents described in the service definition document. After that, the virtual server 62-2 loads the software and starts the audio encoder instance 73-2.
 ステップS18の起動処理が完了すると、処理はステップS19に進み、仮想サーバ62-2は、起動指示コマンドに従って実行した起動処理が完了した旨を通知する完了通知をオーケストレータ61へ送信する。 When the start-up process of step S18 is completed, the process proceeds to step S19, and the virtual server 62-2 sends a completion notification to the orchestrator 61 notifying that the start-up process executed according to the start-up instruction command is completed.
 ステップS20において、オーケストレータ61は、仮想サーバ62-2に対してエンコードの初期設定パラメータを含む初期化指示コマンドを送信する。 In step S20, the orchestrator 61 transmits an initialization instruction command including an encoding initialization parameter to the virtual server 62-2.
 ステップS21において、仮想サーバ62-2は、ステップS20で送信されてくる初期化指示コマンドを受信して、オーディオエンコーダインスタンス73-2にエンコードの初期設定パラメータを設定する初期化処理を実行する。 In step S21, the virtual server 62-2 receives the initialization instruction command transmitted in step S20 and executes the initialization process of setting the initialization parameters of the encoding in the audio encoder instance 73-2.
 ステップS21の初期化処理が完了すると、処理はステップS22に進み、仮想サーバ62-2は、初期化指示コマンドに従って実行した初期化処理が完了した旨を通知する完了通知をオーケストレータ61へ送信する。 When the initialization process of step S21 is completed, the process proceeds to step S22, and the virtual server 62-2 transmits a completion notification to the orchestrator 61 notifying that the initialization process executed according to the initialization instruction command is completed. ..
 ステップS23において、オーケストレータ61は、マイグレーション元となるオーディオエンコーダインスタンス73-1の中間状態バッファ74に記録されたデータの取得を指示する取得指示コマンドを、仮想サーバ62-1へ送信する。 In step S23, the orchestrator 61 transmits an acquisition instruction command instructing acquisition of the data recorded in the intermediate state buffer 74 of the audio encoder instance 73-1 as the migration source to the virtual server 62-1.
 ステップS24において、仮想サーバ62-1は、ステップS23で送信されてくる取得指示コマンドを受信して、オーディオエンコーダインスタンス73-1の中間状態バッファ74-1に記録されたデータを抽出する。 In step S24, the virtual server 62-1 receives the acquisition instruction command transmitted in step S23 and extracts the data recorded in the intermediate state buffer 74-1 of the audio encoder instance 73-1.
 ステップS25において、仮想サーバ62-1は、ステップS24で抽出したデータをオーケストレータ61へ送信する。これにより、オーケストレータ61は、オーディオエンコーダインスタンス73-1の中間状態バッファ74-1に記録されたデータを取得する。 In step S25, the virtual server 62-1 transmits the data extracted in step S24 to the orchestrator 61. As a result, the orchestrator 61 acquires the data recorded in the intermediate state buffer 74-1 of the audio encoder instance 73-1.
 ステップS26において、オーケストレータ61は、ステップS25で取得したデータとともに、そのデータを中間状態バッファ74-2に設定することを指示する設定指示コマンドを、仮想サーバ62-2へ送信する。 In step S26, the orchestrator 61 transmits to the virtual server 62-2 a setting instruction command instructing to set the data in the intermediate state buffer 74-2 together with the data acquired in step S25.
 ステップS27において、仮想サーバ62-2は、ステップS26で送信されてくるデータおよび設定指示コマンドを取得して中間状態バッファ74-2に設定する設定処理を実行する。 In step S27, the virtual server 62-2 acquires the data and the setting instruction command transmitted in step S26 and executes the setting process of setting the intermediate state buffer 74-2.
 ステップS28において、仮想サーバ62-2は、設定指示コマンドに従って実行した設定処理が完了した旨を通知する完了通知を、オーケストレータ61へ送信する。 In step S28, the virtual server 62-2 sends a completion notification to the orchestrator 61 to notify that the setting process executed according to the setting instruction command is completed.
 ステップS29において、オーケストレータ61は、マイグレーション元となるオーディオエンコーダインスタンス73-1を終了させることを指示する終了指示コマンドを、仮想サーバ62-1へ送信する。 In step S29, the orchestrator 61 transmits an termination instruction command instructing the termination of the audio encoder instance 73-1 that is the migration source to the virtual server 62-1.
 ステップS30において、仮想サーバ62-1は、ステップS29で送信されてくる終了指示コマンドを受信して、オーディオエンコーダインスタンス73-1を終了させる終了処理を実行する。なお、このとき、仮想サーバ62-1は、仮想マシンインスタンス72-1を停止させてもよい。 In step S30, the virtual server 62-1 receives the end instruction command transmitted in step S29 and executes the end process of terminating the audio encoder instance 73-1. At this time, the virtual server 62-1 may stop the virtual machine instance 72-1.
 ステップS30の終了処理が完了すると、処理はステップS31に進み、仮想サーバ62-1は、終了指示コマンドに従って実行した終了処理が完了した旨を通知する完了通知をオーケストレータ61へ送信する。 When the end processing of step S30 is completed, the processing proceeds to step S31, and the virtual server 62-1 sends a completion notification to the orchestrator 61 notifying that the end processing executed according to the end instruction command is completed.
 ステップS32において、オーケストレータ61は、ステップS16で決定した新しいルーティングの設定とともに、ルーティングの変更を指示する変更指示コマンドを仮想ネットワークスイッチ63へ送信する。 In step S32, the orchestrator 61 transmits a change instruction command instructing the change of the routing to the virtual network switch 63 together with the setting of the new routing determined in step S16.
 ステップS33において、仮想ネットワークスイッチ63は、ステップS32で送信されてくる新しいルーティングの設定および変更指示コマンドを受信して、ルーティングの変更処理を実行する。例えば、仮想ネットワークスイッチ63は、マイグレーション元の仮想マシンインスタンス72-1に入力されていたネットワークパケットが、マイグレーション先の仮想マシンインスタンス72-2に入力されるように、仮想ネットワークスイッチのルーティング設定を切り替える。 In step S33, the virtual network switch 63 receives the new routing setting and change instruction command transmitted in step S32, and executes the routing change process. For example, the virtual network switch 63 switches the routing setting of the virtual network switch so that the network packet input to the migration source virtual machine instance 72-1 is input to the migration destination virtual machine instance 72-2. ..
 ステップS33のルーティングの変更処理が完了すると、処理はステップS34に進み、仮想ネットワークスイッチ63は、変更指示コマンドに従って実行したルーティングの変更処理が完了した旨を通知する完了通知をオーケストレータ61へ送信する。 When the routing change processing of step S33 is completed, the processing proceeds to step S34, and the virtual network switch 63 transmits a completion notification to the orchestrator 61 notifying that the routing change processing executed according to the change instruction command is completed. ..
 以上のように、映像音声エンコード処理システム51がマイグレーション処理を実行することによって、映像音声出力の連続性および一貫性を担保することができる。即ち、映像音声エンコード処理をクラウドコンピューティング環境で運用する場合に、運用環境のメンテナンスや5Gコアネットワークでサービスハンドオーバーされるのに伴って映像音声エンコード処理がマイグレーションされたとき、映像音声エンコード処理をシームレスに継続し、一貫性のある映像または音声を出力することができる。これにより、映像音声エンコード処理システム51は、ライブコンテンツの制作や配信(ストリーミング)などに用いることが、特に有効である。 As described above, the video / audio encoding processing system 51 executes the migration process to ensure the continuity and consistency of the video / audio output. That is, when the video / audio encoding process is operated in a cloud computing environment, the video / audio encoding process is performed when the video / audio encoding process is migrated due to maintenance of the operating environment or service handover in a 5G core network. It can continue seamlessly and output consistent video or audio. As a result, it is particularly effective to use the video / audio encoding processing system 51 for the production and distribution (streaming) of live content.
 また、映像音声エンコード処理システム51は、映像音声エンコード処理をクラウドコンピューティング環境で運用するときに、運用環境に障害が発生しても、映像音声エンコード処理を別の仮想サーバ62に移動して、映像または音声を途中から回復することができる。これにより、映像音声エンコード処理システム51は、ライブコンテンツの制作や配信(ストリーミング)などの他、例えば、オンデマンドなコンテンツ制作に用いても有効である。 Further, the video / audio encoding processing system 51 moves the video / audio encoding processing to another virtual server 62 even if a failure occurs in the operating environment when the video / audio encoding processing is operated in the cloud computing environment. Video or audio can be recovered from the middle. As a result, the video / audio encoding processing system 51 is effective not only for the production and distribution (streaming) of live content, but also for, for example, on-demand content production.
 さらに、映像音声エンコード処理システム51は、マルチテナントのクラウドコンピューティング環境で映像音声エンコード処理を実行する際に、同一の仮想サーバ62上の他の処理に影響を与えることを回避して、映像音声エンコード処理だけをマイグレーションすることができる。 Further, the video / audio encoding processing system 51 avoids affecting other processing on the same virtual server 62 when executing the video / audio encoding processing in a multi-tenant cloud computing environment, and the video / audio encoding processing system 51 avoids affecting other processing on the same virtual server 62. Only the encoding process can be migrated.
 その他、映像音声エンコード処理システム51は、マイグレーション元の仮想マシンインスタンス72-1およびオーディオエンコーダインスタンス73-1と、マイグレーション先の仮想マシンインスタンス72-2およびオーディオエンコーダインスタンス73-2を重複して起動しておくことが可能である。これにより、映像音声エンコード処理システム51は、いわゆるブラックアウト期間が発生することを回避することが可能となり、安定的な仮想サーバ62の切り替えを行うことが可能となる。 In addition, the video / audio encoding processing system 51 starts the migration source virtual machine instance 72-1 and audio encoder instance 73-1 in duplicate and the migration destination virtual machine instance 72-2 and audio encoder instance 73-2. It is possible to keep it. As a result, the video / audio encoding processing system 51 can avoid the occurrence of a so-called blackout period, and can stably switch the virtual server 62.
 <CELTオーディオエンコードについて>
 図6乃至図8を参照して、CELTオーディオエンコードにおいて中間状態バッファ74に記録されるデータについて説明する。
<About CELT audio encoding>
The data recorded in the intermediate state buffer 74 in CELT audio encoding will be described with reference to FIGS. 6 to 8.
 図6は、CELT(Constrained Energy Lapped Transform)オーディオエンコードについて説明する図である。 FIG. 6 is a diagram illustrating CELT (Constrained Energy Lapped Transform) audio encoding.
 CELTは、ライブストリーミングで使用される音声符号化方式であり、例えば、オーディオエンコーダインスタンス73は、CELTのエンコードに対応している。 CELT is an audio coding method used in live streaming. For example, the audio encoder instance 73 supports CELT encoding.
 一般的に、オーディオ符号化では、MDCT(Modified Discrete Cosine Transform:修正コサイン変換)と呼ばれる時間周波数変換が用いられる。例えば、図6に示すように、MDCT処理では、入力される音声信号が所定の時間幅のオーディオフレームに分割され、隣接するオーディオフレームと半分ずつ重複した2NサンプルのMDCT処理ブロック(図6でハッチングが施されたブロック)が生成される。そして、MDCT処理ブロックごとにMDCTが行われ、N個のMDCT係数が取得される。なお、逆変換では、N個のMDCT係数から2N個の信号サンプルが取得される。そして、MDCT処理以降では、隣接するオーディオフレームから得られたMDCT処理ブロックに対して、MDCTを行って得られたMDCT係数を圧縮する処理が行われる。 Generally, in audio coding, a time-frequency conversion called MDCT (Modified Discrete Cosine Transform) is used. For example, as shown in FIG. 6, in MDCT processing, the input audio signal is divided into audio frames having a predetermined time width, and the MDCT processing block of 2N samples (hatched in FIG. 6) overlaps with the adjacent audio frame by half. Blocks with) are generated. Then, MDCT is performed for each MDCT processing block, and N MDCT coefficients are acquired. In the inverse transformation, 2N signal samples are acquired from N MDCT coefficients. Then, after the MDCT process, a process of compressing the MDCT coefficient obtained by performing MDCT is performed on the MDCT processed block obtained from the adjacent audio frame.
 例えば、図7に示すように、CELTのエンコードでは、時間的に隣接する2つの非圧縮オーディオフレームがオーディオエンコーダインスタンス73に入力され、1つの圧縮オーディオフレームがオーディオエンコーダインスタンス73から出力される。 For example, as shown in FIG. 7, in CELT encoding, two temporally adjacent uncompressed audio frames are input to the audio encoder instance 73, and one compressed audio frame is output from the audio encoder instance 73.
 従って、MDCT処理を行うオーディオエンコードにおいて、オーディオエンコーダインスタンス73-1に入力していた非圧縮オーディオフレームを、ある時点からオーディオエンコーダインスタンス73-2に入力するように切り替えたとする。この場合、オーディオエンコーダインスタンス73-1から出力される圧縮オーディオフレームと、オーディオエンコーダインスタンス73-2から出力される圧縮オーディオフレームとで、音声として連続しないことがある。 Therefore, in the audio encoding for MDCT processing, it is assumed that the uncompressed audio frame input to the audio encoder instance 73-1 is switched to be input to the audio encoder instance 73-2 from a certain point in time. In this case, the compressed audio frame output from the audio encoder instance 73-1 and the compressed audio frame output from the audio encoder instance 73-2 may not be continuous as audio.
 例えば、入力の切り替えに伴う不連続性を回避するためには、入力の切り替え点における隣接するオーディオフレームを半分ずつ重複させて得られるMDCT処理ブロックが必要となる。そして、そのようなMDCT処理ブロックを取得するためには、以下で説明する2つの手法が検討される。 For example, in order to avoid the discontinuity due to input switching, an MDCT processing block obtained by duplicating adjacent audio frames at the input switching point by half is required. Then, in order to acquire such an MDCT processing block, two methods described below are considered.
 第1の手法は、マイグレーション先のオーディオエンコーダインスタンス73-2に、マイグレーション元のオーディオエンコーダインスタンス73-1に入力される先頭のオーディオフレームから順に全てのオーディオフレームを入力し直す手法である。第2の手法は、マイグレーション元のオーディオエンコーダインスタンス73-1が保持している最後に生成したMDCT処理ブロックを、マイグレーション先のオーディオエンコーダインスタンス73-2にコピーして、そのMDCT処理ブロックの後半部分のデータを使用してMDCT処理ブロックを生成する手法である。 The first method is a method of re-inputting all the audio frames to the migration destination audio encoder instance 73-2 in order from the first audio frame input to the migration source audio encoder instance 73-1. The second method is to copy the last generated MDCT processing block held by the migration source audio encoder instance 73-1 to the migration destination audio encoder instance 73-2, and the latter half of the MDCT processing block. It is a method to generate an MDCT processing block using the data of.
 ところで、第1の手法は、処理コストやライブエンコードへの適用性などを考慮すると現実的ではない。そこで、映像音声エンコード処理システム51では、CELTをエンコードするオーディオエンコーダインスタンス73のマイグレーションにおいて、第2の手法、即ち、マイグレーション元で最後に生成したMDCT処理ブロックを取得して、マイグレーション先に設定する手法を採用する。 By the way, the first method is not realistic considering the processing cost and applicability to live encoding. Therefore, in the video / audio encoding processing system 51, in the migration of the audio encoder instance 73 that encodes the CELT, the second method, that is, the method of acquiring the MDCT processing block last generated at the migration source and setting it at the migration destination. Is adopted.
 例えば、図8に示すように、オーディオエンコーダインスタンス73-1の内部状態データだけを、つまり、エンコード途中の最終フレームの出力だけをオーディオエンコーダインスタンス73-2に移動する。図8には、入力オーディオフレーム列のうち、6フレーム目と7フレーム目との間でマイグレーションが行われる例が示されている。 For example, as shown in FIG. 8, only the internal state data of the audio encoder instance 73-1, that is, only the output of the final frame in the middle of encoding is moved to the audio encoder instance 73-2. FIG. 8 shows an example in which migration is performed between the 6th frame and the 7th frame of the input audio frame sequence.
 この例では、5フレーム目の出力時点でのMDCT演算実施後の一時蓄積データであるMDCT処理ブロックW(6)が、オーディオエンコーダインスタンス73-1からオーディオエンコーダインスタンス73-2に伝送される。このとき、仮想サーバ62-2においてオーディオエンコーダインスタンス73-2をホットスタンバイさせておくことで、ダウンタイムが生じることを回避することができる。そして、オーディオエンコーダインスタンス73-2は、MDCT処理ブロックW(6)を用いることで、6フレーム目以降でも完全な音声出力を得ることができる。 In this example, the MDCT processing block W (6), which is the temporarily stored data after the MDCT calculation is executed at the time of output of the fifth frame, is transmitted from the audio encoder instance 73-1 to the audio encoder instance 73-2. At this time, by making the audio encoder instance 73-2 hot standby in the virtual server 62-2, it is possible to avoid the occurrence of downtime. Then, the audio encoder instance 73-2 can obtain a complete audio output even after the sixth frame by using the MDCT processing block W (6).
 例えば、このような手法を採用することで、ギャップなしの音声出力を行うことが可能となる。ただし、マイグレーション元で最後に生成したMDCT処理ブロックを取得して、マイグレーション先に設定するための実装を追加する必要がある。 For example, by adopting such a method, it is possible to output audio without a gap. However, it is necessary to acquire the MDCT processing block generated last at the migration source and add an implementation to set it at the migration destination.
 なお、オーディオエンコード処理にMDCT処理を含む符号化方式には、MP3, Dolby Digital (AC-3), Vorbis (Ogg), Windows Media Audio (WMA), ATRAC, Cook, Advanced Audio Coding (AAC), LDAC, Dolby AC-4, MPEG-H 3D Audioがある。 The coding methods that include MDCT processing in the audio encoding processing include MP3, Dolby Digital (AC-3), Vorbis (Ogg), Windows Media Audio (WMA), ATRAC, Cook, Advanced Audio Coding (AAC), and LDAC. , Dolby AC-4, MPEG-H 3D Audio.
 また、Adaptive Differential Pulse Code Modulation (ADPCM)やFree Lossless Audio Codec(FLAC)などロスレス圧縮であっても、線形予測符号化を含むエンコード処理にも適用可能である。例えば、線形予測符号化には、ある時刻のオーディオサンプルの予測をさらに過去のオーディオサンプル群から予測する前方向の予測と、ある時刻のオーディオサンプルの予測を未来のオーディオサンプル群から予測する後方向の予測とがある。いずれの予測であっても、過去または未来のオーディオフレームが保持しているオーディオサンプルが必要となることは自明である。 In addition, even lossless compression such as Adaptive Differential Pulse Code Modulation (ADPCM) and Free Lossless Audio Codec (FLAC) can be applied to encoding processing including linear predictive coding. For example, linear predictive coding includes forward prediction, which predicts the prediction of an audio sample at a certain time from a group of audio samples in the past, and backward prediction, which predicts a prediction of an audio sample at a certain time from a group of audio samples in the future. There is a prediction of. It is self-evident that both predictions require audio samples held by past or future audio frames.
 <MPEG-2ビデオエンコードについて>
 図9乃至11を参照して、MPEG-2(Moving Picture Experts Group -2)ビデオエンコードにおいて中間状態バッファ74に記録されたデータについて説明する。
<About MPEG-2 video encoding>
The data recorded in the intermediate state buffer 74 in MPEG-2 (Moving Picture Experts Group -2) video encoding will be described with reference to FIGS. 9 to 11.
 図9は、MPEG-2ビデオエンコードにおけるフレーム間の参照関係について説明する図である。 FIG. 9 is a diagram illustrating a reference relationship between frames in MPEG-2 video encoding.
 例えば、MPEG-2ビデオエンコーダのコンフィグレーションとして、入力されてくる非圧縮ビデオフレームをI1,B2,B3,P4,B5,B6,P7,B8,B9,P10の順序となるようにエンコードするように設定されていたとする。ここで、IはIピクチャ、PはPピクチャ、BはBピクチャを表し、数字はプレゼンテーションオーダーを表すものとする。 For example, as a configuration of the MPEG-2 video encoder, encode the input uncompressed video frame in the order of I1, B2, B3, P4, B5, B6, P7, B8, B9, P10. It is assumed that it has been set. Here, I is an I picture, P is a P picture, B is a B picture, and a number is a presentation order.
 「Iピクチャ」は、他のフレームを参照しないビデオフレームであり、「Pピクチャ」は、時間的に前のビデオフレームとの差分のみを記録しているビデオフレームであり、「Bピクチャ」は、時間的に前後の2枚のビデオフレームとの差分のみを記録しているビデオフレームである。従って、Iピクチャとしてエンコードする非圧縮ビデオフレームは他のビデオフレームを参照することはない。 "I picture" is a video frame that does not refer to other frames, "P picture" is a video frame that records only the difference from the previous video frame in time, and "B picture" is It is a video frame that records only the difference between the two video frames before and after in time. Therefore, an uncompressed video frame encoded as an I picture does not refer to another video frame.
 また、MPEG-2ビデオエンコーダは、リオーダリング処理を行う。リオーダリング処理とは、エンコーダの出力時に、ビデオフレームの順序をプレゼンテーションオーダーからデコーディングオーダーに並び替える処理である。例えば、図10に示すように、I1,B2,B3,P4,B5,B6,P7,B8,B9,P10のビデオフレーム列は、ビデオエンコーダインスタンス75の内部において並び替えられて、I1,P4,B2,B3,P7,B5,B6,P10,B8,B9の順序で出力される。 Also, the MPEG-2 video encoder performs reordering processing. The reordering process is a process of rearranging the order of video frames from the presentation order to the decoding order at the time of output of the encoder. For example, as shown in FIG. 10, the video frame sequences of I1, B2, B3, P4, B5, B6, P7, B8, B9, P10 are rearranged inside the video encoder instance 75, and I1, P4, It is output in the order of B2, B3, P7, B5, B6, P10, B8, B9.
 このような技術的理由により、IピクチャまたはPピクチャとしてエンコードされたビデオフレームは、他のビデオフレームから参照されることがある予測参照データであるため、ビデオエンコーダインスタンス75の内部に保持され、必要に応じて参照されることがある。従って、MPEG-2ビデオエンコーダにおいて、ビデオエンコーダインスタンス75をマイグレートするには、マイグレート元となるビデオエンコーダインスタンス75-1が内部に保持しているビデオフレームを、マイグレート先となるビデオエンコーダインスタンス75-2にコピーしなければエンコード処理が破綻することになる。 For these technical reasons, a video frame encoded as an I-picture or P-picture is retained and required inside the video encoder instance 75 because it is predictive reference data that may be referenced by other video frames. May be referred to accordingly. Therefore, in the MPEG-2 video encoder, in order to migrate the video encoder instance 75, the video frame held internally by the video encoder instance 75-1 which is the migration source is migrated to the video encoder instance which is the migration destination. If you do not copy to 75-2, the encoding process will break down.
 例えば、図11を参照して、入力ビデオフレームのB5ピクチャおよびB6ピクチャの間でマイグレーションが発生したケースについて説明する。即ち、このケースでは、B5ピクチャは、マイグレーション元となるビデオエンコーダインスタンス75-1に入力され、B6ピクチャは、マイグレーション先となるビデオエンコーダインスタンス75-2に入力される。 For example, with reference to FIG. 11, a case where migration occurs between the B5 picture and the B6 picture of the input video frame will be described. That is, in this case, the B5 picture is input to the video encoder instance 75-1 which is the migration source, and the B6 picture is input to the video encoder instance 75-2 which is the migration destination.
 このとき、ビデオエンコーダインスタンス75-1の内部で保持されているP4ピクチャおよびB5ピクチャを、処理途中データとしてビデオエンコーダインスタンス75-2にコピーする。ただし、P4ピクチャは被参照ピクチャとしてコピーされが、B5ピクチャはこれからエンコードされる処理待機状態としてコピーされる。そして、ビデオエンコーダインスタンス75-2は、P4ピクチャおよびB5ピクチャを設定して、B6ピクチャの入力を待機する。なお、B2ピクチャおよびB3ピクチャは、ビデオエンコーダインスタンス75-1から押し出される。 At this time, the P4 picture and the B5 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data. However, the P4 picture is copied as a referenced picture, while the B5 picture is copied as a process waiting state to be encoded. Then, the video encoder instance 75-2 sets the P4 picture and the B5 picture, and waits for the input of the B6 picture. The B2 picture and the B3 picture are extruded from the video encoder instance 75-1.
 以下、同様に、I1,B2,B3,P4,B5,B6,P7,B8,B9,P10それぞれの間でマイグレーションが発生したケースについて説明する。 Similarly, the case where migration occurs between I1, B2, B3, P4, B5, B6, P7, B8, B9, and P10 will be described below.
 まず、入力ビデオフレームのI1ピクチャおよびB2ピクチャの間でマイグレーションが発生したケースについて説明する。即ち、このケースでは、I1ピクチャは、マイグレーション元となるビデオエンコーダインスタンス75-1に入力され、B2ピクチャは、マイグレーション先となるビデオエンコーダインスタンス75-2に入力される。このとき、ビデオエンコーダインスタンス75-1の内部で保持されているI1ピクチャを、処理途中データとしてビデオエンコーダインスタンス75-2にコピーする。 First, a case where migration occurs between I1 picture and B2 picture of the input video frame will be described. That is, in this case, the I1 picture is input to the video encoder instance 75-1 which is the migration source, and the B2 picture is input to the video encoder instance 75-2 which is the migration destination. At this time, the I1 picture held inside the video encoder instance 75-1 is copied to the video encoder instance 75-2 as processing data.
 また、入力ビデオフレームのB2ピクチャおよびB3ピクチャの間でマイグレーションが発生したケースについて説明する。即ち、このケースでは、B2ピクチャは、マイグレーション元となるビデオエンコーダインスタンス75-1に入力され、B3ピクチャは、マイグレーション先となるビデオエンコーダインスタンス75-2に入力される。このとき、ビデオエンコーダインスタンス75-1の内部で保持されているI1ピクチャおよびB2ピクチャを、処理途中データとしてビデオエンコーダインスタンス75-2にコピーする。ただし、I1ピクチャは被参照ピクチャとしてコピーされるが、B2ピクチャはこれからエンコードされる処理待機状態としてコピーされる。 In addition, a case where migration occurs between B2 picture and B3 picture of the input video frame will be described. That is, in this case, the B2 picture is input to the video encoder instance 75-1 which is the migration source, and the B3 picture is input to the video encoder instance 75-2 which is the migration destination. At this time, the I1 picture and the B2 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data. However, the I1 picture is copied as a referenced picture, but the B2 picture is copied as a process waiting state to be encoded.
 また、入力ビデオフレームのB3ピクチャおよびP4ピクチャの間でマイグレーションが発生したケースについて説明する。即ち、このケースでは、B3ピクチャは、マイグレーション元となるビデオエンコーダインスタンス75-1に入力され、B4ピクチャは、マイグレーション先となるビデオエンコーダインスタンス75-2に入力される。このとき、ビデオエンコーダインスタンス75-1の内部で保持されているI1ピクチャ、B2ピクチャ、およびB3ピクチャを、処理途中データとしてビデオエンコーダインスタンス75-2にコピーする。ただし、I1ピクチャは被参照ピクチャとしてコピーされるが、B2ピクチャおよびB3ピクチャはこれからエンコードされる処理待機状態としてコピーされる。 In addition, a case where migration occurs between B3 picture and P4 picture of the input video frame will be described. That is, in this case, the B3 picture is input to the video encoder instance 75-1 which is the migration source, and the B4 picture is input to the video encoder instance 75-2 which is the migration destination. At this time, the I1 picture, the B2 picture, and the B3 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data. However, the I1 picture is copied as a referenced picture, but the B2 and B3 pictures are copied as a process waiting state to be encoded.
 また、入力ビデオフレームのP4ピクチャおよびB5ピクチャの間でマイグレーションが発生したケースについて説明する。即ち、このケースでは、P4ピクチャは、マイグレーション元となるビデオエンコーダインスタンス75-1に入力され、B5ピクチャは、マイグレーション先となるビデオエンコーダインスタンス75-2に入力される。このとき、ビデオエンコーダインスタンス75-1の内部で保持されているP4ピクチャを、処理途中データとしてビデオエンコーダインスタンス75-2にコピーする。ただし、P4ピクチャは被参照ピクチャとしてコピーされる。 In addition, a case where migration occurs between P4 picture and B5 picture of the input video frame will be described. That is, in this case, the P4 picture is input to the video encoder instance 75-1 which is the migration source, and the B5 picture is input to the video encoder instance 75-2 which is the migration destination. At this time, the P4 picture held inside the video encoder instance 75-1 is copied to the video encoder instance 75-2 as processing data. However, the P4 picture is copied as a referenced picture.
 また、入力ビデオフレームのB6ピクチャおよびP7ピクチャの間でマイグレーションが発生したケースについて説明する。即ち、このケースでは、B6ピクチャは、マイグレーション元となるビデオエンコーダインスタンス75-1に入力され、P7ピクチャは、マイグレーション先となるビデオエンコーダインスタンス75-2に入力される。このとき、ビデオエンコーダインスタンス75-1の内部で保持されているP4ピクチャ、B5ピクチャ、およびB6ピクチャを、処理途中データとしてビデオエンコーダインスタンス75-2にコピーする。ただし、P4ピクチャは被参照ピクチャとしてコピーされるが、B5ピクチャおよびB6ピクチャはこれからエンコードされる処理待機状態としてコピーされる。 In addition, a case where migration occurs between B6 picture and P7 picture of the input video frame will be described. That is, in this case, the B6 picture is input to the video encoder instance 75-1 which is the migration source, and the P7 picture is input to the video encoder instance 75-2 which is the migration destination. At this time, the P4 picture, the B5 picture, and the B6 picture held inside the video encoder instance 75-1 are copied to the video encoder instance 75-2 as processing data. However, the P4 picture is copied as a referenced picture, but the B5 picture and B6 picture are copied as a processing waiting state to be encoded.
 なお、入力ビデオフレームのP7ピクチャおよびB8ピクチャの間でマイグレーションが発生したケースは、入力ビデオフレームのP4ピクチャおよびB5ピクチャの間でマイグレーションが発生したケースと同様に処理される。また、入力ビデオフレームのB8ピクチャおよびB9ピクチャの間でマイグレーションが発生したケースは、入力ビデオフレームのB5ピクチャおよびB6ピクチャの間でマイグレーションが発生したケースと同様に処理される。また、入力ビデオフレームのB9ピクチャおよびP10ピクチャの間でマイグレーションが発生したケースは、入力ビデオフレームのB6ピクチャおよびP7ピクチャの間でマイグレーションが発生したケースと同様に処理される。従って、それらのケースについて処理の説明は省略する。 Note that the case where migration occurs between P7 picture and B8 picture of the input video frame is processed in the same way as the case where migration occurs between P4 picture and B5 picture of the input video frame. Further, the case where the migration occurs between the B8 picture and the B9 picture of the input video frame is processed in the same manner as the case where the migration occurs between the B5 picture and the B6 picture of the input video frame. Further, the case where the migration occurs between the B9 picture and the P10 picture of the input video frame is processed in the same manner as the case where the migration occurs between the B6 picture and the P7 picture of the input video frame. Therefore, the description of the processing for those cases will be omitted.
 なお、ビデオエンコード処理で、Iフレームや、Pフレーム、Bフレームなど、時間方向の予測差分を算出するエンコード処理には、適用可能である。そのようなビデオエンコードを行う方式には、MPEG-4 AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)などがある。 It should be noted that the video encoding process can be applied to the encoding process for calculating the predicted difference in the time direction such as I frame, P frame, and B frame. Methods for performing such video encoding include MPEG-4 AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding).
 <映像音声エンコード処理システムのマイグレーション処理の変形例>
 図12および図13を参照して、映像音声エンコード処理システム51において行われるマイグレーション処理の変形例について説明する。
<Modification example of migration processing of video / audio encoding processing system>
A modification of the migration process performed in the video / audio encoding processing system 51 will be described with reference to FIGS. 12 and 13.
 例えば、映像音声エンコード処理システム51では、オーディオエンコーダインスタンス73-1の内部状態を取得して、オーディオエンコーダインスタンス73-2に設定するインタフェースの追加せずに、マイグレーションを実施することができる。 For example, in the video / audio encoding processing system 51, it is possible to acquire the internal state of the audio encoder instance 73-1 and perform the migration without adding the interface to be set in the audio encoder instance 73-2.
 例えば、オーケストレータ61は、マイグレーション元となるオーディオエンコーダインスタンス73-1で最終入力を受け付けたときに、出力データの終端処理を行うように仮想サーバ62-2に対する指示を行う。そして、オーケストレータ61は、マイグレーション先となるオーディオエンコーダインスタンス73-2で最初の出力を受け付けたときに、出力データの初期化処理を行うように仮想サーバ62-2に対する指示を行う。 For example, the orchestrator 61 instructs the virtual server 62-2 to terminate the output data when the final input is received by the audio encoder instance 73-1 which is the migration source. Then, when the audio encoder instance 73-2, which is the migration destination, receives the first output, the orchestrator 61 instructs the virtual server 62-2 to perform the initialization processing of the output data.
 即ち、図5に示すフローチャートを参照して説明したマイグレーション処理において、ステップS11からステップS22までの処理が同様に行われた後、ステップS23の処理に替えて、オーケストレータ61は、出力データの終端処理を指示する終端処理指示コマンドを、仮想サーバ62-1へ送信する。 That is, in the migration process described with reference to the flowchart shown in FIG. 5, after the processes from step S11 to step S22 are performed in the same manner, the orchestrator 61 terminates the output data instead of the process in step S23. A terminal processing instruction command instructing processing is transmitted to the virtual server 62-1.
 例えば、CELTオーディオエンコードにおける出力データの終端処理は、後述する図12を参照して説明するように、入力音声に続けて無音データを入力することで最終出力をフェードアウトさせることである。同時に、オーディオエンコーダインスタンス73-1のフラッシュ処理を行い、オーディオエンコーダインスタンス73-1が内部で出力留保しているデータがあれば強制的に出力させる。 For example, the termination process of the output data in CELT audio encoding is to fade out the final output by inputting silent data after the input voice, as described with reference to FIG. 12 described later. At the same time, the flash processing of the audio encoder instance 73-1 is performed, and if there is data whose output is reserved internally by the audio encoder instance 73-1, it is forcibly output.
 また、MPEG-2ビデオエンコードにおける出力データの終端処理は、後述する図13を参照して説明するように、強制的にGOPエンドとして符号化することである。同時に、ビデオエンコーダインスタンス75-1のフラッシュ処理を行い、ビデオエンコーダインスタンス75-1が内部で出力留保しているデータがあれば強制的に出力させる。 Further, the termination processing of the output data in the MPEG-2 video encoding is to forcibly encode as a GOP end as described with reference to FIG. 13 described later. At the same time, the flash processing of the video encoder instance 75-1 is performed, and if there is data whose output is reserved internally by the video encoder instance 75-1, it is forcibly output.
 その後、図5のステップS32乃至S34の処理と同様に、仮想ネットワークスイッチ63におけるルーティングの変更処理が行われる。 After that, the routing change processing in the virtual network switch 63 is performed in the same manner as the processing in steps S32 to S34 of FIG.
 そして、オーケストレータ61は、出力データの開始点処理を指示する開始点処理指示コマンドを、仮想サーバ62-1へ送信する。 Then, the orchestrator 61 transmits a start point processing instruction command instructing the start point processing of the output data to the virtual server 62-1.
 例えば、CELTオーディオエンコードにおける出力データの開始点処理は、後述する図12を参照して説明するように、入力音声に先んじて無音データを入力することで最初の出力をフェードインさせることである。 For example, the start point processing of output data in CELT audio encoding is to fade in the first output by inputting silent data prior to the input voice, as described with reference to FIG. 12 described later.
 また、MPEG-2ビデオエンコードにおける出力データの開始点処理は、後述する図13を参照して説明するように、強制的にGOPスタートとして符号化することである。 Further, the start point processing of the output data in the MPEG-2 video encoding is to forcibly encode as a GOP start as described with reference to FIG. 13 described later.
 その後、図5のステップS29乃至S31の処理と同様に、オーディオエンコーダインスタンス73-1を終了させる終了処理が行われる。 After that, the termination process for terminating the audio encoder instance 73-1 is performed in the same manner as the processes in steps S29 to S31 of FIG.
 このようなマイグレーション処理を映像音声エンコード処理システム51において実行することによって、符号化バウンダリを強制的に生成することができる。 By executing such a migration process in the video / audio encoding processing system 51, the coding boundary can be forcibly generated.
 図12を参照して、CELTオーディオエンコードにおけるマイグレーション処理の変形例について説明する。 A modified example of the migration process in CELT audio encoding will be described with reference to FIG.
 図12には、入力オーディオフレーム列のうち、6フレーム目と7フレーム目との間でマイグレーションが行われる例が示されている。まず、オーディオエンコーダインスタンス73-1に6フレーム目が入力された次に、無音データを入力して最終フレームを強制生成させる。従って、オーディオエンコーダインスタンス73-1から出力される最終フレームは、フェードアウト処理が施された状態となる。 FIG. 12 shows an example in which migration is performed between the 6th frame and the 7th frame of the input audio frame sequence. First, the sixth frame is input to the audio encoder instance 73-1, and then silence data is input to forcibly generate the final frame. Therefore, the final frame output from the audio encoder instance 73-1 is in a state of being faded out.
 一方、オーディオエンコーダインスタンス73-2には、符号化パラメータを伝送し、オーディオエンコーダインスタンス73-2は、受信した符号化パラメータを用いて初期化して、無音データを入力してから7フレーム目以降の入力を待機する。そして、オーディオエンコーダインスタンス73-2は、最初の出力フレームを破棄し、2番目の出力フレームから出力する。このとき、この2番目の出力フレームはフェードイン処理が施された状態となる。また、仮想サーバ62-2においてオーディオエンコーダインスタンス73-2をホットスタンバイさせておくことで、ダウンタイムが生じることを回避することができる。 On the other hand, the coding parameter is transmitted to the audio encoder instance 73-2, the audio encoder instance 73-2 is initialized using the received coding parameter, and the seventh and subsequent frames after the silent data is input. Wait for input. Then, the audio encoder instance 73-2 discards the first output frame and outputs from the second output frame. At this time, the second output frame is in a state of being faded in. Further, by making the audio encoder instance 73-2 hot standby in the virtual server 62-2, it is possible to avoid the occurrence of downtime.
 例えば、このような手法を採用することで、1フレームは破棄されることになるが、ノイズは発生しない音声出力を行うことが可能となる。また、上述したようなマイグレーション元で最後に生成したMDCT処理ブロックを取得して、マイグレーション先に設定するための実装は必要としない。 For example, by adopting such a method, one frame will be discarded, but it will be possible to output audio without generating noise. In addition, it is not necessary to implement the MDCT processing block that was last generated by the migration source as described above and set it as the migration destination.
 図13を参照して、MPEG-2ビデオエンコードにおけるマイグレーション処理の変形例について説明する。 A modified example of the migration process in MPEG-2 video encoding will be described with reference to FIG.
 図13には、入力ビデオフレームのB5ピクチャおよびB6ピクチャの間でマイグレーションが発生した例が示されている。まず、ビデオエンコーダインスタンス75-1は、後方参照を切ることによってGOP境界を生成する。これにより、I1,P4,B2,B3,P5がGOP#1として、ビデオエンコーダインスタンス75-1から出力される。 FIG. 13 shows an example in which migration occurs between the B5 picture and the B6 picture of the input video frame. First, the video encoder instance 75-1 creates a GOP boundary by cutting the back reference. As a result, I1, P4, B2, B3, and P5 are output as GOP # 1 from the video encoder instance 75-1.
 一方、ビデオエンコーダインスタンス75-2は、前方参照を切ることでGOP境界を生成する。これにより、I6,P9,B7,B8,P12,B10,B11,・・・がGOP#2として、ビデオエンコーダインスタンス75-2から出力される。 On the other hand, the video encoder instance 75-2 generates a GOP boundary by cutting the forward reference. As a result, I6, P9, B7, B8, P12, B10, B11, ... Are output from the video encoder instance 75-2 as GOP # 2.
 <コンピュータの構成例>
 次に、上述した一連の処理(情報処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
<Computer configuration example>
Next, the series of processes (information processing method) described above can be performed by hardware or software. When a series of processes is performed by software, the programs constituting the software are installed on a general-purpose computer or the like.
 図14は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。 FIG. 14 is a block diagram showing a configuration example of an embodiment of a computer on which a program for executing the above-mentioned series of processes is installed.
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。 The program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built in the computer.
 あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。 Alternatively, the program can be stored (recorded) in the removable recording medium 111 driven by the drive 109. Such a removable recording medium 111 can be provided as so-called package software. Here, examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, a semiconductor memory, and the like.
 なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。 The program can be installed on the computer from the removable recording medium 111 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
 コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。 The computer has a built-in CPU (Central Processing Unit) 102, and the input / output interface 110 is connected to the CPU 102 via the bus 101.
 CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。 When a command is input by the user by operating the input unit 107 or the like via the input / output interface 110, the CPU 102 executes a program stored in the ROM (Read Only Memory) 103 accordingly. .. Alternatively, the CPU 102 loads the program stored in the hard disk 105 into the RAM (Random Access Memory) 104 and executes it.
 これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。 As a result, the CPU 102 performs processing according to the above-mentioned flowchart or processing performed according to the above-mentioned block diagram configuration. Then, the CPU 102 outputs the processing result from the output unit 106, transmits it from the communication unit 108, or records it on the hard disk 105, if necessary, via the input / output interface 110, for example.
 なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。 The input unit 107 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 106 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。 Here, in the present specification, the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。 Further, the program may be processed by one computer (processor) or may be distributed processed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 Further, in the present specification, 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. ..
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。 Further, for example, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). On the contrary, the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit). Further, of course, a configuration other than the above may be added to the configuration of each device (or each processing unit). Further, if the configuration and operation of the entire system are substantially the same, a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 Further, for example, this technology can have a cloud computing configuration in which one function is shared and jointly processed by a plurality of devices via a network.
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。 Further, for example, the above-mentioned program can be executed in any device. In that case, the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。 Further, for example, each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices. Further, when a plurality of processes are included in one step, the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices. In other words, a plurality of processes included in one step can be executed as processes of a plurality of steps. On the contrary, the processes described as a plurality of steps can be collectively executed as one step.
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。 In the program executed by the computer, the processing of the steps for describing the program may be executed in chronological order according to the order described in this specification, or may be called in parallel or called. It may be executed individually at a necessary timing such as time. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。 It should be noted that the present techniques described in the present specification can be independently implemented independently as long as there is no contradiction. Of course, any plurality of the present technologies can be used in combination. For example, some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 クラウドコンピューティング環境を構成する複数の仮想サーバと、
 複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータと
 を備え、
 マイグレーション時に、
  前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得し、
  そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定する
 情報処理システム。
(2)
 前記エンコーダインスタンスがオーディオフレームのMDCT(Modified Discrete Cosine Transform)処理を行う場合、引き継ぎに必要な前記データはMDCT処理ブロックである
 上記(1)に記載の情報処理システム。
(3)
 前記エンコーダインスタンスがビデオフレームの線形予測符号化処理を行う場合、引き継ぎに必要な前記データは予測参照データである
 上記(1)または(2)に記載の情報処理システム。
(4)
 前記エンコーダインスタンスがビデオフレームのリオーダリング処理を行う場合、引き継ぎに必要な前記データは被参照ビデオフレームである
 上記(3)に記載の情報処理システム。
(5)
 クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備える情報処理システムが、
 マイグレーション時に、
  前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得することと、
  そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定すること
 を含む情報処理方法。
(6)
 クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備える情報処理システムのコンピュータに、
 マイグレーション時に、
  前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得することと、
  そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定すること
 を含む情報処理を実行させるためのプログラム。
<Example of configuration combination>
The present technology can also have the following configurations.
(1)
Multiple virtual servers that make up a cloud computing environment
It is equipped with an orchestrator that manages a plurality of the above virtual servers and migrates encoder instances from the first virtual server to the second virtual server.
At the time of migration
Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and the data is acquired.
An information processing system that sets the data in the encoder instance of the second virtual server.
(2)
The information processing system according to (1) above, wherein when the encoder instance performs MDCT (Modified Discrete Cosine Transform) processing of an audio frame, the data required for taking over is an MDCT processing block.
(3)
The information processing system according to (1) or (2) above, wherein when the encoder instance performs linear predictive coding processing of a video frame, the data required for taking over is predictive reference data.
(4)
The information processing system according to (3) above, wherein when the encoder instance performs a video frame reordering process, the data required for taking over is a referenced video frame.
(5)
An information processing system including a plurality of virtual servers constituting a cloud computing environment and an orchestrator that manages the plurality of the virtual servers and migrates an encoder instance from the first virtual server to the second virtual server. ,
At the time of migration
Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and
An information processing method including setting the data in an encoder instance of the second virtual server.
(6)
An information processing system including a plurality of virtual servers constituting a cloud computing environment and an orchestrator that manages the plurality of the virtual servers and migrates an encoder instance from the first virtual server to the second virtual server. On the computer
At the time of migration
Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and
A program for executing information processing including setting the data in the encoder instance of the second virtual server.
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。 Note that the present embodiment is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present disclosure. Further, the effects described in the present specification are merely examples and are not limited, and other effects may be obtained.
 11 クラウドコンピューティング環境, 21 オーケストレータ, 22 仮想サーバ, 23 仮想ネットワークスイッチ, 31 物理サーバ, 32 仮想マシンインスタンス, 33 アプリケーションプログラム, 51 映像音声エンコード処理システム, 61 オーケストレータ, 62 仮想サーバ, 63 仮想ネットワークスイッチ, 64 音声入力部, 65 音声出力部, 71 物理サーバ, 72 仮想マシンインスタンス, 73 オーディオエンコーダインスタンス, 74 中間状態バッファ 11 cloud computing environment, 21 orchestrator, 22 virtual server, 23 virtual network switch, 31 physical server, 32 virtual machine instance, 33 application program, 51 video / audio encoding processing system, 61 orchestrator, 62 virtual server, 63 virtual network Switch, 64 voice input unit, 65 voice output unit, 71 physical server, 72 virtual machine instance, 73 audio encoder instance, 74 intermediate state buffer

Claims (6)

  1.  クラウドコンピューティング環境を構成する複数の仮想サーバと、
     複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータと
     を備え、
     マイグレーション時に、
      前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得し、
      そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定する
     情報処理システム。
    Multiple virtual servers that make up a cloud computing environment
    It is equipped with an orchestrator that manages a plurality of the above virtual servers and migrates encoder instances from the first virtual server to the second virtual server.
    At the time of migration
    Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and the data is acquired.
    An information processing system that sets the data in the encoder instance of the second virtual server.
  2.  前記エンコーダインスタンスがオーディオフレームのMDCT(Modified Discrete Cosine Transform)処理を行う場合、引き継ぎに必要な前記データはMDCT処理ブロックである
     請求項1に記載の情報処理システム。
    The information processing system according to claim 1, wherein when the encoder instance performs MDCT (Modified Discrete Cosine Transform) processing of an audio frame, the data required for taking over is an MDCT processing block.
  3.  前記エンコーダインスタンスがビデオフレームの線形予測符号化処理を行う場合、引き継ぎに必要な前記データは予測参照データである
     請求項1に記載の情報処理システム。
    The information processing system according to claim 1, wherein when the encoder instance performs linear predictive coding processing of a video frame, the data required for taking over is predictive reference data.
  4.  前記エンコーダインスタンスがビデオフレームのリオーダリング処理を行う場合、引き継ぎに必要な前記データは被参照ビデオフレームである
     請求項3に記載の情報処理システム。
    The information processing system according to claim 3, wherein when the encoder instance performs a video frame reordering process, the data required for the takeover is a referenced video frame.
  5.  クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備える情報処理システムが、
     マイグレーション時に、
      前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得することと、
      そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定すること
     を含む情報処理方法。
    An information processing system including a plurality of virtual servers constituting a cloud computing environment and an orchestrator that manages the plurality of the virtual servers and migrates an encoder instance from the first virtual server to the second virtual server. ,
    At the time of migration
    Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and
    An information processing method including setting the data in an encoder instance of the second virtual server.
  6.  クラウドコンピューティング環境を構成する複数の仮想サーバと、複数の前記仮想サーバを管理し、第1の仮想サーバから第2の仮想サーバへエンコーダインスタンスのマイグレーションを実施するオーケストレータとを備える情報処理システムのコンピュータに、
     マイグレーション時に、
      前記第1の仮想サーバのエンコーダインスタンスが内部に保持するデータのうち、引き継ぎに必要なデータだけを取得することと、
      そのデータを前記第2の仮想サーバのエンコーダインスタンスに設定すること
     を含む情報処理を実行させるためのプログラム。
    An information processing system including a plurality of virtual servers constituting a cloud computing environment and an orchestrator that manages the plurality of the virtual servers and migrates an encoder instance from the first virtual server to the second virtual server. On the computer
    At the time of migration
    Of the data held internally by the encoder instance of the first virtual server, only the data necessary for taking over is acquired, and
    A program for executing information processing including setting the data in the encoder instance of the second virtual server.
PCT/JP2020/046248 2019-12-26 2020-12-11 Information processing system, information processing method, and program WO2021131782A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-235749 2019-12-26
JP2019235749 2019-12-26

Publications (1)

Publication Number Publication Date
WO2021131782A1 true WO2021131782A1 (en) 2021-07-01

Family

ID=76575241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046248 WO2021131782A1 (en) 2019-12-26 2020-12-11 Information processing system, information processing method, and program

Country Status (1)

Country Link
WO (1) WO2021131782A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134518A (en) * 2008-12-02 2010-06-17 Hitachi Ltd Method of managing configuration of computer system, computer system, and program for managing configuration
JP2019086957A (en) * 2017-11-06 2019-06-06 富士通株式会社 Program, apparatus and method for processing distribution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134518A (en) * 2008-12-02 2010-06-17 Hitachi Ltd Method of managing configuration of computer system, computer system, and program for managing configuration
JP2019086957A (en) * 2017-11-06 2019-06-06 富士通株式会社 Program, apparatus and method for processing distribution

Similar Documents

Publication Publication Date Title
Fouladi et al. Encoding, fast and slow:{Low-Latency} video processing using thousands of tiny threads
EP3643069B1 (en) Effective encoding for screen data
US9788077B1 (en) Rendition switching
JP6165983B2 (en) Transcoding media streams using subchunking
JP7045800B2 (en) Converting from the Open Group of Pictures to the Closed Group of Pictures in interframe video compression
JP2009272706A (en) Moving image transcoding apparatus and its method
CN110896486B (en) Method and apparatus for encoding and decoding using high-level syntax architecture
US10327040B1 (en) Forward error correction for low latency streaming
JP6443173B2 (en) Video data processing apparatus, video data processing system, video data processing method, and video data processing program
JP2007300593A (en) Information processing apparatus and information processing method, recording medium, and program
TW201347547A (en) Method and apparatus for parallel entropy encoding, method and apparatus for parallel entropy decoding, and non-transitory computer-readable recording medium
CN111182308B (en) Video decoding method, device, computer equipment and storage medium
CA3035086A1 (en) Http streaming apparatus and system with pseudo manifest file and just-in-time encoding
CN108449634B (en) Playing method for multi-process decoding, computer equipment and storage medium
JP2022510325A (en) Methods, systems, and computer programs for decoding coded video streams
US10869032B1 (en) Enhanced encoding and decoding of video reference frames
JP6424331B2 (en) Still image information processing method
RU2689187C2 (en) Decoding and synthesizing frames for partial video data
WO2021131782A1 (en) Information processing system, information processing method, and program
US20220060530A1 (en) Managing encoder updates
JPWO2015145504A1 (en) Image decoding apparatus, image decoding method, and integrated circuit
US10944982B1 (en) Rendition switch indicator
US11146834B1 (en) Server-based encoded version selection
US10735783B1 (en) Intra-rendition latency variation
KR102296987B1 (en) Apparatus, method and system for hevc decoding image based on distributed system and machine learning model using block chain network

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20905175

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP