WO2014046239A1 - 通信システムと方法とサーバ装置及び端末 - Google Patents
通信システムと方法とサーバ装置及び端末 Download PDFInfo
- Publication number
- WO2014046239A1 WO2014046239A1 PCT/JP2013/075469 JP2013075469W WO2014046239A1 WO 2014046239 A1 WO2014046239 A1 WO 2014046239A1 JP 2013075469 W JP2013075469 W JP 2013075469W WO 2014046239 A1 WO2014046239 A1 WO 2014046239A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- codec
- voice
- audio codec
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/173—Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
Definitions
- the present invention is based on a Japanese patent application: Japanese Patent Application No. 2012-208663 (filed on September 21, 2012), and the entire contents of this application are incorporated in the present specification by reference.
- the present invention relates to a communication system and method, a server device, and a terminal.
- a system using a virtual machine is known.
- a virtual machine also referred to as “virtual terminal” or “virtual client”
- a virtual OS Operating System
- guest OS Virtual OS
- the terminal communicates with the server apparatus via the network, operates the virtual terminal on the server apparatus as if operating the real terminal, operates the application, and generates screen information, for example.
- the application on the virtual terminal transmits the screen information to the terminal and displays the screen information on the display device of the terminal.
- a terminal of such a system is also referred to as a thin client terminal.
- the terminal on the server device is connected to the virtual terminal, and the server device is accessed from home or away from the office, and it is securely connected to its own virtual terminal to carry out the work. can do.
- a thin client terminal does not leave any data, so even if the terminal is lost, for example, confidential information and corporate information are not leaked to the outside.
- Patent Document 1 a computer screen is transmitted as a video signal using hardware resources assigned to each of a plurality of users, thereby suppressing an increase in processing load and communication load.
- An information processing apparatus, an information processing system, and a control method for the information processing apparatus that can use a thin client are disclosed.
- Patent Document 2 after the server device acquires operation information in the terminal (client terminal), the processing requested by the operation is executed by an application that operates on the server device, and is executed by the application.
- a thin client system that generates a screen for displaying a processing result and transmits the screen to a terminal (client terminal) is disclosed.
- VoIP Voice Over IP: exchanges voice over IP (Internet Protocol) network) via a server device.
- the bandwidth of the network is not so large.
- the bandwidth of the network fluctuates over time due to traffic congestion.
- voice data stays on the network.
- the delay time until the voice data arrives at the client becomes long, and it becomes difficult to make a call smoothly.
- the voice codec installed in the thin client terminal is different from the voice codec installed in the non-thin client terminal.
- the server device needs to convert (transcode) the voice codec.
- the server device decodes the audio signal encoded by the audio codec of the thin client terminal, encodes it with an encoding method corresponding to the audio codec of the non-thin client terminal, and transmits the encoded signal to the non-thin client terminal.
- the server device also decodes the audio signal encoded with the audio codec of the non-thin client terminal, encodes it with an encoding method corresponding to the audio codec of the thin client terminal, and transmits the encoded signal to the non-thin client terminal. Since transcoding requires a large amount of processing, the load on the server device becomes large.
- the present invention has been made in view of the above problems, and its purpose is to make it possible to eliminate voice delay due to fluctuations in network bandwidth, for example, between thin client terminals and non-thin client terminals, etc.
- Another object of the present invention is to provide a system, apparatus, and method that can reduce the load on a server apparatus during a voice call between terminals when the voice codec is different.
- a plurality of terminals and a server device connected to the plurality of terminals via a network are provided, and the plurality of terminals have first and second audio codecs different from each other.
- the server apparatus estimates a bandwidth of the network, obtains a bit rate of an audio codec of the first and / or second terminal, and uses the obtained bit rate as the first and / or second Notifying the terminal, receiving a code by the voice codec of the first or second terminal, and a signal obtained by decoding the code for a time interval in which a signal obtained from a part of the code satisfies a predetermined condition, Performing transcoding processing for encoding at the obtained bit rate by the encoding method corresponding to the audio codec of the second or first terminal that is the transmission destination of the code, and performing the transcoding processing
- the code the system comprising means for transmitting toward the second or first terminal is provided.
- a terminal is connected to the terminal via a network, and screen information obtained by operating an application in a virtual client unit is transferred to the terminal by an operation on the terminal.
- the terminal includes at least a first terminal;
- the voice conversion unit performs transcoding, and at this time, a part of the code by the voice codec of the second terminal satisfies the predetermined condition for the time interval.
- a transmission / reception unit that connects to a terminal via a network, receives an operation signal from the terminal, and transmits / receives a signal to / from the terminal and another terminal;
- a control unit for determining whether the operation is a voice call based on an operation signal received from the terminal; When the control unit determines that the voice call is made, the packet storing the voice data transmitted from the terminal is transcoded according to the instruction of the control unit, or the packet is directly passed without being transcoded.
- a voice conversion unit that outputs to the other party, Based on a response signal from the terminal with respect to transmission of a predetermined packet, a bandwidth of the network is estimated, a bit rate of a voice codec is calculated, and a bandwidth estimation rate calculation unit that notifies the terminal of the bit rate;
- the terminal includes at least a first terminal;
- the other terminal includes a second terminal having a voice codec different from the voice codec of the first terminal;
- the voice conversion unit performs transcoding based on an instruction from the control unit, Transcode from the second terminal voice codec to the first terminal voice codec for a time interval in which a part of the code of the second terminal voice codec satisfies a predetermined condition, Output the coded signal for the first terminal, Transcoding from the speech codec of the first terminal to the speech codec of the second terminal for a time interval in which a signal obtained from a part of the code by the speech codec of the first terminal satisfies
- the first terminal and the second terminal each have a voice call via a server device connected via a network
- the server device estimates the bandwidth of the network based on response signals from the first and second terminals for transmission of a predetermined packet from the server device, and calculates the bit rate of the voice codec of the terminal And notifying the bit rate to the first and second terminals
- it is determined whether the audio codec of the first terminal and the second terminal is the same, and if they are the same, bitstreams based on the audio codec of the first and second terminals are respectively Output directly to the second and first terminals
- transcoding is performed in the server device, In that case, a part of the code by the audio codec of the second terminal is transcoded from the audio codec of the second terminal to the audio codec of the first terminal for a time interval that satisfies a predetermined condition.
- screen information obtained by connecting to the server apparatus according to the present invention via a network and operating the application in the virtual client unit by the operation of the terminal by the server apparatus is obtained.
- a terminal that transfers to the terminal, decodes screen information from the server apparatus by a decoder, displays the decoded information on a display unit, and makes a voice call with the other terminal through the server apparatus.
- a transmission / reception process for connecting to a terminal via a network, receiving an operation signal from the terminal, and transmitting / receiving a signal to / from the terminal and another terminal;
- Control processing for determining whether or not the operation is a voice call based on an operation signal received from the terminal;
- the control unit determines that the voice call is made, the packet storing the voice data transmitted from the terminal is transcoded according to the instruction of the control unit, or the packet is directly passed without being transcoded.
- the terminal includes at least a first terminal;
- the other terminal includes a second terminal having a voice codec different from the voice codec of the first terminal;
- the voice conversion process performs transcoding based on the instruction of the control process, and at that time, the second terminal A signal after the transcoding is performed by transcoding from the voice codec of the second terminal to the voice codec of the first terminal for a time interval in which one process of the code by the voice codec of the terminal satisfies a predetermined condition.
- a server apparatus for voice calls between terminals when the voice codec is different such as between a thin client terminal and a non-thin client terminal. It is possible to reduce the load.
- an application (214 in FIG. 2) is operated by a virtual client unit (211 in FIG. 2) by connecting to a terminal (170 in FIG. 1) via a network and operating on the terminal (170).
- the server device (110) is transferred to the terminal (170) and displayed on the terminal, and the server device (110) receives the packet storing the operation signal from the terminal (170).
- a control unit (212 in FIG. 2) for determining that the call is a voice call from the operation signal, and a packet storing the voice data transmitted from the terminal (170) when the call is determined to be a voice call,
- a voice conversion unit (185 in FIG.
- the terminal (first terminal: for example, thin client terminal) (170) and another terminal (second terminal: for example) having a different audio codec and the type of encoding from the terminal (170).
- the voice conversion unit (185 in FIG. 2) is based on an instruction from the control unit (212 in FIG. 2).
- the part of the code by the voice codec (first voice codec) of the other terminal (175) is only used for the other terminal ( 175) from the voice codec to the voice codec (second voice codec) of the terminal (170), and the transcoded signal is transcoded.
- the terminal (170) is output to the terminal (170), and the terminal (170) is obtained only in a time interval in which a signal obtained from a part of the code by the voice codec (second voice codec) of the terminal (170) satisfies a predetermined condition. 170) from the voice codec (second voice codec) to the voice codec (first voice codec) of the other terminal (175), and the transcoded code is transferred to the different terminal (175).
- Output It is possible to reduce the load on the server device during voice calls between a terminal (thin client terminal) and another terminal (non-thin client terminal), and to eliminate voice delays due to fluctuations in network bandwidth, etc. Yes.
- FIG. 1 is a diagram illustrating the configuration of the first exemplary embodiment of the present invention.
- a mobile 3G packet network is used as the network
- an SGSN Serving GPRS (General Packet Radio Service) Support Node)
- GGSN Gateway GPRS Support Node
- the configuration of is shown.
- an SGSN / GGSN device 190 represents a device in which an SGSN device and a GGSN device are integrated.
- mobile LTE Long Term Evolution
- WiFi Wireless Fidelity
- WiMax Worldwide Interoperability for Microwave Access
- IP Internet Protocol
- NGN Next Generation Network
- a mobile terminal 170 (a mobile phone terminal, a smartphone, a tablet, or the like) connects to the server apparatus 110 installed in the cloud network 130 and performs screen data transfer using a thin client method.
- the example which performs a voice call with respect to the terminal 175 using the server apparatus 110 from the portable terminal 170 is shown.
- the portable terminal 170 is a thin client terminal equipped with client software that implements the thin client method.
- the terminal 175 is a non-thin client terminal not equipped with thin client type client software.
- the mobile terminal 170 is connected to the mobile network 150, but the terminal 175 is connected to the fixed network 151.
- the MGW device (media gateway device) 196 terminates the fixed network 151, converts voice into IP packets and transmits the IP packets to the packet transfer device, and converts IP packets into voice and sends them to the terminal 175 via the fixed network 151. Send.
- a telephone book 111 in which a user name and a telephone number are registered is prepared and connected to the server apparatus 110 in advance. That is, a telephone directory (user name, telephone number, etc. registered) necessary for making a call from the portable terminal (thin client terminal) 170 is held on the server apparatus 110 side. For this reason, the mobile terminal 170 does not need to have any telephone directory. For this reason, even if the portable terminal 170 is lost, security for a telephone number, a user name, etc. can be ensured.
- FIG. 1 shows screen data generated by starting a voice call VoIP application on a virtual client (not shown) in the server apparatus 110 in order for the mobile terminal 170 to connect to the server apparatus 110 and start a voice call with the terminal 175.
- the screen data is decoded and displayed by the client software of the portable terminal 170, a user name is designated on the screen, and then a voice call is made from the portable terminal 170 to the terminal 175. To do.
- the mobile terminal 170 includes client software 171 for operating as a thin client terminal.
- the client software 171 will be described later.
- the terminal 175 is a non-thin client terminal that is not a thin client. For this reason, no client software is installed. Therefore, in this embodiment, it is assumed that the audio codec installed in the client software of the mobile terminal 170 and the audio codec installed in the terminal 175 are different (encoding schemes are different).
- the audio codec installed in the client software of the mobile terminal 170 is an AMR-NB (Adaptive Multi-Rate Narrow Band) standard of 3GPP (Third Generation Partner Partner Project) and the audio codec of the terminal 175.
- AMR-NB Adaptive Multi-Rate Narrow Band
- 3GPP hird Generation Partner Partner Project
- ITU-T International Telecommunication Union Telecommunication Sector
- Details of the AMR audio codec can be found in, for example, G.3 standard referenced in 3GPP TS26.090 standard.
- For details of the 711 audio codec see, for example, ITU-T G. Reference is made to the 711 standard.
- these audio codecs other known audio codecs may
- Activation of a voice call VoIP application (not shown in FIG. 1; 214 in FIG. 2) on the virtual client of the server apparatus 110 (not shown in FIG. 1; 211 in FIG. 2) for the mobile terminal 170 to start a voice call
- a packet storing an operation signal for starting the VoIP application is transmitted from the portable terminal 170 to the server apparatus 110.
- the control unit (not shown in FIG. 1; 212 in FIG. 2) of the server device 110 determines that the voice call is being made, and the virtual client (not shown in FIG. 1).
- the voice call VoIP application (not shown in FIG. 1; 214 in FIG. 2) is activated to generate a screen, and the screen information is encoded by the encoder (not shown in FIG. 1: 188 in FIG. 2). ) And transferred from the server device 110 to the portable terminal 170, and the screen information is decoded by the portable terminal 170 and displayed on the screen of the portable terminal 170. Then, the end user performs operations such as selection of a destination user name and a telephone number as the next action.
- the audio signal attached to the screen is processed through a path different from the voice call path.
- the screen capture unit not shown in FIG. 1; 180 in FIG. 2
- it is compressed and encoded by the audio encoder (not shown in FIG. 1; 189 in FIG. 2) into a compressed encoded stream.
- the packet is transmitted to the portable terminal 170 as a packet different from the voice call according to the defined protocol.
- a packet obtained by storing a session control message based on a well-known session control protocol, and a bit obtained by compressing and encoding an audio signal with an AMR speech encoder installed in client software of mobile terminal 170 A packet storing a stream (code) is transmitted.
- SIP Session Initiation Protocol
- other well-known protocols may be used.
- These packets reach the base station device 194 on the mobile network 150 in the area, and further pass through the RNC (Radio Network Controller) device 195 and the SGSN / GGSN device 190 to the server device 110 of the cloud network 130. To reach.
- RNC Radio Network Controller
- FIG. 2 is a diagram illustrating the configuration of the server device 110.
- the server device 110 includes a packet transmission / reception unit 186, a control unit 212, a bandwidth estimation / rate calculation unit 183, a voice conversion unit 185, a screen generation unit 213, a voice call VoIP application software 214, a screen capture unit 180, An image encoder unit 188, a first packet transmission / reception unit 187, a second packet transmission unit 176, a third packet transmission unit 177, an audio encoder unit 189, and a virtual client unit 211 are provided.
- the virtual client unit 211 includes a control unit 212, a screen generation unit 213, and voice call VoIP application software 214.
- each of these units may execute at least one or all of the processes and functions by a program executed on the computer of the server apparatus 110.
- a computer-readable recording medium semiconductor memory, magnetic / optical disk, etc.
- the virtual client unit 211 is operating on the guest OS in the virtualization environment on the host OS.
- a well-known OS can be used as the host OS and guest OS.
- Linux registered trademark
- Android registered trademark
- Windows registered trademark
- Other OSs such as Windows (registered trademark) can also be used.
- the virtual client unit 211 includes a control unit 212 and a screen generation unit 213.
- the mobile terminal 170 illustrated in FIG. 1 stores an operation signal for starting the voice call VoIP application software on the virtual client 211 in a packet and transmits the packet to the server apparatus 110.
- the packet transmitting / receiving unit 186 of the server apparatus 110 receives the operation signal packet, extracts the operation signal from the packet, and outputs it to the control unit 212.
- control unit 212 When the control unit 212 receives the operation signal and determines that it is a start signal of the VoIP application software for the voice call, the control unit 212 executes the voice call VoIP application software.
- a screen is generated and output to the screen capture unit 180.
- the screen capture unit 180 captures the generated screen at a predetermined screen resolution and a predetermined frame rate, and outputs the captured screen to the image encoder unit 188.
- the image encoder unit 188 compresses and encodes the input screen using a predetermined image encoder at a predetermined screen resolution, bit rate, and frame rate to obtain a compressed encoded stream. 2 to the packet transmission unit 176.
- a compression encoding method H.264 is used.
- H.264 MPEG (Moving Picture Experts Group) -4, JPEG (Joint Photographic Experts Group) 2000, and the like can be used.
- the second packet transmission unit 176 stores the compressed and encoded stream input from the image encoder unit 188 in a predetermined packet and outputs the packet to the SGSN / GGSN apparatus 190 illustrated in FIG.
- the packet protocol may be RTP (Real-time Transport Protocol) / UDP (User Data Protocol) / IP (Internet Protocol), UDP / IP, or TCP (Transmission Control Protocol) / IP.
- UDP / IP is used as an example.
- the mobile terminal 170 receives the compression-encoded stream transmitted from the second packet transmission unit 176 of the server device 110, decodes it with a predetermined screen resolution and frame rate, and displays the display on the mobile terminal 170. (Not shown).
- the control unit 212 obtains the destination user name (the user who owns the terminal 175 in FIG. 1) and the destination phone number (the phone number of the terminal 175 in FIG. 1) from the telephone directory 111 in FIG.
- the screen is generated by the screen generation unit 213, and the generated screen is compression-encoded by the image encoder 188 and sent to the portable terminal 170 (FIG. 1).
- the end user of the mobile terminal 170 selects the user and telephone number of the call destination while viewing the screen displayed on the display unit (not shown) of the mobile terminal 170.
- the portable terminal 170 sends a packet storing the SIP message for starting the voice call to the server device 110 (FIG. 1).
- the portable terminal 170 compresses and encodes the audio signal with an AMR encoder (263 in FIG. 4) installed in the client software (not shown in FIG. 1; 171 in FIG. 4) of the portable terminal 170.
- the packet storing the bitstream is sent to the server device 110.
- the server apparatus 110 processes a packet related to a voice call by using a path different from the audio associated with the screen, thereby reducing the delay of the voice call.
- the packet transmission / reception unit 186 includes the packets received from the mobile terminal 170. Output the packet storing the SIP message to the control unit 212; -Outputs a packet storing a compression-encoded stream for audio to the audio conversion unit 185, The response packet is output to the band estimation / rate calculation unit 183.
- control unit 212 When the control unit 212 receives the operation signal from the packet transmission / reception unit 186, the control unit 212 performs the following operation.
- the operation signal is analyzed, and in the case of a voice call activation operation, the voice call VoIP application software 214 is activated.
- the bandwidth estimation / rate calculation unit 183 is connected to the mobile terminal 170 (FIG. 1) using the response packet from the packet transmission / reception unit 186 and the response packet from the first packet transmission / reception unit 187.
- the network 150 (FIG. 1) is instructed to estimate the upstream band and the downstream band.
- control unit 212 instructs the network 151 (FIG. 1) connected to the terminal 175 to estimate the upstream band and the downstream band. Then, it instructs the band estimation / rate calculation unit 183 to calculate the bit rate from the estimated band at least for each of the uplink and downlink of the network 150 (FIG. 1) and notify the voice conversion unit 185 of the bit rate. .
- the SDP (Session Description Protocol) from the mobile terminal 170 (FIG. 1) is input from the packet transmitting / receiving unit 186, and the voice codec (second voice codec) installed in the client software of the mobile terminal 170 (FIG. 1) Check ability information about.
- an AMR audio codec is used as the second audio codec.
- the first packet transmission / reception unit 187 of the server apparatus 110 inputs the SDP from the terminal 175 and checks the capability information regarding the voice codec (first voice codec) installed in the terminal 175.
- G Assume that a 711 audio codec is used.
- control unit 212 checks whether or not the first audio codec and the second audio codec match, but in the present embodiment, the first audio codec and the second audio codec do not match. A determination is made and a determination is made to perform transcoding.
- the bandwidth estimation / rate calculation unit 183 inputs information included in the response packet from the packet transmission / reception unit 186 by a passive or active method, and the mobile network 150 (FIG. 1) to which the mobile terminal 170 (FIG. 1) is connected.
- the band BW_1 of 1) is estimated.
- the bandwidth estimation / rate calculation unit 183 inputs information included in the response packet from the first packet transmission / reception unit 187, and the bandwidth of the network 151 (FIG. 1) to which the terminal 175 (FIG. 1) is connected. BW_2 is estimated.
- the band estimation / rate calculation unit 183 sends a predetermined probe packet to the mobile network 150 and / or the network 151 at predetermined time intervals.
- the bandwidth of the mobile network 150 or / and the network 151 is estimated using the response signal packet from the portable terminal 170 or / and the terminal 175 with respect to the packet.
- the probe packet includes a plurality of data having a predetermined size.
- the band estimation / rate calculation unit 183 estimates the network band using three types of information included in the response signal packet.
- the bandwidth estimation / rate calculation unit 183 estimates the downstream bandwidth of the mobile network 150 to which the mobile terminal 170 (FIG. 1) is connected using Equation (1) and Equation (2).
- W is the bandwidth estimate
- D (j) is the data size of the j-th packet sent from the packet transmitting / receiving unit 186 or the first packet transmitting / receiving unit 187 to the mobile terminal 170 or the terminal 175 (FIG. 1)
- R (j) and R (j ⁇ 1) are reception times when the mobile terminal 170 or the terminal 175 (FIG. 1) receives the jth and j ⁇ 1th, respectively.
- the band estimation / rate calculation unit 183 smoothes the band estimation value W calculated by Expression (1) temporally using Expression (2).
- BW (n) (1- ⁇ ) ⁇ BW (n-1) + ⁇ ⁇ W ⁇ ⁇ ⁇ (2)
- BW (n) is a band estimation value after smoothing at the nth time
- ⁇ is a constant in the range of 0 ⁇ ⁇ 1.
- the band estimation / rate calculation unit 183 obtains an upstream band estimation value as follows.
- the upstream bandwidth W Ask for ' By including the upstream data size P (m) transmitted from the mobile terminal 170 (FIG. 1) or the terminal 175 (FIG. 1) in the response signal packet, the upstream bandwidth W Ask for '.
- T (m) is the reception time when the server apparatus 110 receives the response signal packet.
- the band estimation / rate calculation unit 183 smoothes W ′ in the time direction, and sets the smoothed value BW ′ as an upstream band estimation value.
- the band estimation / rate calculation unit 183 uses the band estimation value BW (n) smoothed by Expression (2), and at each predetermined time, according to Expression (5) and Expression (6), A downlink bit rate C (n) is calculated.
- C (n) is the bit rate at the nth time
- ⁇ is a constant in the range of 0 ⁇ ⁇ 1.
- the upstream bit rate C ′ (n) is calculated based on the equations (7) and (8) using the band estimation value BW ′ (n) smoothed by the equation (4). To do.
- the bandwidth estimation / rate calculation unit 183 calculates the uplink and downlink bit rates for the second audio codec (here, the AMR-NB audio codec) installed in the client software of the mobile terminal 170 using Equation (7). , Based on the formula (8). Specifically, since the AMR-NB audio codec has eight types of bit rates (modes), the closest bit rate within the range not exceeding the bit rates of the equations (7) and (8) is set to the above 8 Select from different bit rates. Then, the band estimation / rate calculation unit 183 outputs the selected uplink and downlink bit rates to the packet transmission / reception unit 186.
- the second audio codec here, the AMR-NB audio codec
- the packet transmitting / receiving unit 186 inputs the selected uplink and downlink bit rates, enters the CMR (CodecCMode Request) of AMR-NB, and includes the downlink bit rate, and describes the CMR in the payload header of the packet Above, it outputs with respect to the portable terminal 170.
- CMR CodecCMode Request
- FIG. Here, for details of CMR, IETF (The Internet Engineering Task Force) RFC (Request for Comments) 3267 and the like are referred to.
- the packet transmission / reception unit 186 outputs the uplink and downlink bit rates to the audio conversion unit 185.
- the downlink and uplink bit rates for the terminal 175 are output to the first packet transmission / reception unit 187 and are notified to the terminal 175 using SDP.
- the downlink and uplink bit rates may be notified using the SDP (Session Description Protocol) instead of using the CMR.
- SDP Session Description Protocol
- other known methods may be used.
- FIG. 3 is a diagram illustrating the configuration of the audio conversion unit 185.
- the voice conversion unit 185 includes transcoding / through switching units 220_1 and 220_2, level determination units 222 and 223, G.P. 711 decoder 221, G.711.
- the transcoding / through switching units 220_1 and 220_2 transcode between the first audio codec and the second audio codec from the control unit 212, and the first audio codec and the second audio codec. Input an instruction, switch the process to transcoding, and perform the following process.
- each of the first audio codec and the second audio codec is set to ITU-T G. 711, 3GPP AMR-NB.
- transcoding / through The switching units 220_1 and 220_2 switch from transcoding to through mode, and allow the packet to pass through (the packet input to the transcoding / through switching unit 220_1 passes through the G.711 decoder 221 and the AMR encoder 224 (decodes).
- the process and the encoding process are skipped) and transferred to the transcoding / through switching unit 220_2, and the packet input to the transcoding / through switching unit 220_2 is transmitted to the AMR decoder 225, G.71.
- the encoder 228 and through (decoding, the encoding process is skipped), it is transferred to the transcoding / through the switching unit 220_1).
- the transcoding from the first audio codec (G.711) to the second audio codec (AMR-NB) will be described.
- the transcoding / through switching unit 220_1 receives a bit stream (code) by the first audio codec from the first packet transmitting / receiving unit 187 of FIG.
- the level discriminating unit 222 extracts a part of the code from the bit stream (code) of the first audio codec (G.711). Specifically, 3 bits from the upper part are extracted and decoded except for the sign bit which is MSB (Most Significant Bit).
- the decoded signal is smoothed or averaged over a predetermined time interval (for example, 20 ms) to obtain a processing result G1.
- the predetermined condition is a comparison determination with a predetermined threshold value Th1 shown in the following equation, but other conditions can also be used.
- Th1 is a predetermined threshold value relating to the level.
- the level discriminating unit 222 In the time interval in which the processing result G1 is greater than Th1, the A.M. Instructs the 711 decoder 221 to encode the output signal, In the time interval in which the processing result G1 is less than Th1, the GMR is transmitted to the AMR encoder 224. The 711 decoder 221 is instructed not to encode the output signal.
- the 711 decoder 221 receives the bit stream of the first audio codec (G.711) from the transcoding / through switching unit 220_1, decodes it, and outputs it to the AMR encoder 224.
- the AMR encoder 224 has an AMR-NB encoder, inputs an instruction to perform AMR encoding from the level discriminating unit 222, inputs a downstream bit rate from the band estimation / rate calculating unit 183, and has an encoding instruction Only for the time interval,
- the decoded signal (G.711 decoded signal) input from the 711 decoder 221 is encoded into AMR-NB and output to the transcoding / through switching unit 220_2.
- bit rate for AMR-NB encoding follows the bit rate input from the band estimation / bit rate calculation unit 183.
- the AMR encoder 224 does not perform AMR-NB encoding and does not output to the transcoding / through switching unit 220_2 in a time section where no encoding instruction is given.
- the transcoding / through switching unit 220_2 outputs the bit stream (code) of the second audio codec input from the AMR encoder 224 to the packet transmitting / receiving unit 186 in FIG.
- the transcoding / through switching unit 220_2 receives the bit stream (code) of the second audio codec from the packet transmission / reception unit 186, and outputs it to the level determination unit 223 and the AMR decoder 225.
- the level discriminating unit 223 and the AMR decoder 225 receive the bit rate in the uplink direction of the second audio codec from the band estimation / rate calculating unit 183.
- the level determination unit 223 receives the bit stream (code) of the second audio codec, and extracts a part from the code based on the bit rate information. Specifically, a portion indicating the gain is extracted from the code, the gain is decoded from the extracted code, and G2 is obtained for each 20 ms time interval. The decoded gain G2 is smoothed in the time direction according to the following equation.
- Gm (1- ⁇ ) ⁇ Gm-1 + ⁇ ⁇ G2 ... (10)
- Gm represents the gain after smoothing
- ⁇ represents a smoothing order constant. Assume that 0 ⁇ ⁇ 1.
- the predetermined condition is the following expression (11), but other conditions can also be used.
- the level discriminating unit 223 determines that the G.R. 711 encoder 228 with respect to the output signal (decoded signal) of AMR decoder 225 for G.711. 711 is instructed to encode. When the condition of the expression (11) is not satisfied, G. For G.711 encoder 228, G. 711 No encoding instruction is given.
- the AMR decoder 225 receives the upstream bit rate of the second audio codec from the band estimation / rate calculation unit 183, performs AMR decoding on the bit stream of the second audio codec according to the bit rate, 711 to the encoder 228.
- the 711 encoder 228 receives an encoding instruction from the level discriminating unit 223, and the G.711 encoder 228 outputs G.G. 711-encoded and output to the transcoding / through switching unit 220_1. G. The 711 encoder 228 uses the G.D. 711 encoding is not performed, and the output to the transcoding / through switching unit 220_1 is not performed.
- the transcoding / through switching unit 220_1 is a G.
- the bit stream (code) of the first audio codec input from the 711 encoder 228 is output to the first packet transmitting / receiving unit 187 in FIG.
- the first packet transmitting / receiving unit 187 in FIG. 2 inputs the destination IP address and the SIP message from the control unit 212, and inputs the SDP describing the uplink and downlink bit rates from the band estimation / rate calculation unit 183. These are output as SIP / SDP packets to the MGW apparatus 196 in FIG. Further, the first packet transmission / reception unit 187 in FIG. 2 receives the bit stream by the first audio codec from the audio conversion unit 185, packetizes it by a predetermined protocol, and outputs it to the MGW apparatus 196 in FIG. .
- RTP / UDP / IP is used as a predetermined protocol, but other well-known protocols may be used.
- the packet transmission / reception unit 186 in FIG. 2 inputs from the band estimation / rate calculation unit 183 the CMR or SDP describing the uplink and downlink bit rates for the AMR-NB audio codec installed in the client software of the mobile terminal 170, A bit stream of the second audio codec is input from the conversion unit 185, and a predetermined packet is configured and output to the SGSN / GGSN apparatus 190 of FIG.
- RTP / UDP / IP is used as a predetermined protocol, but other well-known protocols may be used.
- CMR is used as a method for specifying the uplink and downlink bit rates for AMR-NB
- CMR is incorporated into the payload format of the RTP packet.
- FIG. 4 is a diagram illustrating the configuration of the mobile terminal 170 (FIG. 1) that is a thin client terminal.
- the client software 171 includes a first packet transmission / reception unit 260, second and third packet reception units 250 and 251, packet transmission unit 258, image decoder 252, screen display unit 256, audio decoder 255, bit rate control unit 261, AMR.
- a decoder 262, an AMR encoder 263, and an operation signal generator 257 are provided.
- the processing and functions of these units are realized by a program executed on the computer of the mobile terminal 170.
- client software 171 is installed in the portable terminal 170 to execute the thin client operation.
- the thin client software is equipped with the AMR-NB audio codec that is the second audio codec.
- the operation signal generation unit 257 in the case of a voice call, when the user operates on the screen of the portable terminal to activate the voice VoIP application software on the screen, the operation signal generation unit 257 generates an operation signal for activation, and packet This is packetized by the transmission unit 258 and transmitted from the portable terminal 170 to the mobile network 150 (FIG. 1).
- the first packet transmission / reception unit 260 inputs a packet storing the SIP / SDP message and the second voice codec transmitted from the server apparatus 110 (FIG. 1).
- the first packet transmitting / receiving unit 260 receives a probe packet from the band estimation / rate calculation unit 183 in FIG.
- the first packet transmitting / receiving unit 260 extracts the AMR-NB uplink and downlink bit rate information from the SDP message or from the CMR of the RTP payload format of the packet, and outputs it to the bit rate control unit 261. Also, the bit stream of the second audio codec is extracted from the RTP payload and output to the AMR decoder 262.
- a response signal packet including necessary information is created for the probe packet, and the response signal packet is transmitted from the mobile terminal 170 to the mobile network 150.
- the necessary information is, for example, (1) The data size when the arrival time at the mobile terminal 170 starts to be delayed with respect to the flow packet, (2) The arrival time of the flow packet, (3) the data size included in the response packet sent from the mobile terminal to the server device; (4) Sending time when sending a response packet, Etc.
- a response signal packet is created for the packet transmitted from the server device 110 (FIG. 1) and transmitted from the mobile terminal 170 to the mobile network 150 (FIG. 1).
- response signal packet for example, (1) Received data size, (2) Reception time when the transmission packet is received by the mobile terminal, (3) the data size included in the response signal packet sent from the mobile terminal 170 to the server device 110; Etc. are included.
- the bit rate control unit 261 outputs the downlink bit rate to the AMR decoder 262, and outputs the uplink bit rate to the AMR encoder 263.
- the AMR decoder 262 receives the downlink bit rate from the bit rate control unit 261, selects one from eight AMR-NB modes based on the downlink bit rate, and outputs the bit stream of the second audio codec. Input and decode with an AMR decoder of the selected bit rate. However, in a time interval in which the bit stream is not input, a noise signal of a minute level by CNG (ComfortComNoise Generation) is generated (background noise (white noise, etc.) in a silent interval is generated in a pseudo manner) By connecting, the entire audio signal is generated and output from the portable terminal 170.
- CNG ComfortComNoise Generation
- the AMR encoder 263 selects one of eight modes based on the bit rate input from the bit rate control unit 261, encodes the voice uttered by the user of the mobile terminal 170 at the specified bit rate, 2 transmits a bit stream based on the second audio codec to the first packet transmitting / receiving unit 260, and the first packet transmitting / receiving unit 260 transmits the bit stream to the mobile network 150 from the mobile terminal 170.
- the second packet receiving unit 250 receives a compression-encoded bitstream for the screen signal, decodes the compression-encoded bitstream using the same image codec as that of the server apparatus 110, and outputs it to the screen display unit 256.
- the screen display unit 256 inputs the decoded screen signal, constructs a screen, and displays it on the screen of a display unit (not shown) of the mobile terminal.
- the third packet receiving unit 251 When there is an audio signal associated with the screen, the third packet receiving unit 251 inputs a packet in which a compressed encoded bit stream for the audio signal is stored, extracts the compressed encoded bit stream for the audio signal, and extracts the audio decoder To 255.
- the audio decoder 255 receives a compression-encoded bit stream for the audio signal, decodes it, and outputs it from a speaker (not shown) of the mobile terminal 170.
- the case of a mobile 3G network has been described as the network 150.
- a mobile LTE (Long Term Evolution) network may be used.
- a fixed network, an NGN (Next Generation Network) network, a W-LAN network, the Internet network, or the like can also be used.
- a fixed terminal can be used instead of the portable terminal.
- the server device 110 can be arranged not in the corporate network but in a mobile network or a fixed network.
- the server device 110 may be arranged in the mobile network. Alternatively, it may be arranged in a fixed network. Moreover, a smart phone and a tablet can also be used for the portable terminal 170 as a terminal. Other known audio codecs can be used for the first audio codec and the second audio codec.
- a condition different from the condition of the above embodiment may be used.
- the audio codec is transcoded by the audio conversion unit 185 of the server apparatus 110 when the audio codec at the terminal does not match.
- the server apparatus 110 does not perform transcoding (the packet is passed through by the voice conversion unit 185 but does not pass through the voice conversion unit 185), and the packet transmission / reception unit 186 and the first packet transmission / reception.
- a configuration may be adopted in which a packet is passed between the units 187.
- the bit rate is calculated by the server in accordance with the fluctuation of the bandwidth in the mobile network or the like, and based on this, the thin client terminal The bit rate of the audio codec can be switched. For this reason, when the network bandwidth is narrowed, the above problem that the delay time becomes long and it becomes difficult to make a call can be solved.
- the network codec bit rate is switched while switching the audio codec bit rate at the thin client terminal, if the audio codec between the terminals differs between the thin client terminal and the non-thin client terminal, the load on the server device is small. Can be transcoded.
- a terminal A server device that connects to the terminal via a network, transfers screen information obtained by operating an application in a virtual client unit to the terminal by an operation on the terminal, and displays the screen information on the terminal;
- the server device determines whether or not the operation is a voice call based on an operation signal received from the terminal;
- the control unit determines that the voice call is made, the packet storing the voice data transmitted from the terminal is transcoded based on the instruction from the control unit or is passed without being transcoded.
- the terminal includes at least a first terminal;
- the voice conversion unit performs transcoding, and at this time, a part of the code by the voice codec of the second terminal satisfies the predetermined condition for the time interval.
- a first decoder for decoding a bitstream according to the audio codec of the second terminal A second decoder for decoding a bitstream by an audio codec of the first terminal; A first encoder; A second encoder; The condition that the signal extracted by extracting a part of the bit stream by the audio codec of the second terminal and smoothed or averaged over a predetermined time interval is equal to or greater than a predetermined threshold is satisfied.
- a first determination unit that instructs the first encoder to encode the output of the first decoder for the time interval;
- the portion representing the gain is extracted from the bit stream by the voice codec of the first terminal, the gain is decoded from the extracted code, the decoded gain obtained for each predetermined time interval is smoothed in the time direction, and smoothed
- a second determination unit that instructs the second encoder to encode the output of the second decoder when a condition that the converted gain is equal to or greater than a predetermined threshold is satisfied;
- the first encoder encodes the signal decoded by the first decoder using a coding method of the voice codec of the first terminal for a time interval instructed by the first determination unit.
- the second encoder encodes the signal decoded by the second decoder in the encoding method of the audio codec of the second terminal for a time interval instructed by the second determination unit.
- Output for the second terminal do not encode in the time interval without an instruction to encode, do not output,
- a bit stream by the audio codec of the second terminal is directed to the first terminal.
- the band estimation rate calculation unit calculates uplink and downlink bit rates for the audio codec of the first terminal and the second terminal, and notifies the first terminal and the second terminal, respectively, Further, the uplink and downlink bit rates are output to the audio conversion unit,
- the communication system according to appendix 2 wherein in the voice conversion unit, the bit rate of encoding of the first and second encoders is in accordance with the bit rate output from the band estimation rate calculation unit.
- the controller is (A) Analyzing the operation signal, and in the case of a voice call start operation, start a voice call application, (B) Obtaining the destination telephone number selected by the user of the first terminal from the voice call application, obtaining the destination address from the destination telephone number, (C) setting the destination address in the message received from the first terminal; (D) Instructing the bandwidth estimation rate calculation unit to estimate an upstream bandwidth and a downstream bandwidth for a network connected to the first terminal, (E) Instructing the network connected to the second terminal to estimate the upstream bandwidth and the downstream bandwidth, (F) Check capability information regarding the first audio codec that is the audio codec of the second terminal and the second audio codec that is the audio codec of the first terminal, and determine whether they match.
- the band estimation rate calculation unit from information included in a response signal from each terminal of the first and second terminals,
- the data size D (j) of the j-th (j is a predetermined positive integer) packet sent from the server device to the downstream bandwidth W of the network to which each terminal is connected, Obtained by dividing by the difference R (j) -R (j-1) between the reception times R (j) and R (j-1) when the terminal receives the j-th and (j-1) -th packets.
- the band estimation value W is smoothed in time to obtain a band estimation value BW (n) at the nth time after smoothing
- the response signal from each terminal includes the uplink data size transmitted by each terminal, The bandwidth W ′ in the upstream direction of the network to which each terminal is connected, the mth (m is a predetermined positive integer) data size P (m), the mth, (m ⁇ 1) th, By dividing by the difference T (m) ⁇ T (m ⁇ 1) between the reception times T (m) and T (m ⁇ 1) at which the response signal is received, W ′ is smoothed in the time direction, and the band estimation value BW ′ (n) at the n-th time after smoothing is set as an upstream band estimation value,
- At least one of the first and second terminals is a decoder that inputs an encoded bit stream transmitted from the server device and outputs a speech decoded signal.
- a noise signal is generated in CNG (Comfort Noise Generation) and connected to the decoded signal.
- a transmission / reception unit that connects to a terminal via a network, receives an operation signal from the terminal, and transmits / receives a signal to / from the terminal and another terminal;
- a control unit for determining whether the operation is a voice call based on an operation signal received from the terminal; When the control unit determines that the voice call is made, the packet storing the voice data transmitted from the terminal is transcoded according to the instruction of the control unit, or the packet is directly passed without being transcoded.
- a voice conversion unit that outputs to the other party, Based on a response signal from the terminal with respect to transmission of a predetermined packet, a bandwidth of the network is estimated, a bit rate of a voice codec is calculated, and a bandwidth estimation rate calculation unit that notifies the terminal of the bit rate;
- the terminal includes a first terminal;
- the other terminal includes a second terminal having a voice codec different from the voice codec of the first terminal;
- the voice conversion unit performs transcoding, and at this time, a part of the code by the voice codec of the second terminal satisfies the predetermined condition for the second period.
- the server device is connected to the terminal via a network, and by operating on the terminal, screen information obtained by operating an application in a virtual client unit is transferred to the terminal and displayed on the terminal.
- the server device according to appendix 8 which is characterized.
- a first decoder for decoding a bitstream according to the audio codec of the second terminal A second decoder for decoding a bitstream by an audio codec of the first terminal; A first encoder; A second encoder; The condition that the signal extracted by extracting a part of the bit stream by the audio codec of the second terminal and smoothed or averaged over a predetermined time interval is equal to or greater than a predetermined threshold is satisfied.
- a first determination unit that instructs the first encoder to encode the output of the first decoder for the time interval;
- the portion representing the gain is extracted from the bit stream by the voice codec of the first terminal, the gain is decoded from the extracted code, the decoded gain obtained for each predetermined time interval is smoothed in the time direction, and smoothed
- a second determination unit that instructs the second encoder to encode the output of the second decoder when a condition that the converted gain is equal to or greater than a predetermined threshold is satisfied;
- the first encoder encodes the signal decoded by the first decoder using a coding method of the voice codec of the first terminal for a time interval instructed by the first determination unit.
- the second encoder encodes the signal decoded by the second decoder in the encoding method of the audio codec of the second terminal for a time interval instructed by the second determination unit. Output for the second terminal, do not encode in the time interval without an instruction to encode, do not output, Based on an instruction from the control unit, when the audio codec of the first terminal and the second terminal is the same, a bit stream by the audio codec of the second terminal is directed to the first terminal.
- the server apparatus according to appendix 8 or 9, characterized in that the server apparatus outputs the bit stream based on the voice codec of the first terminal as it is for the second terminal.
- the band estimation rate calculation unit calculates uplink and downlink bit rates for the audio codec of the first terminal and the second terminal, and notifies the first terminal and the second terminal, respectively, Further, the uplink and downlink bit rates are output to the audio conversion unit,
- the server apparatus according to appendix 8, wherein in the voice conversion unit, the bit rates of encoding of the first and second encoders are in accordance with the bit rate output from the band estimation rate calculation unit.
- the controller is (A) Analyzing the operation signal, and in the case of a voice call start operation, start a voice call application, (B) Obtaining the destination telephone number selected by the user of the first terminal from the voice call application, obtaining the destination address from the destination telephone number, (C) setting the destination address in the message received from the first terminal; (D) Instructing the bandwidth estimation rate calculation unit to estimate an upstream bandwidth and a downstream bandwidth for a network connected to the first terminal, (E) Instructing the network connected to the second terminal to estimate the upstream bandwidth and the downstream bandwidth, (F) Check capability information regarding the first audio codec that is the audio codec of the second terminal and the second audio codec that is the audio codec of the first terminal, and determine whether they match.
- the band estimation rate calculation unit from information included in a response signal from each terminal of the first and second terminals,
- the data size D (j) of the j-th (j is a predetermined positive integer) packet sent from the server device to the downstream bandwidth W of the network to which each terminal is connected, Obtained by dividing by the difference R (j) -R (j-1) between the reception times R (j) and R (j-1) when the terminal receives the j-th and (j-1) -th packets.
- the band estimation value W is smoothed in time to obtain a band estimation value BW (n) at the nth time after smoothing
- the response signal from each terminal includes the uplink data size transmitted by each terminal, The bandwidth W ′ in the upstream direction of the network to which each terminal is connected, the mth (m is a predetermined positive integer) data size P (m), the mth, (m ⁇ 1) th, By dividing by the difference T (m) ⁇ T (m ⁇ 1) between the reception times T (m) and T (m ⁇ 1) at which the response signal is received, W ′ is smoothed in the time direction, and the band estimation value BW ′ (n) at the n-th time after smoothing is set as an upstream band estimation value,
- the first terminal and the second terminal make a voice call via a server device connected via a network
- the server device estimates the bandwidth of the network based on response signals from the first and second terminals for transmission of a predetermined packet from the server device, and calculates the bit rate of the voice codec of the terminal And notifying the bit rate to the first and second terminals,
- it is determined whether the audio codec of the first terminal and the second terminal is the same, and if they are the same, bitstreams based on the audio codec of the first and second terminals are respectively Output directly to the second and first terminals,
- transcoding is performed in the server device, In that case, a part of the code by the audio codec of the second terminal is transcoded from the audio codec of the second terminal to the audio codec of the first terminal for a time interval that satisfies a predetermined condition.
- a communication method comprising transcoding from a voice codec of a first terminal to a voice codec of the second terminal, and outputting a code after the transcoding to the second terminal.
- the server device is connected to the terminal via a network, and by operating on the terminal, screen information obtained by operating an application in a virtual client unit is transferred to the terminal and displayed on the terminal.
- a transmission / reception process for connecting to a terminal via a network, receiving an operation signal from the terminal, and transmitting / receiving a signal to / from the terminal and another terminal; Control processing for determining whether or not the operation is a voice call based on an operation signal received from the terminal; When the control unit determines that the voice call is made, the packet storing the voice data transmitted from the terminal is transcoded according to the instruction of the control unit, or the packet is directly passed without being transcoded.
- Voice conversion processing Based on a response signal from the terminal to the packet transmission, the network bandwidth is estimated, a voice codec bit rate is calculated, and a bandwidth estimation rate calculation process for notifying the terminal of the bit rate;
- the terminal includes a first terminal;
- the other terminal includes a second terminal having a voice codec different from the voice codec of the first terminal;
- the voice conversion process performs transcoding, Transcode from the second terminal voice codec to the first terminal voice codec for a time interval in which one process of the code by the second terminal voice codec satisfies a predetermined condition, Output the coded signal for the first terminal, Transcoding from the speech codec of the first terminal to the speech codec of the second terminal for a time interval in which a signal obtained from one processing of the code by the speech codec of the first terminal satisfies a predetermined condition And outputting the code after transcoding for the second terminal,
- a first decoding process for decoding a bitstream by an audio codec of the second terminal A second decoding process for decoding a bitstream by the audio codec of the first terminal; A first encoding process; A second encoding process; The condition that the signal extracted by extracting a part of the bit stream by the audio codec of the second terminal and smoothed or averaged over a predetermined time interval is equal to or greater than a predetermined threshold is satisfied.
- a first determination process for instructing the first encoding process to encode the output of the first decoding process for the time interval The portion representing the gain is extracted from the bit stream by the voice codec of the first terminal, the gain is decoded from the extracted code, the decoded gain obtained for each predetermined time interval is smoothed in the time direction, and smoothed
- the first encoding process includes encoding the speech codec of the first terminal for a time interval instructed to encode the signal decoded by the first decoder from the first determination unit.
- the signal decoded by the second decoder is encoded with the encoding method of the audio codec of the second terminal for a time interval instructed to encode the signal from the second determination unit.
- Encode and output for the second terminal do not encode and do not output in a time interval without an instruction to encode, Based on an instruction from the control process, when the audio codec of the first terminal and the second terminal is the same, a bit stream by the audio codec of the second terminal is directed to the first terminal.
- server apparatus 111 phone book 130 cloud network 150 mobile network 151 fixed network 170 mobile terminal 171 client software 175 terminal 176 second packet transmission unit 177 third packet transmission unit 180 screen capture unit 183 bandwidth estimation / rate calculation unit 185 voice Conversion unit 186 Packet transmission / reception unit 187 First packet transmission / reception unit 188 Image encoder unit 189 Audio encoder unit 190 SGSN / GGSN device 194 Base station device 195 RNC device 196 MGM device 211 Virtual client unit 212 Control unit 213 Screen generation unit 214 Voice call VoIP application software 220_1, 220_2 transcoding / through switching unit 221 G. 711 decoder 222, 223 level determination unit 224 AMR encoder 225 AMR decoder 228 G.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Description
[関連出願についての記載]
本発明は、日本国特許出願:特願2012-208663号(2012年9月21日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システムと方法とサーバ装置及び端末に関する。
本発明は、日本国特許出願:特願2012-208663号(2012年9月21日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システムと方法とサーバ装置及び端末に関する。
企業等では、高度なセキュリティの確保を図るために、シンクライアント方式が普及し始めている。シンクライアント方式の実装には各種あるが、例えば仮想マシンを用いたシステムが知られている。サーバ装置において、例えば仮想レイヤ上に、仮想マシン(「仮想端末」あるいは「仮想クライアント」ともいう)を備え、仮想マシン上で、仮想OS(Operating System)(「ゲストOS」ともいう)やアプリケーションを実行する。端末(通信端末)は、ネットワークを介してサーバ装置に通信接続し、あたかも実端末を操作するように、サーバ装置上の仮想端末を操作してアプリケーションを動作させ、例えば画面情報を生成する。仮想端末上のアプリケーションは、該画面情報を端末に送信し、端末の表示装置に該画面情報を表示する。このようなシステムの端末をシンクライアント端末ともいう。端末からのログインID、端末識別情報に基づきサーバ装置上の、端末の仮想端末への接続が行われ、自宅や外出先からサーバ装置にアクセスし安全に自分の仮想端末に接続し、業務を遂行することができる。
シンクライアント方式の端末は、データを一切残さないため、例えば端末を紛失しても、秘密情報や企業情報等が外部に漏れることがない。
なお、シンクライアントシステムに関して、例えば特許文献1には、複数のユーザ夫々に割り当てられたハードウェア資源を用いてコンピュータ画面を映像信号として送信することにより、処理負荷及び通信負荷の増大を抑えて多数のユーザがシンクライアントを利用することができる情報処理装置、情報処理システム及び情報処理装置の制御方法が開示されている。また、特許文献2には、サーバ装置が端末(クライアント端末)における操作情報を取得した上で、その操作により要求された処理を、サーバ装置で動作するアプリケーションに実行させ、該アプリケーションにより実行された処理結果を表示するための画面を生成した上で、その画面を端末(クライアント端末)へ送信するシンクライアントシステムが開示されている。
以下に関連技術の分析を与える。
シンクライアントシステムにおいて、サーバ装置を介してVoIP(Voice Over IP:IP(Internet Protocol)網上で音声のやり取りを行う)による音声通話を行なう場合、以下のような問題がある。
モバイルネットワークやインターネットでは、当該ネットワークの帯域幅は、それほど大きくない。またモバイルネットワークやインターネットでは、当該ネットワークの帯域幅が、トラヒックの混み具合により、時間的に変動する。ネットワークの帯域幅が狭くなったときに、音声データがネットワークに滞留する。その結果、音声データがクライアントに到着するまでの遅延時間が長くなり、通話を円滑に行うことが困難となる。
また、シンクライアント端末と非シンクライアント端末間でサーバ装置を介して音声通話を行う場合、シンクライアント端末に搭載されている音声コーデックと、非シンクライアント端末に搭載されている音声コーデックとは互いに異なる(符号化方式等種類が異なる)場合、サーバ装置で音声コーデックの変換(トランスコーディング)が必要となる。サーバ装置は、シンクライアント端末の音声コーデックで符号化された音声信号を復号し、非シンクライアント端末の音声コーデック対応の符号化方式で符号化して非シンクライアント端末に送信する。またサーバ装置は、非シンクライアント端末の音声コーデックで符号化された音声信号を復号し、シンクライアント端末の音声コーデック対応の符号化方式で符号化して非シンクライアント端末に送信する。トランスコーディングは、処理量が多いため、サーバ装置の負荷が大となる。
したがって、本発明は上記問題点に鑑みて創案されたものであって、その目的は、ネットワークの帯域幅の変動等による音声の遅延を解消可能とし、例えばシンクライアント端末と非シンクライアント端末間等、音声コーデックが異なる場合の端末間での音声通話時のサーバ装置の負荷を軽減可能とするシステム、装置、方法を提供することにある。
本発明の一の側面によれば、複数の端末と、ネットワークを介して前記複数の端末に接続されるサーバ装置と、を備え、前記複数の端末は、音声コーデックが異なる第1、第2の端末を含み、前記サーバ装置は、前記ネットワークの帯域を推定し、前記第1及び/又は第2の端末の音声コーデックのビットレートを求め、求めたビットレートを前記第1及び/又は第2の端末に通知し、前記第1又は第2の端末の音声コーデックによる符号を受け、前記符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記符号を復号した信号を、前記符号の送信先である前記第2又は第1の端末の音声コーデック対応の符号化方式にて前記求めたビットレートで符号化するトランスコード処理を行い、前記トランスコード処理した符号を、前記第2又は第1の端末に向けて送信する手段を備えたシステムが提供される。本発明の一の側面によれば、端末と、ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させるサーバ装置と、
を備え、前記サーバ装置は、前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示に基づき、トランスコーディングを行うか、又はトランスコーディングせずにそのまま通過させ、通話先に出力する音声変換部と、
前記サーバ装置からの所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記第1の端末と、前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末とが前記サーバ装置を介して音声通話する場合に、前記サーバ装置において、
前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、前記トランスコーディング後の信号を前記第1の端末に向けて出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、前記トランスコード後の符号を前記第2の端末に向けて出力するシステムが提供される。
を備え、前記サーバ装置は、前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示に基づき、トランスコーディングを行うか、又はトランスコーディングせずにそのまま通過させ、通話先に出力する音声変換部と、
前記サーバ装置からの所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記第1の端末と、前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末とが前記サーバ装置を介して音声通話する場合に、前記サーバ装置において、
前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、前記トランスコーディング後の信号を前記第1の端末に向けて出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、前記トランスコード後の符号を前記第2の端末に向けて出力するシステムが提供される。
本発明の別の側面によれば、
ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信部と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させて通話先に出力する音声変換部と、
所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、
前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力するサーバ装置が提供される。
ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信部と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させて通話先に出力する音声変換部と、
所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、
前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力するサーバ装置が提供される。
本発明の別の側面によれば、第1の端末と第2の端末とがそれぞれネットワークを介して接続されるサーバ装置を介して音声通話し、
前記サーバ装置では、前記サーバ装置からの所定のパケットの送出に対する前記第1、第2の端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記第1、第2の端末に通知し、
前記サーバ装置では、前記第1の端末と前記第2の端末の音声コーデックが同一であるか判別し、同一である場合には、前記第1、第2の端末の音声コーデックによるビットストリームをそれぞれ前記第2、第1の端末向けにそのまま出力し、
前記第1の端末と前記第2の端末の音声コーデックが互いに異なる場合には、サーバ装置にてトランスコーディングを行い、
その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末に向けて出力し、前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末に向けて出力する、方法が提供される。
前記サーバ装置では、前記サーバ装置からの所定のパケットの送出に対する前記第1、第2の端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記第1、第2の端末に通知し、
前記サーバ装置では、前記第1の端末と前記第2の端末の音声コーデックが同一であるか判別し、同一である場合には、前記第1、第2の端末の音声コーデックによるビットストリームをそれぞれ前記第2、第1の端末向けにそのまま出力し、
前記第1の端末と前記第2の端末の音声コーデックが互いに異なる場合には、サーバ装置にてトランスコーディングを行い、
その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末に向けて出力し、前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末に向けて出力する、方法が提供される。
本発明のさらに別の側面によれば、ネットワークを介して、本発明に係る前記サーバ装置に接続し、端末での操作により前記サーバ装置が仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記サーバ装置からの画面情報をデコーダで復号して表示部に表示し、他の端末と、前記サーバ装置を介して音声通話する端末が提供される。
本発明のさらに別の側面によれば、ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信処理と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御処理と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させる音声変換処理と、
前記パケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出処理と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、前記制御処理の指示に基づき、前記音声変換処理は、トランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一処理が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一処理から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、前記処理をサーバ装置を構成するコンピュータに実行させるプログラムが提供される。
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御処理と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させる音声変換処理と、
前記パケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出処理と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、前記制御処理の指示に基づき、前記音声変換処理は、トランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一処理が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一処理から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、前記処理をサーバ装置を構成するコンピュータに実行させるプログラムが提供される。
本発明によれば、ネットワークの帯域幅の変動等による音声の遅延を解消可能とし、例えばシンクライアント端末と非シンクライアント端末間等、音声コーデックが異なる場合の端末間での音声通話時のサーバ装置の負荷を軽減可能としている。
本発明によれば、ネットワークを介して端末(図1の170)に接続し、前記端末(170)での操作により、仮想クライアント部(図2の211)でアプリケーション(図2の214)を動作させて得た画面情報を前記端末(170)に転送し、前記端末で表示させるサーバ装置(110)を備え、サーバ装置(110)は、前記端末(170)から操作信号を格納したパケットを受信し前記操作信号から音声通話であることを判別する制御部(図2の212)と、音声通話と判別された場合に、前記端末(170)から送出される音声データが格納されたパケットを、前記制御部(図2の212)の指示により、トランスコーディング又はパケットスルーして前記端末に送出する音声変換部(図2の185)と、前記送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し音声コーデックのビットレートを算出し、該ビットレートを端末(170、別の端末175)に通知する帯域推定レート算出部(図2の183)と、を備えている。前記端末(第1の端末:例えばシンクライアント端末)(170)と、前記端末(170)の音声コーデックと符号化方式等の種類が異なる音声コーデックを備えた別の端末(第2の端末:例えば非シンクライアント端末)(175)とが、前記サーバ装置(110)を介して音声通話する場合、前記制御部(図2の212)の指示に基づき、前記音声変換部(図2の185)は、トランスコーディングを行い、その際、前記別の端末(175)の音声コーデック(第1の音声コーデック)による符号の一部が、予め定められた条件を満たす時間区間についてのみ、前記別の端末(175)の音声コーデックから、前記端末(170)の音声コーデック(第2の音声コーデック)にトランスコーディングし、トランスコーディング後の信号を前記端末(170)に出力し、前記端末(170)の前記音声コーデック(第2の音声コーデック)による符号の一部から求めた信号が予め定められた条件を満たす時間区間についてのみ、前記端末(170)の音声コーデック(第2の音声コーデック)から、前記別の端末(175)の音声コーデック(第1の音声コーデック)にトランスコーディングし、トランスコード後の符号を前記別の端末(175)に出力する。端末(シンクライアント端末)と、別の端末(非シンクライアント端末)間での、音声通話時のサーバ装置の負荷を軽減可能としており、ネットワークの帯域幅の変動等による音声の遅延を解消可能としている。
以下では、本発明の実施形態について図面を参照して詳細に説明する。
<システム構成例>
図1は、本発明の第1の実施形態の構成を例示した図である。特に制限されないが、図1では、ネットワークとしては、モバイル3Gパケットネットワークを用い、パケット転送装置として、SGSN(Serving GPRS (General Packet Radio Service) Support Node)/GGSN(Gateway GPRS Support Node)装置を用いる場合の構成が示されている。図1において、SGSN/GGSN装置190は、SGSN装置とGGSN装置を一体化した装置を表している。ネットワークとして、他のネットワーク、例えば、モバイルLTE(Long Term Evolution)ネットワーク、WiFi(Wireless Fidelity)ネットワーク、WiMax(Worldwide Interoperability for Microwave Access)ネットワーク、IP(Internet Protocol)ネットワーク、NGN(Next Generation Network)ネットワーク、インターネット等を用いてもよい。
図1は、本発明の第1の実施形態の構成を例示した図である。特に制限されないが、図1では、ネットワークとしては、モバイル3Gパケットネットワークを用い、パケット転送装置として、SGSN(Serving GPRS (General Packet Radio Service) Support Node)/GGSN(Gateway GPRS Support Node)装置を用いる場合の構成が示されている。図1において、SGSN/GGSN装置190は、SGSN装置とGGSN装置を一体化した装置を表している。ネットワークとして、他のネットワーク、例えば、モバイルLTE(Long Term Evolution)ネットワーク、WiFi(Wireless Fidelity)ネットワーク、WiMax(Worldwide Interoperability for Microwave Access)ネットワーク、IP(Internet Protocol)ネットワーク、NGN(Next Generation Network)ネットワーク、インターネット等を用いてもよい。
図1には、携帯端末170(携帯電話端末、スマートフォン、タブレット等)が、クラウド網130に設置されたサーバ装置110に接続し、シンクライアント方式による画面データ転送を行う。携帯端末170からサーバ装置110を使用して端末175に対して、音声通話を行う例を示している。携帯端末170は、シンクライアント方式を実現するクライアントソフトウェアを搭載したシンクライアント端末である。端末175はシンクライアント方式のクライアントソフトウェアを搭載していない非シンクライアント端末である。また、本実施形態では、携帯端末170は、モバイルネットワーク150に接続されているが、端末175は固定網151に接続されている。MGW装置(メディアゲートウエイ装置)196は、固定網151を終端し、音声をIPパケットに変換してパケット転送装置に送信し、またIPパケットを音声に変換して固定網151を介して端末175に送信する。
本実施形態では、サーバ装置110には、ユーザ名や電話番号を登録した電話帳111が予め用意され接続されている。すなわち、携帯端末(シンクライアント端末)170から電話をかけるために必要とされる電話帳(ユーザ名や電話番号等が登録されている)は、サーバ装置110側で保有する。このため、携帯端末170には、電話帳を一切保有する必要が無い。このため、携帯端末170を紛失しても、電話番号やユーザ名等に対するセキュリティを確保することができる。
図1は、携帯端末170がサーバ装置110に接続し、端末175と音声通話を開始するために、サーバ装置110において、不図示の仮想クライアント上で音声通話VoIPアプリケーションを起動して生成した画面データを、サーバ装置110から携帯端末170に転送し、携帯端末170のクライアントソフトウェアにより、前記画面データを復号して表示し画面でユーザ名を指定した上で、携帯端末170から端末175に音声通話をする。
携帯端末170には、シンクライアント端末としての動作をさせるためにクライアントソフトウェア171が搭載されている。クライアントソフトウェア171については、後に説明する。
端末175は、シンクライアントではない非シンクライアント端末である。このため、クライアントソフトウェアは搭載されていない。したがって、本実施形態では、携帯端末170のクライアントソフトウェアに搭載されている音声コーデックと、端末175に搭載されている、音声コーデックは異なる(符号化方式等が異なる)ものとする。本実施形態では、一例として、携帯端末170のクライアントソフトウェアに搭載されている音声コーデックを、3GPP(Third Generation Partner Project)標準のAMR-NB(Adaptive Multi-Rate-Narrow Band)、端末175の音声コーデックを、ITU-T(International Telecommunication Union Telecommunication Sector)標準のG.711であるものとする。AMR音声コーデックの詳細は、例えば3GPP TS26.090規格が参照されるG.711音声コーデックの詳細は、例えばITU-T G.711規格が参照される。なお、これらの音声コーデックについては、他の周知な音声コーデックを用いてもよい。
携帯端末170が音声通話を開始するために、サーバ装置110の仮想クライアント上(図1では不図示:図2の211)で音声通話VoIPアプリケーション(図1では不図示:図2の214)の起動操作をすると、携帯端末170からサーバ装置110に対してVoIPアプリケーションを起動させるための操作信号を格納したパケットが送出される。
サーバ装置110は、操作信号を格納したパケットを受信すると、サーバ装置110の制御部(図1では不図示:図2の212)が音声通話であることを判別し、仮想クライアント(図1では不図示:図2の211)上で音声通話VoIPアプリケーション(図1では不図示:図2の214)を起動させ、画面を生成し、前記画面情報をエンコーダ(図1では不図示:図2の188)で符号化してサーバ装置110から携帯端末170に転送し、携帯端末170で前記画面情報をデコードした上で携帯端末170の画面に表示する。そして、エンドユーザは、次のアクションである相手先ユーザ名や電話番号の選択等の操作を行う。
なお、音声通話VoIPアプリケーションで作成した画面にオーディオも付随する場合は、画面に付随するオーディオ信号は、音声通話のパスとは別のパスを通り処理される。すわなち、画面キャプチャ部(図1では不図示:図2の180)でキャプチャした後でオーディオエンコーダ(図1では不図示:図2の189)で圧縮符号化され圧縮符号化ストリームとなり、予め定められたプロトコルにより、音声通話とは別のパケットとして、携帯端末170に対して送出される。
このあと、携帯端末170からは、周知の、セッション制御プロトコルによるセッション制御メッセージを格納したパケットと、携帯端末170のクライアントソフトウェアに搭載されているAMR音声エンコーダで音声信号を圧縮符号化して得たビットストリーム(符号)を格納したパケットが送出される。本実施形態では、一例として、セッション制御プロトコルとして、SIP (Session Initiation Protocol)を用いるが、他の周知なプロトコルを用いることも出来る。
これらのパケットは、圏内にあるモバイルネットワーク150上の基地局装置194に到達し、さらに、RNC(Radio Network Controller)装置195及びSGSN/GGSN装置190を経由して、クラウド網130のサーバ装置110に到達する。
<サーバ装置>
図2は、サーバ装置110の構成を説明する図である。図2を参照すると、サーバ装置110は、パケット送受信部186、制御部212、帯域推定・レート算出部183、音声変換部185、画面生成部213、音声通話VoIPアプリケーションソフト214、画面キャプチャ部180、画像エンコーダ部188、第1のパケット送受信部187、第2のパケット送信部176、第3のパケット送信部177、オーディオエンコーダ部189、仮想クライアント部211を備えている。仮想クライアント部211は、制御部212、画面生成部213、音声通話VoIPアプリケーションソフト214を含む。これら各部は、サーバ装置110のコンピュータ上で実行されるプログラムによりその処理・機能の少なくとも1部又は全部を実行するようにしてもよいことは勿論である。この場合、該プログラムを記録したコンピュータ読み出し可能な記録媒体(半導体メモリ、磁気/光ディスク等)が提供される。
図2は、サーバ装置110の構成を説明する図である。図2を参照すると、サーバ装置110は、パケット送受信部186、制御部212、帯域推定・レート算出部183、音声変換部185、画面生成部213、音声通話VoIPアプリケーションソフト214、画面キャプチャ部180、画像エンコーダ部188、第1のパケット送受信部187、第2のパケット送信部176、第3のパケット送信部177、オーディオエンコーダ部189、仮想クライアント部211を備えている。仮想クライアント部211は、制御部212、画面生成部213、音声通話VoIPアプリケーションソフト214を含む。これら各部は、サーバ装置110のコンピュータ上で実行されるプログラムによりその処理・機能の少なくとも1部又は全部を実行するようにしてもよいことは勿論である。この場合、該プログラムを記録したコンピュータ読み出し可能な記録媒体(半導体メモリ、磁気/光ディスク等)が提供される。
図2には示されていないが、仮想クライアント部211は、ホストOSの上の仮想化環境におけるゲストOS上で動作している。ホストOSやゲストOSは周知のOSを使用することができる。本実施形態では、一例として、ホストOSにはLinux(登録商標)を、ゲストOSには、端末のOSに対応して、例えばAndroid(登録商標)を用いる。他のOS、例えばWindows(登録商標)等を用いることもできる。
仮想クライアント部211は、制御部212と画面生成部213を備えている。音声通話を開始する場合、図1に示した携帯端末170は、音声通話VoIPアプリソフトを仮想クライアント211上で起動するための操作信号を、パケットに格納してサーバ装置110に送出する。
サーバ装置110のパケット送受信部186が前記操作信号パケットを受信し、パケットから操作信号を取り出し、制御部212に出力する。
制御部212は、前記操作信号を入力し、音声通話のためのVoIPアプリソフトの起動信号であることを判別すると、音声通話VoIPアプリケーションソフトを実行させる。
音声通話VoIPアプリケーションソフトの実行により、画面を生成し、画面キャプチャ部180に出力する。
画面キャプチャ部180は、前記生成された画面を、予め定められた画面解像度及び予め定められたフレームレートでキャプチャし、画像エンコーダ部188に出力する。
画像エンコーダ部188は、入力した画面を予め定められた画像エンコーダを用いて予め定められた画面解像度、ビットレート、フレームレートで圧縮符号化して圧縮符号化ストリームを求め、前記圧縮符号化ストリームを第2のパケット送信部176に出力する。ここで圧縮符号化の方式としては、H.264、MPEG(Moving Picture Experts Group)-4、JPEG(Joint Photographic Experts Group)2000等の周知の圧縮符号化方式を用いることができる。
第2のパケット送信部176は、画像エンコーダ部188から入力した圧縮符号化ストリームを予め定められたパケットに格納し、図1に示したSGSN/GGSN装置190に向け出力する。ここで、パケットのプロトコルは、RTP(Real-time Transport Protocol)/UDP(User Data Protocol)/IP(Internet Protocol)でもよいし、UDP/IPでもよいし、TCP(Transmission Control Protocol)/IPでもよい。本実施形態では、一例として、UDP/IPを用いることとする。
携帯端末170(図1)は、サーバ装置110の第2のパケット送信部176から送信された圧縮符号化ストリームを受信し、予め定められた画面解像度及びフレームレートにより復号し、携帯端末170の表示部(不図示)に表示する。
図2において、制御部212は、図1の電話帳111から、相手先ユーザ名(図1では、端末175を保有するユーザ)、相手先電話番号(図1では、端末175の電話番号)を読み出し、画面生成部213で画面を生成し、生成画面を画像エンコーダ188で圧縮符号化し、携帯端末170(図1)に送出する。
携帯端末170(図1の)のエンドユーザは、携帯端末170の表示部(不図示)に表示された画面を見ながら、通話先のユーザや電話番号の選択を行なう。音声通話を開始すると、携帯端末170(図1)は、サーバ装置110(図1)に対して、音声通話開始のSIPメッセージを格納したパケットを送出する。続いて、携帯端末170(図1)は、音声信号を、携帯端末170のクライアントソフトウェア(図1では不図示:図4の171)に搭載されたAMRエンコーダ(図4の263)で圧縮符号化したビットストリームを格納したパケットを、サーバ装置110に送出する。
サーバ装置110は、音声通話に関わるパケットについては、画面に付随するオーディオとは、別のパスを用いて処理することにより、音声通話の遅延を短縮化する。
パケット送受信部186は、携帯端末170から受信したパケットのうち、
・SIPメッセージが格納されたパケットを、制御部212に出力し、
・音声に対する圧縮符号化ストリームが格納されたパケットを、音声変換部185に出力し、
・応答パケットを、帯域推定・レート算出部183に出力する。
・SIPメッセージが格納されたパケットを、制御部212に出力し、
・音声に対する圧縮符号化ストリームが格納されたパケットを、音声変換部185に出力し、
・応答パケットを、帯域推定・レート算出部183に出力する。
制御部212は、パケット送受信部186から前記操作信号を受信すると、次の動作を行う。
(1)前記操作信号を解析し、音声通話の起動操作の場合には、音声通話VoIPアプリケーションソフト214を起動する。
(2)音声通話の場合、パケット送受信部186からSIPメッセージを受信する。
(3)音声通話VoIPアプリケーションソフト214から、携帯端末170(図1)のエンドユーザが選択した、相手先電話番号を入手し、電話帳111(図1)を参照して、前記相手先電話番号から、相手先のIPアドレスを求める。
(4)前記受信したSIPメッセージの相手先IPアドレスを、(3)で求めたIPアドレスに書き換えた上で、書き換え後のSIPメッセージと相手先IPアドレスを、第1のパケット送受信部187に出力する。
(5)帯域推定・レート算出部183に対して、パケット送受信部186からの応答パケット、第1のパケット送受信部187からの応答パケットのそれぞれを用いて、携帯端末170(図1)に接続しているネットワーク150(図1)に対する、上り方向の帯域及び下り方向の帯域を推定するように指示する。
さらに、必要があれば、制御部212は、端末175に接続しているネットワーク151(図1)に対する、上り方向の帯域及び下り方向の帯域も推定するように指示する。そして、帯域推定・レート算出部183に対し、少なくとも、ネットワーク150(図1)の上り及び下りのそれぞれに対し、推定した帯域からビットレートを算出し、音声変換部185に通知するように指示する。
(6)パケット送受信部186より、携帯端末170(図1)からのSDP(Session Description Protocol)を入力し、携帯端末170(図1)のクライアントソフトウェアに搭載する音声コーデック(第2の音声コーデック)に関する能力情報をチェックする。本実施形態では、第2の音声コーデックとして、AMR音声コーデックを用いるものとする。また、サーバ装置110の第1のパケット送受信部187にて、端末175からのSDPを入力し、端末175が搭載する音声コーデック(第1の音声コーデック)に関する能力情報をチェックする。本実施形態では、第1の音声コーデックとして、G.711音声コーデックを使用するものとする。
次に、制御部212は、第1の音声コーデックと第2の音声コーデックが一致するかどうかをチェックするが、本実施形態では、第1の音声コーデックと第2の音声コーデックは一致しない、という判断がなされ、トランスコーディングを行なう、という判断がなされる。
(7)音声変換部185に対し次の指示を行なう。
(a)第1の音声コーデックのビットストリーム(符号)を第2の音声コーデックのビットストリーム(符号)に変換すること。
(b)第2の音声コーデックのビットストリーム(符号)を第1の音声コーデックのビットストリーム(符号)に変換すること。
帯域推定・レート算出部183は、受動的又は能動的な手法により、パケット送受信部186から、応答パケットに含まれる情報を入力し、携帯端末170(図1)が接続されるモバイルネットワーク150(図1)の帯域BW_1を推定する。
帯域推定・レート算出部183は、同様にして、第1のパケット送受信部187から、応答パケットに含まれる情報を入力し、端末175(図1)が接続されるネットワーク151(図1)の帯域BW_2を推定する。
ここで、これらの応答パケットには、少なくとも、次の3種類の情報を含めておくものとする。
(A)サーバ装置110(図1)からj時刻に送出したデータサイズD(j)、
(B)(A)のパケットを携帯端末170(図1)で受信したときの受信時刻R(j)、
(C)端末(図1の170又は175)からサーバ装置110(図1)に対し送出する応答信号パケットに含まれるデータサイズP(m)。
なお、能動的手法を用いる場合は、帯域推定・レート算出部183は、予め定められたプローブパケットを、予め定められた時間毎に、モバイルネットワーク150又は/及びネットワーク151に対し送出し、前記プローブパケットに対する、携帯端末170又は/及び端末175からの応答信号パケットを用いて、モバイルネットワーク150又は/及びネットワーク151の帯域を推定する。前記プローブパケットには、予め定められたサイズのデータを、複数個、含めておくものとする。
帯域推定・レート算出部183は、応答信号パケットに含まれる3種類の情報を用いてネットワークの帯域を推定する。
帯域推定・レート算出部183は、携帯端末170(図1)が接続されるモバイルネットワーク150の下り方向の帯域は、式(1)と式(2)を用いて推定する。
D(j)/W = R(j)- R(j-1) ・・・ (1)
式(1)において、
Wは帯域推定値、
D(j)は、パケット送受信部186又は第1のパケット送受信部187から、携帯端末170又は端末175(図1)に向けて送出したj番目のパケットのデータサイズ、
R(j)、R(j-1)は、携帯端末170又は端末175(図1)で、前記j番目、j-1番目をそれぞれ受信したときの受信時刻である。
Wは帯域推定値、
D(j)は、パケット送受信部186又は第1のパケット送受信部187から、携帯端末170又は端末175(図1)に向けて送出したj番目のパケットのデータサイズ、
R(j)、R(j-1)は、携帯端末170又は端末175(図1)で、前記j番目、j-1番目をそれぞれ受信したときの受信時刻である。
帯域推定・レート算出部183は、次に、式(1)で計算した帯域推定値Wを、式(2)を用いて時間的に平滑化する。
BW(n) = (1 - β)×BW(n-1) + β×W ・・・ (2)
ここで、
BW(n)は第n時刻の平滑化後の帯域推定値であり、
βは0<β<1の範囲の定数である。
BW(n)は第n時刻の平滑化後の帯域推定値であり、
βは0<β<1の範囲の定数である。
次に、帯域推定・レート算出部183は、上り方向の帯域推定値を以下のように求める。前記応答信号パケットに、携帯端末170(図1)又は端末175(図1)が送出した上り方向のデータサイズP(m)を含めておくことにより、式(3)により、上り方向の帯域W’を求める。
P(m)/W' = T(m) - T(m-1) ・・・(3)
ここで、
T(m)は、サーバ装置110で、応答信号パケットを受信した受信時刻である。
T(m)は、サーバ装置110で、応答信号パケットを受信した受信時刻である。
帯域推定・レート算出部183は、W’を時間方向で平滑化して、平滑化後の値BW’を、上り方向の帯域推定値とする。
BW'(n) = (1 - β)×BW'(n-1) + β×W' ・・・ (4)
次に、帯域推定・レート算出部183は、式(2)で平滑化した帯域推定値BW(n)を用いて、予め定められた時刻毎に、式(5)、式(6)に従い、下り方向のビットレートC(n)を算出する。
C (n) = (1- γ)×C(n-1) + γ×BW(n) ・・・ (5)
C(n) ≦ BW(n) ・・・ (6)
ここで、
C(n)は、第n時刻でのビットレートであり、
γは0<γ<1の範囲の定数である。
C(n)は、第n時刻でのビットレートであり、
γは0<γ<1の範囲の定数である。
同様にして、式(4)で平滑化した帯域推定値BW’(n)を用いて、上り方向のビットレートC’(n)を、式(7)、式(8)を基に、算出する。
C'(n) = (1- γ)×C'(n-1) + γ×BW'(n) ・・・ (7)
C'(n) ≦ BW'(n) ・・・ (8)
次に、帯域推定・レート算出部183は、携帯端末170のクライアントソフトウェアに搭載される第2の音声コーデック(ここでは、AMR-NB音声コーデック)に対する上り、下りのビットレートを、式(7)、式(8)を基に、決定する。具体的には、AMR-NB音声コーデックは8種類のビットレート(モード)を持つため、式(7)、式(8)の各々のビットレートを越えない範囲で最も近いビットレートを、前記8種類のビットレートから選択する。そして、帯域推定・レート算出部183は、選択した、上り、下りのビットレートをパケット送受信部186に出力する。
パケット送受信部186は、選択された、上り、下りのビットレートを入力し、AMR-NBのCMR(Codec Mode Request) に上り、下りのビットレートを含め、前記CMRをパケットのペイロードヘッダに記載した上で、携帯端末170に対して出力する。ここで、CMRの詳細については、IETF(The Internet Engineering Task Force) RFC(Request for Comments)3267等が参照される。
さらに、パケット送受信部186は、前記上り、下りのビットレートを、音声変換部185に出力する。
また、端末175に対する下り、上りのビットレートを、第1のパケット送受信部187に出力し、SDPを用いて、端末175に対して通知させる。
なお、携帯端末170に搭載されているAMR-NBに対しては、下り、上りのビットレートの通知は、CMRを使う代わりに、SDP (Session Description Protocol)を用いて通知するようにしてもよいし、他の周知な手法を用いても良い。
<音声変換部>
図3は、音声変換部185の構成を説明する図である。音声変換部185は、トランスコーディング/スルー切り替え部220_1、220_2、レベル判別部222、223、G.711デコーダ221、G.711エンコーダ228、AMRエンコーダ224、AMRデコーダ225を備えている。
図3は、音声変換部185の構成を説明する図である。音声変換部185は、トランスコーディング/スルー切り替え部220_1、220_2、レベル判別部222、223、G.711デコーダ221、G.711エンコーダ228、AMRエンコーダ224、AMRデコーダ225を備えている。
トランスコーディング/スルー切り替え部220_1及び220_2は、制御部212から、第1の音声コーデックと第2の音声コーデックの種類の通知、及び、第1の音声コーデックと第2の音声コーデック間でトランスコーディングする指示を入力し、トランスコーディングに処理を切り替え、以下の処理を行う。本実施の形態では、第1の音声コーデック、第2の音声コーデックをそれぞれ、ITU-T G.711、3GPP AMR-NBとしている。第1の音声コーデックと第2の音声コーデックが一致し、制御部212からの指示が、トランスコーディング(デコーダで復号しエンコーダで再符号化)を行わず、パケットをスルーさせる場合、トランスコーディング/スルー切り替え部220_1及び220_2は、トランスコーディングから、スルーモードに切り替え、パケットをスルーさせる(トランスコーディング/スルー切り替え部220_1に入力されたパケットは、G.711デコーダ221、AMRエンコーダ224をスルーして(デコード処理、エンコード処理をスキップして)、トランスコーディング/スルー切り替え部220_2へ転送される。また、トランスコーディング/スルー切り替え部220_2に入力されたパケットは、AMRデコーダ225、G.711エンコーダ228をスルーして(デコード処理、エンコード処理をスキップして)、トランスコーディング/スルー切り替え部220_1へ転送される)。
第1の音声コーデック(G.711)から第2の音声コーデック(AMR-NB)へのトランスコーディングについて説明する。トランスコーディング/スルー切り替え部220_1は、図2の第1のパケット送受信部187から第1の音声コーデックによるビットストリーム(符号)を入力する。
レベル判別部222は、第1の音声コーデック(G.711)のビットストリーム(符号)から符号の一部を抽出する。具体的には、MSB(Most Significant Bit)である符号ビットを除き上位から3ビット分を抽出して復号する。復号した信号を予め定められた時間区間(例えば20ms)にわたり、平滑化処理あるいは平均化処理を行ない、処理結果G1を求める。
G1について、予め定めら得た条件を満足するかどうかを判別する。
本実施形態では、予め定められた条件とは、次式に示す、予め定められたしきい値Th1との比較判別であるものとするが、他の条件を用いることもできる。
G1 ≧ Th1 ・・・ (9)
ここで、Th1はレベルに関する予め定めら得たしきい値である。
レベル判別部222は、
・処理結果G1がTh1より大の時間区間は、AMRエンコーダ224に対し、G.711デコーダ221の出力信号を、エンコードするように指示し、
・処理結果G1がTh1未満の時間区間は、AMRエンコーダ224に対し、G.711デコーダ221の出力信号を、エンコードしないように指示する。
・処理結果G1がTh1より大の時間区間は、AMRエンコーダ224に対し、G.711デコーダ221の出力信号を、エンコードするように指示し、
・処理結果G1がTh1未満の時間区間は、AMRエンコーダ224に対し、G.711デコーダ221の出力信号を、エンコードしないように指示する。
G.711デコーダ221は、トランスコーディング/スルー切り替え部220_1から第1の音声コーデック(G.711)のビットストリームを入力し復号してAMRエンコーダ224に出力する。
AMRエンコーダ224は、AMR-NBエンコーダを保有しており、レベル判別部222からAMRエンコードすべき指示を入力し、帯域推定・レート算出部183から下り方向のビットレートを入力し、エンコード指示のある時間区間についてのみ、G.711デコーダ221から入力した復号信号(G.711復号信号)を、AMR-NBにエンコードし、トランスコーディング/スルー切り替え部220_2に出力する。
ここで、AMR-NBエンコードするときのビットレートは、帯域推定・ビットレート算出部183から入力したビットレートに従う。
AMRエンコーダ224は、エンコード指示のない時間区間では、AMR-NBエンコードは行わず、トランスコーディング/スルー切り替え部220_2への出力も行なわない。
トランスコーディング/スルー切り替え部220_2は、AMRエンコーダ224から入力した第2の音声コーデックのビットストリーム(符号)を、図2のパケット送受信部186に出力する。
次に、第2の音声コーデック(AMR-NB)から第1の音声コーデック(G.711)へのトランスコーディングについて説明する。
トランスコーディング/スルー切り替え部220_2は、パケット送受信部186から第2の音声コーデックのビットストリーム(符号)を入力し、レベル判別部223とAMRデコーダ225へ出力する。
また、レベル判別部223とAMRデコーダ225は、帯域推定・レート算出部183から、第2の音声コーデックの上り方向のビットレートを入力する。3GPP TS26.090規格に記載されているように、AMR-NBコーデックにより20ms毎に圧縮符号化されたビットストリームでは、AMR-NBのビットレートにより、レベルを表すゲインのビット数が異なっている。したがって、レベル判別部223は、第2の音声コーデックのビットストリーム(符号)を入力し、ビットレート情報に基づき、符号から一部を抽出する。具体的には、符号からゲインを示す部分を抽出し、抽出した符号からゲインを復号して、20msの時間区間毎に、G2を得る。復号したゲインG2に対し、次式に従い時間方向に平滑化する。
Gm = (1 - δ)×Gm-1 + δ× G2 ・・・ (10)
ここで、
Gmは平滑化後のゲインを示し、
δは平滑化次定数を示す。0<δ<1とする。
Gmは平滑化後のゲインを示し、
δは平滑化次定数を示す。0<δ<1とする。
Gmが予め定められた条件を満たす場合に、第2の音声コーデックから第1の音声コーデックへのトランスコーディングを行なう。ここで、予め定められた条件とは、本実施形態では、次式(11)とするが、他の条件を用いることもできる。
Gm ≧ Th2 ・・・ (11)
レベル判別部223は、式(11)の条件を満たす場合に、G.711エンコーダ228に対し、AMRデコーダ225の出力信号(復号信号)に対してG.711エンコードするように指示する。なお、式(11)の条件を満たさない場合には、G.711エンコーダ228に対しては、G.711エンコードする指示は出さない。
AMRデコーダ225は、帯域推定・レート算出部183から、第2の音声コーデックの上りのビットレートを入力し、当該ビットレートに従い第2の音声コーデックのビットストリームをAMR復号し、G.711エンコーダ228に出力する。
G.711エンコーダ228は、レベル判別部223からエンコード指示を入力し、AMRデコーダ225からの出力信号に対し、エンコード指示のある時間区間についてのみG.711エンコードして、トランスコーディング/スルー切り替え部220_1に出力する。G.711エンコーダ228はエンコード指示のない時間区間では、G.711エンコードを行わず、トランスコーディング/スルー切り替え部220_1への出力もしない。
トランスコーディング/スルー切り替え部220_1は、G.711エンコーダ228から入力した第1の音声コーデックのビットストリーム(符号)を、図2の第1のパケット送受信部187に出力する。
図2の第1のパケット送受信部187は、制御部212から、相手先IPアドレス及びSIPメッセージを入力し、帯域推定・レート算出部183から、上り、下りのビットレートを記載したSDPを入力し、これらをSIP/SDPパケットとして、図1のMGW装置196に出力する。さらに、図2の第1のパケット送受信部187は、音声変換部185から第1の音声コーデックによるビットストリームを入力し、予め定められたプロトコルによりパケット化して、図1のMGW装置196に出力する。ここで、予め定められたプロトコルとして、本実施形態では、RTP/UDP/IPを用いるが、他の周知なプロトコルを用いることもできる。
図2のパケット送受信部186は、帯域推定・レート算出部183から、携帯端末170のクライアントソフトウェアに搭載したAMR-NB音声コーデックに対する上り、下りのビットレートを記載したCMR又はSDPを入力し、音声変換部185から第2の音声コーデックのビットストリームを入力し、予め定められたパケットを構成して図1のSGSN/GGSN装置190に向けて出力する。ここで、予め定められたプロトコルとして、本実施形態では、RTP/UDP/IPを用いるが、他の周知なプロトコルを用いることもできる。ここで、AMR-NBに対する上り、下りのビットレートの指定法としてCMRを用いる場合は、RTPパケットのペイロードフォーマットにCMRを組み込む。AMR-NBのRTPペイロードフォーマットならびにCMRの詳細は、IETF RFC3267を参照することができる。一方、SDPを用いる場合は、SIP/SDPメッセージ、AMR-NBに対する上り、下りのビットレートを含めることができる。
<シンクライアント端末>
図4は、シンクライアント端末である携帯端末170(図1)の構成を説明する図である。クライアントソフトウェア171は、第1のパケット送受信部260、第2、3のパケット受信部250、251、パケット送信部258、画像デコーダ252、画面表示部256、オーディオデコーダ255、ビットレート制御部261、AMRデコーダ262、AMRエンコーダ263、操作信号生成部257を備えている。これら各部は、携帯端末170のコンピュータ上で実行されるプログラムによりその処理・機能が実現される。図4において、携帯端末170には、クライアントソフトウェア171を搭載させることにより、シンクライアントのクライアントの動作を実行する。本実施形態では、前述のように、シンクライアントソフトウェアには、第2の音声コーデックであるAMR-NB音声コーデックを搭載しているものとする。
図4は、シンクライアント端末である携帯端末170(図1)の構成を説明する図である。クライアントソフトウェア171は、第1のパケット送受信部260、第2、3のパケット受信部250、251、パケット送信部258、画像デコーダ252、画面表示部256、オーディオデコーダ255、ビットレート制御部261、AMRデコーダ262、AMRエンコーダ263、操作信号生成部257を備えている。これら各部は、携帯端末170のコンピュータ上で実行されるプログラムによりその処理・機能が実現される。図4において、携帯端末170には、クライアントソフトウェア171を搭載させることにより、シンクライアントのクライアントの動作を実行する。本実施形態では、前述のように、シンクライアントソフトウェアには、第2の音声コーデックであるAMR-NB音声コーデックを搭載しているものとする。
図4において、音声通話の場合に、ユーザが画面上で音声VoIPアプリケーションソフトを起動するために携帯端末の画面上で操作すると、操作信号生成部257は起動のための操作信号を生成し、パケット送信部258でこれをパケット化して携帯端末170からモバイルネットワーク150(図1)に送出する。
第1のパケット送受信部260は、サーバ装置110(図1)から送出された、SIP/SDPによるメッセージと第2の音声コーデックが格納されたパケットを入力する。
能動的な帯域推定の場合には、第1のパケット送受信部260は、図2の帯域推定・レート算出部183から、プローブパケットを受信する。
第1のパケット送受信部260は、SDPメッセージから、又は、前記パケットのRTPペイロードフォーマットのCMRから、AMR-NBの上り、下りのビットレート情報を抽出し、ビットレート制御部261に出力する。また、RTPペイロードから第2の音声コーデックのビットストリームを抽出しAMRデコーダ262へ出力する。
また、能動的な帯域推定の場合は、前記プローブパケットに対して、必要な情報を含めた応答信号パケットを作成し、応答信号パケットを携帯端末170からモバイルネットワーク150に向け送出する。必要な情報とは、例えば、
(1)フローブパケットに対し、携帯端末170での到着時間が遅延し始めるときのデータサイズ、
(2)フローブパケットの到着時刻、
(3)携帯端末からサーバ装置に送出する応答パケットに含まれるデータサイズ、
(4)応答パケットを送出するときの送出時刻、
等である。
(1)フローブパケットに対し、携帯端末170での到着時間が遅延し始めるときのデータサイズ、
(2)フローブパケットの到着時刻、
(3)携帯端末からサーバ装置に送出する応答パケットに含まれるデータサイズ、
(4)応答パケットを送出するときの送出時刻、
等である。
受動的な帯域推定の場合は、サーバ装置110(図1)からの送出されたパケットに対し、応答信号パケットを作成し、携帯端末170からモバイルネットワーク150(図1)に向け送出する。
この応答信号パケットには、例えば、
(1)受信したデータサイズ、
(2)送出パケットを携帯端末で受信したときの受信時刻、
(3)携帯端末170からサーバ装置110に対し送出する応答信号パケットに含まれるデータサイズ、
等が含まれる。
(1)受信したデータサイズ、
(2)送出パケットを携帯端末で受信したときの受信時刻、
(3)携帯端末170からサーバ装置110に対し送出する応答信号パケットに含まれるデータサイズ、
等が含まれる。
ビットレート制御部261は、下りのビットレートをAMRデコーダ262に出力し、上りのビットレートをAMRエンコーダ263に出力する。
AMRデコーダ262は、ビットレート制御部261から下りのビットレートを入力し、下りのビットレートに基づき、AMR-NBの8種類のモードから1種類を選択し、第2の音声コーデックのビットストリームを入力し、選択されたビットレートのAMRデコーダで復号する。ただし、前記ビットストリームが入力されない時間区間では、CNG(Comfort Noise Generation)による微小レベルのノイズ信号を発生させ(無音区間の背景雑音(白色雑音等)を擬似的に生成する)、前記復号信号に接続することにより全体の音声信号を生成し、携帯端末170から出力する。
AMRエンコーダ263は、ビットレート制御部261から入力したビットレートに基づき、8種類あるモードから1種類を選択し、携帯端末170のユーザが発声した音声を、指定されたビットレートでエンコードし、第2の音声コーデックによるビットストリームを第1のパケット送受信部260に送出し、第1のパケット送受信部260はこれを携帯端末170からモバイルネットワーク150に送出する。
第2のパケット受信部250は、画面信号に対する圧縮符号化ビットストリームを入力し、サーバ装置110と同じ画像コーデックを用いて前記圧縮符号化ビットストリームを復号し画面表示部256に出力する。
画面表示部256は、前記復号画面信号を入力し、画面を構築して、携帯端末の表示部(不図示)の画面に表示する。
画面に付随するオーディオ信号がある場合、第3のパケット受信部251は、オーディオ信号に対する圧縮符号化ビットストリームが格納されたパケットを入力し、オーディオ信号に対する圧縮符号化ビットストリームを抽出してオーディオデコーダ255に出力する。
オーディオデコーダ255は、オーディオ信号に対する圧縮符号化ビットストリームを入力し、復号して携帯端末170のスピーカ(不図示)から出力する。
第一の実施の形態では、ネットワーク150として、モバイル3Gネットワークのケースを説明したが、モバイルLTE(Long Term Evolution)ネットワークとしてもよい。また、固定網ネットワークや、NGN(Next Generation Network)ネットワークや、W-LANネットワークや、インターネット網等を用いることもできる。また、携帯端末のかわりに固定端末を用いることもできる。また、サーバ装置110を企業網ではなく、モバイルネットワークや固定網に配置することもできる。
また、サーバ装置110を、モバイルネットワーク内に配置するようにしてもよい。あるいは、固定網ネットワーク内に配置するようにしてもよい。また、端末として、携帯端末170には、スマートフォンやタブレットを用いることもできる。第1の音声コーデック、第2の音声コーデックには、他の周知な音声コーデックを用いることができる。
トランスコーディグする際の予め定められた条件としては、前記実施形態の条件とは異なる条件を用いるようにしてもよい。
なお、本実施の形態では、端末での音声コーデックが一致しない場合に、サーバ装置110の音声変換部185にて、音声コーデックのトランスコーディングを行う例を説明したが、端末での音声コーデックが一致する場合は、サーバ装置110では、トランスコーディングは行わずに(音声変換部185でパケットをスルーさせているが、音声変換部185を経由せず)、パケット送受信部186と、第1のパケット送受信部187の間で、パケットをスルーする構成としてもよい。
上記実施形態によれば、シンクライアントを使ってVoIPによる音声通話を行なう場合に、モバイルネットワーク等での帯域幅の変動に応じてサーバでビットレートを算出し、これに基づき、シンクライアント端末での音声コーデックのビットレートを切り替えることができる。このため、ネットワークの帯域幅が狭くなったときに、遅延時間が長くなり通話がしづらくなる、という前記問題点を解消することができる。
また、シンクライアント端末で音声コーデックのビットレートを切り替えながらネットワークの帯域変動に対応する場合に、シンクライアント端末と非シンクライアント端末での接続で端末間の音声コーデックが異なる場合、サーバ装置において少ない負荷でトランスコーディングを行うことができる。
上記した実施形態は、特に制限されないが、例えば以下のように付記される。
(付記1)
端末と、
ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させるサーバ装置と、
を備え、前記サーバ装置は、前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示に基づき、トランスコーディングを行うか、又はトランスコーディングせずにそのまま通過させ、通話先に出力する音声変換部と、
前記サーバ装置からの所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記第1の端末と、前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末とが前記サーバ装置を介して音声通話する場合に、前記サーバ装置において、
前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、前記トランスコーディング後の信号を前記第1の端末に向けて出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、前記トランスコード後の符号を前記第2の端末に向けて出力する、ことを特徴とする通信システム。
端末と、
ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させるサーバ装置と、
を備え、前記サーバ装置は、前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示に基づき、トランスコーディングを行うか、又はトランスコーディングせずにそのまま通過させ、通話先に出力する音声変換部と、
前記サーバ装置からの所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記第1の端末と、前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末とが前記サーバ装置を介して音声通話する場合に、前記サーバ装置において、
前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、前記トランスコーディング後の信号を前記第1の端末に向けて出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、前記トランスコード後の符号を前記第2の端末に向けて出力する、ことを特徴とする通信システム。
(付記2)
前記音声変換部において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコーダと、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコーダと、
第1のエンコーダと、
第2のエンコーダと、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコーダに対して、前記第1のデコーダの出力を符号化するように指示する第1の判別部と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコーダに対して、前記第2のデコーダの出力を符号化するように指示する第2の判別部と、
を備え、
前記第1のエンコーダは、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコーダは、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する、ことを特徴とする付記1記載の通信システム。
前記音声変換部において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコーダと、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコーダと、
第1のエンコーダと、
第2のエンコーダと、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコーダに対して、前記第1のデコーダの出力を符号化するように指示する第1の判別部と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコーダに対して、前記第2のデコーダの出力を符号化するように指示する第2の判別部と、
を備え、
前記第1のエンコーダは、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコーダは、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する、ことを特徴とする付記1記載の通信システム。
(付記3)
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第1の端末の音声コーデックによるビットストリームを受信した送受信部は、前記ビットストリームを、音声変換部を介さずに、そのまま第1の送受信部に転送し、前記第1の送受信部から前記第2の端末向けに出力し、
前記第2の端末の音声コーデックによるビットストリームを受信した前記第1の送受信部は、前記ビットストリームを音声変換部を介さずに、そのまま前記送受信部に転送し、前記送受信部から、前記第1の端末向けに出力する、ことを特徴とする付記1又は2記載の通信システム。
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第1の端末の音声コーデックによるビットストリームを受信した送受信部は、前記ビットストリームを、音声変換部を介さずに、そのまま第1の送受信部に転送し、前記第1の送受信部から前記第2の端末向けに出力し、
前記第2の端末の音声コーデックによるビットストリームを受信した前記第1の送受信部は、前記ビットストリームを音声変換部を介さずに、そのまま前記送受信部に転送し、前記送受信部から、前記第1の端末向けに出力する、ことを特徴とする付記1又は2記載の通信システム。
(付記4)
前記帯域推定レート算出部は、前記第1の端末及び前記第2の端末の音声コーデックに対する上りと下りのビットレートを算出し、それぞれ、前記第1の端末及び前記第2の端末に通知し、さらに、前記上りと下りのビットレートを前記音声変換部に出力し、
前記音声変換部において、前記第1、第2のエンコーダの符号化のビットレートは、前記帯域推定レート算出部から出力されたビットレートに従う、ことを特徴とする付記2記載の通信システム。
前記帯域推定レート算出部は、前記第1の端末及び前記第2の端末の音声コーデックに対する上りと下りのビットレートを算出し、それぞれ、前記第1の端末及び前記第2の端末に通知し、さらに、前記上りと下りのビットレートを前記音声変換部に出力し、
前記音声変換部において、前記第1、第2のエンコーダの符号化のビットレートは、前記帯域推定レート算出部から出力されたビットレートに従う、ことを特徴とする付記2記載の通信システム。
(付記5)
前記制御部は、
(A)前記操作信号を解析し、音声通話の起動操作の場合には、音声通話アプリケーションを起動し、
(B)音声通話アプリケーションから、前記第1の端末のユーザが選択した、相手先電話番号を取得し、前記相手先電話番号から、相手先のアドレスを求め、
(C)前記第1の端末から受信したメッセージに前記相手先アドレスを設定し、
(D)前記帯域推定レート算出部に対して、前記第1の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域を推定するよう指示し、
(E)前記第2の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域も推定するよう指示し、
(F)前記第2の端末の音声コーデックである第1の音声コーデック、前記第1の端末の音声コーデックである第2の音声コーデックに関する能力情報をチェックし、これらが一致するかどうかを判定し、
(G)前記音声変換部に対して、前記第1の音声コーデックのビットストリームの前記第2の音声コーデックのビットストリームへの変換、及び、前記第2の音声コーデックのビットストリームの前記第1の音声コーデックのビットストリームへの変換を、指示する、ことを特徴とする付記1乃至4のいずれか一に記載の通信システム。
前記制御部は、
(A)前記操作信号を解析し、音声通話の起動操作の場合には、音声通話アプリケーションを起動し、
(B)音声通話アプリケーションから、前記第1の端末のユーザが選択した、相手先電話番号を取得し、前記相手先電話番号から、相手先のアドレスを求め、
(C)前記第1の端末から受信したメッセージに前記相手先アドレスを設定し、
(D)前記帯域推定レート算出部に対して、前記第1の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域を推定するよう指示し、
(E)前記第2の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域も推定するよう指示し、
(F)前記第2の端末の音声コーデックである第1の音声コーデック、前記第1の端末の音声コーデックである第2の音声コーデックに関する能力情報をチェックし、これらが一致するかどうかを判定し、
(G)前記音声変換部に対して、前記第1の音声コーデックのビットストリームの前記第2の音声コーデックのビットストリームへの変換、及び、前記第2の音声コーデックのビットストリームの前記第1の音声コーデックのビットストリームへの変換を、指示する、ことを特徴とする付記1乃至4のいずれか一に記載の通信システム。
(付記6)
前記帯域推定レート算出部は、前記第1、第2の端末の各端末からの応答信号に含まれる情報から、
前記各端末が接続するネットワークの下り方向の帯域Wを、前記サーバ装置が前記各端末に向けて送出したj番目(jは所定の正整数)のパケットのデータサイズD(j)を、前記各端末で前記j番目、(j-1)番目のパケット受信したときの受信時刻R(j)、R(j-1)の差分R(j)-R(j-1)で除算することで求め、
前記帯域推定値Wを、時間的に平滑化し、平滑化後の第n時刻の帯域推定値BW(n)を求め、
前記各端末からの前記応答信号に、前記各端末が送出した上り方向のデータサイズを含め、
前記各端末が接続するネットワークの上り方向の帯域W’を、m番目(mは所定の正整数)のデータサイズP(m)を、前記サーバ装置でm番目、(m-1)番目の前記応答信号を受信した受信時刻T(m)、T(m-1)の差分T(m)-T(m-1)で除算することで求め、
前記W’を時間方向で平滑化して、平滑化後の第n時刻の帯域推定値BW’(n)を上り方向の帯域推定値とし、
下り方向の第n時刻でのビットレートC(n)を以下の式
C(n)=(1-γ)×C(n-1)+γ×BW(n)
C(n)≦BW(n)
(ただし、γは0<γ<1の範囲の定数)
に基づき、求め、
上り方向の第n時刻でのビットレートC’(n)を以下の式、
C’(n)=(1-γ)×C’(n-1)+γ×BW’(n)
C’(n)≦BW’(n)
に基づき求める、ことを特徴とする付記1又は4記載の通信システム。
前記帯域推定レート算出部は、前記第1、第2の端末の各端末からの応答信号に含まれる情報から、
前記各端末が接続するネットワークの下り方向の帯域Wを、前記サーバ装置が前記各端末に向けて送出したj番目(jは所定の正整数)のパケットのデータサイズD(j)を、前記各端末で前記j番目、(j-1)番目のパケット受信したときの受信時刻R(j)、R(j-1)の差分R(j)-R(j-1)で除算することで求め、
前記帯域推定値Wを、時間的に平滑化し、平滑化後の第n時刻の帯域推定値BW(n)を求め、
前記各端末からの前記応答信号に、前記各端末が送出した上り方向のデータサイズを含め、
前記各端末が接続するネットワークの上り方向の帯域W’を、m番目(mは所定の正整数)のデータサイズP(m)を、前記サーバ装置でm番目、(m-1)番目の前記応答信号を受信した受信時刻T(m)、T(m-1)の差分T(m)-T(m-1)で除算することで求め、
前記W’を時間方向で平滑化して、平滑化後の第n時刻の帯域推定値BW’(n)を上り方向の帯域推定値とし、
下り方向の第n時刻でのビットレートC(n)を以下の式
C(n)=(1-γ)×C(n-1)+γ×BW(n)
C(n)≦BW(n)
(ただし、γは0<γ<1の範囲の定数)
に基づき、求め、
上り方向の第n時刻でのビットレートC’(n)を以下の式、
C’(n)=(1-γ)×C’(n-1)+γ×BW’(n)
C’(n)≦BW’(n)
に基づき求める、ことを特徴とする付記1又は4記載の通信システム。
(付記7)
前記第1及び第2の端末の少なくとも1つは、前記サーバ装置から送信された符号化されたビットストリームを入力して音声の復号信号を出力するデコーダでは、前記ビットストリームが入力されない時間区間では、CNG(Comfort Noise Generation)に雑音信号を発生させ、前記復号信号に接続する、付記1記載の通信システム。
前記第1及び第2の端末の少なくとも1つは、前記サーバ装置から送信された符号化されたビットストリームを入力して音声の復号信号を出力するデコーダでは、前記ビットストリームが入力されない時間区間では、CNG(Comfort Noise Generation)に雑音信号を発生させ、前記復号信号に接続する、付記1記載の通信システム。
(付記8)
ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信部と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させて通話先に出力する音声変換部と、
所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、
前記制御部からの指示により、前記音声変換部はトランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、ことを特徴とするサーバ装置。
ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信部と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させて通話先に出力する音声変換部と、
所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、
前記制御部からの指示により、前記音声変換部はトランスコーディングを行い、その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、ことを特徴とするサーバ装置。
(付記9)
前記サーバ装置は、ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させる、ことを特徴とする付記8記載のサーバ装置。
前記サーバ装置は、ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させる、ことを特徴とする付記8記載のサーバ装置。
(付記10)
前記音声変換部において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコーダと、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコーダと、
第1のエンコーダと、
第2のエンコーダと、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコーダに対して、前記第1のデコーダの出力を符号化するように指示する第1の判別部と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコーダに対して、前記第2のデコーダの出力を符号化するように指示する第2の判別部と、
を備え、
前記第1のエンコーダは、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコーダは、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する、ことを特徴とする付記8又は9記載のサーバ装置。
前記音声変換部において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコーダと、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコーダと、
第1のエンコーダと、
第2のエンコーダと、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコーダに対して、前記第1のデコーダの出力を符号化するように指示する第1の判別部と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコーダに対して、前記第2のデコーダの出力を符号化するように指示する第2の判別部と、
を備え、
前記第1のエンコーダは、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコーダは、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する、ことを特徴とする付記8又は9記載のサーバ装置。
(付記11)
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第1の端末の音声コーデックによるビットストリームを受信した送受信部は、前記ビットストリームを、音声変換部を介さずに、そのまま第1の送受信部に転送し、前記第1の送受信部から前記第2の端末向けに出力し、
前記第2の端末の音声コーデックによるビットストリームを受信した前記第1の送受信部は、前記ビットストリームを音声変換部を介さずに、そのまま前記送受信部に転送し、前記送受信部から、前記第1の端末向けに出力する、ことを特徴とする付記1乃至10のいずれか1項に記載の通信システム。
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第1の端末の音声コーデックによるビットストリームを受信した送受信部は、前記ビットストリームを、音声変換部を介さずに、そのまま第1の送受信部に転送し、前記第1の送受信部から前記第2の端末向けに出力し、
前記第2の端末の音声コーデックによるビットストリームを受信した前記第1の送受信部は、前記ビットストリームを音声変換部を介さずに、そのまま前記送受信部に転送し、前記送受信部から、前記第1の端末向けに出力する、ことを特徴とする付記1乃至10のいずれか1項に記載の通信システム。
(付記12)
前記帯域推定レート算出部は、前記第1の端末及び前記第2の端末の音声コーデックに対する上りと下りのビットレートを算出し、それぞれ、前記第1の端末及び前記第2の端末に通知し、さらに、前記上りと下りのビットレートを前記音声変換部に出力し、
前記音声変換部において、前記第1、第2のエンコーダの符号化のビットレートは、前記帯域推定レート算出部から出力されたビットレートに従う、ことを特徴とする付記8記載のサーバ装置。
前記帯域推定レート算出部は、前記第1の端末及び前記第2の端末の音声コーデックに対する上りと下りのビットレートを算出し、それぞれ、前記第1の端末及び前記第2の端末に通知し、さらに、前記上りと下りのビットレートを前記音声変換部に出力し、
前記音声変換部において、前記第1、第2のエンコーダの符号化のビットレートは、前記帯域推定レート算出部から出力されたビットレートに従う、ことを特徴とする付記8記載のサーバ装置。
(付記13)
前記制御部は、
(A)前記操作信号を解析し、音声通話の起動操作の場合には、音声通話アプリケーションを起動し、
(B)音声通話アプリケーションから、前記第1の端末のユーザが選択した、相手先電話番号を取得し、前記相手先電話番号から、相手先のアドレスを求め、
(C)前記第1の端末から受信したメッセージに前記相手先アドレスを設定し、
(D)前記帯域推定レート算出部に対して、前記第1の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域を推定するよう指示し、
(E)前記第2の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域も推定するよう指示し、
(F)前記第2の端末の音声コーデックである第1の音声コーデック、前記第1の端末の音声コーデックである第2の音声コーデックに関する能力情報をチェックし、これらが一致するかどうかを判定し、
(G)前記音声変換部に対して、前記第1の音声コーデックのビットストリームの前記第2の音声コーデックのビットストリームへの変換、及び、前記第2の音声コーデックのビットストリームの前記第1の音声コーデックのビットストリームへの変換を、指示する、ことを特徴とする付記8乃至12のいずれか一に記載のサーバ装置。
前記制御部は、
(A)前記操作信号を解析し、音声通話の起動操作の場合には、音声通話アプリケーションを起動し、
(B)音声通話アプリケーションから、前記第1の端末のユーザが選択した、相手先電話番号を取得し、前記相手先電話番号から、相手先のアドレスを求め、
(C)前記第1の端末から受信したメッセージに前記相手先アドレスを設定し、
(D)前記帯域推定レート算出部に対して、前記第1の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域を推定するよう指示し、
(E)前記第2の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域も推定するよう指示し、
(F)前記第2の端末の音声コーデックである第1の音声コーデック、前記第1の端末の音声コーデックである第2の音声コーデックに関する能力情報をチェックし、これらが一致するかどうかを判定し、
(G)前記音声変換部に対して、前記第1の音声コーデックのビットストリームの前記第2の音声コーデックのビットストリームへの変換、及び、前記第2の音声コーデックのビットストリームの前記第1の音声コーデックのビットストリームへの変換を、指示する、ことを特徴とする付記8乃至12のいずれか一に記載のサーバ装置。
(付記14)
前記帯域推定レート算出部は、前記第1、第2の端末の各端末からの応答信号に含まれる情報から、
前記各端末が接続するネットワークの下り方向の帯域Wを、前記サーバ装置が前記各端末に向けて送出したj番目(jは所定の正整数)のパケットのデータサイズD(j)を、前記各端末で前記j番目、(j-1)番目のパケット受信したときの受信時刻R(j)、R(j-1)の差分R(j)-R(j-1)で除算することで求め、
前記帯域推定値Wを、時間的に平滑化し、平滑化後の第n時刻の帯域推定値BW(n)を求め、
前記各端末からの前記応答信号に、前記各端末が送出した上り方向のデータサイズを含め、
前記各端末が接続するネットワークの上り方向の帯域W’を、m番目(mは所定の正整数)のデータサイズP(m)を、前記サーバ装置でm番目、(m-1)番目の前記応答信号を受信した受信時刻T(m)、T(m-1)の差分T(m)-T(m-1)で除算することで求め、
前記W’を時間方向で平滑化して、平滑化後の第n時刻の帯域推定値BW’(n)を上り方向の帯域推定値とし、
下り方向の第n時刻でのビットレートC(n)を以下の式
C(n)=(1-γ)×C(n-1)+γ×BW(n)
C(n)≦BW(n)
(ただし、γは0<γ<1の範囲の定数)
に基づき、求め、
上り方向の第n時刻でのビットレートC’(n)を以下の式、
C’(n)=(1-γ)×C’(n-1)+γ×BW’(n)
C’(n)≦BW’(n)
に基づき求める、ことを特徴とする付記8又は12記載のサーバ装置。
前記帯域推定レート算出部は、前記第1、第2の端末の各端末からの応答信号に含まれる情報から、
前記各端末が接続するネットワークの下り方向の帯域Wを、前記サーバ装置が前記各端末に向けて送出したj番目(jは所定の正整数)のパケットのデータサイズD(j)を、前記各端末で前記j番目、(j-1)番目のパケット受信したときの受信時刻R(j)、R(j-1)の差分R(j)-R(j-1)で除算することで求め、
前記帯域推定値Wを、時間的に平滑化し、平滑化後の第n時刻の帯域推定値BW(n)を求め、
前記各端末からの前記応答信号に、前記各端末が送出した上り方向のデータサイズを含め、
前記各端末が接続するネットワークの上り方向の帯域W’を、m番目(mは所定の正整数)のデータサイズP(m)を、前記サーバ装置でm番目、(m-1)番目の前記応答信号を受信した受信時刻T(m)、T(m-1)の差分T(m)-T(m-1)で除算することで求め、
前記W’を時間方向で平滑化して、平滑化後の第n時刻の帯域推定値BW’(n)を上り方向の帯域推定値とし、
下り方向の第n時刻でのビットレートC(n)を以下の式
C(n)=(1-γ)×C(n-1)+γ×BW(n)
C(n)≦BW(n)
(ただし、γは0<γ<1の範囲の定数)
に基づき、求め、
上り方向の第n時刻でのビットレートC’(n)を以下の式、
C’(n)=(1-γ)×C’(n-1)+γ×BW’(n)
C’(n)≦BW’(n)
に基づき求める、ことを特徴とする付記8又は12記載のサーバ装置。
(付記15)
第1の端末と第2の端末とがそれぞれネットワークを介して接続されるサーバ装置を介して音声通話し、
前記サーバ装置では、前記サーバ装置からの所定のパケットの送出に対する前記第1、第2の端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記第1、第2の端末に通知し、
前記サーバ装置では、前記第1の端末と前記第2の端末の音声コーデックが同一であるか判別し、同一である場合には、前記第1、第2の端末の音声コーデックによるビットストリームをそれぞれ前記第2、第1の端末向けにそのまま出力し、
前記第1の端末と前記第2の端末の音声コーデックが互いに異なる場合には、サーバ装置にてトランスコーディングを行い、
その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末に向けて出力し、前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末に向けて出力する、ことを特徴とする通信方法。
第1の端末と第2の端末とがそれぞれネットワークを介して接続されるサーバ装置を介して音声通話し、
前記サーバ装置では、前記サーバ装置からの所定のパケットの送出に対する前記第1、第2の端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記第1、第2の端末に通知し、
前記サーバ装置では、前記第1の端末と前記第2の端末の音声コーデックが同一であるか判別し、同一である場合には、前記第1、第2の端末の音声コーデックによるビットストリームをそれぞれ前記第2、第1の端末向けにそのまま出力し、
前記第1の端末と前記第2の端末の音声コーデックが互いに異なる場合には、サーバ装置にてトランスコーディングを行い、
その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末に向けて出力し、前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末に向けて出力する、ことを特徴とする通信方法。
(付記16)
前記サーバ装置は、ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させる、ことを特徴とする付記15記載の通信方法。
前記サーバ装置は、ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させる、ことを特徴とする付記15記載の通信方法。
(付記17)
ネットワークを介してサーバ装置に接続し、端末での操作により前記サーバ装置が仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記サーバ装置からの画面情報をデコーダで復号して表示部に表示し、前記サーバ装置が付記8乃至14のいずれか1に記載のサーバ装置からなり、他の端末と、前記サーバ装置を介して音声通話する端末。
ネットワークを介してサーバ装置に接続し、端末での操作により前記サーバ装置が仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記サーバ装置からの画面情報をデコーダで復号して表示部に表示し、前記サーバ装置が付記8乃至14のいずれか1に記載のサーバ装置からなり、他の端末と、前記サーバ装置を介して音声通話する端末。
(付記18)
前記サーバ装置から送信された符号化されたビットストリームを入力して音声の復号信号を出力するデコーダでは、前記ビットストリームが入力されない時間区間では、CNG(Comfort Noise Generation)に雑音信号を発生させ、前記復号信号に接続する、ことを特徴とする付記17記載の端末。
前記サーバ装置から送信された符号化されたビットストリームを入力して音声の復号信号を出力するデコーダでは、前記ビットストリームが入力されない時間区間では、CNG(Comfort Noise Generation)に雑音信号を発生させ、前記復号信号に接続する、ことを特徴とする付記17記載の端末。
(付記19)
ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信処理と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御処理と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させる音声変換処理と、
前記パケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出処理と、
を備え、
前記端末が第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、
前記制御処理からの指示に基づき、前記音声変換処理はトランスコーディングを行い、その際、
前記第2の端末の音声コーデックによる符号の一処理が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一処理から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、
前記処理をサーバ装置を構成するコンピュータに実行させるプログラム。
ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信処理と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御処理と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させる音声変換処理と、
前記パケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出処理と、
を備え、
前記端末が第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、
前記制御処理からの指示に基づき、前記音声変換処理はトランスコーディングを行い、その際、
前記第2の端末の音声コーデックによる符号の一処理が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一処理から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、
前記処理をサーバ装置を構成するコンピュータに実行させるプログラム。
(付記20)
前記音声変換処理において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコード処理と、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコード処理と、
第1のエンコード処理と、
第2のエンコード処理と、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコード処理に対して、前記第1のデコード処理の出力を符号化するように指示する第1の判別処理と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコード処理に対して、前記第2のデコード処理の出力を符号化するように指示する第2の判別処理と、
を含む
前記第1のエンコード処理は、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコード処理は、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御処理からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する処理を前記コンピュータに実行させる、付記19記載のプログラム。
前記音声変換処理において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコード処理と、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコード処理と、
第1のエンコード処理と、
第2のエンコード処理と、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコード処理に対して、前記第1のデコード処理の出力を符号化するように指示する第1の判別処理と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコード処理に対して、前記第2のデコード処理の出力を符号化するように指示する第2の判別処理と、
を含む
前記第1のエンコード処理は、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコード処理は、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御処理からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する処理を前記コンピュータに実行させる、付記19記載のプログラム。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各付記の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
110 サーバ装置
111 電話帳
130 クラウド網
150 モバイルネットワーク
151 固定網
170 携帯端末
171 クライアントソフトウェア
175 端末
176 第2のパケット送信部
177 第3のパケット送信部
180 画面キャプチャ部
183 帯域推定・レート算出部
185 音声変換部
186 パケット送受信部
187 第1のパケット送受信部
188 画像エンコーダ部
189 オーディオエンコーダ部
190 SGSN/GGSN装置
194 基地局装置
195 RNC装置
196 MGM装置
211 仮想クライアント部
212 制御部
213 画面生成部
214 音声通話VoIPアプリケーションソフト
220_1、220_2 トランスコーディング/スルー切り替え部
221 G.711デコーダ
222、223 レベル判別部
224 AMRエンコーダ
225 AMRデコーダ
228 G.711エンコーダ
250 第2のパケット受信部
251 第3のパケット受信部
252 画像デコーダ
255 オーディオデコーダ
256 画面表示部
257 操作信号生成部
258 パケット送信部
260 第1のパケット送受信部
261 ビットレート制御部
262 AMRデコーダ
263 AMRエンコーダ
111 電話帳
130 クラウド網
150 モバイルネットワーク
151 固定網
170 携帯端末
171 クライアントソフトウェア
175 端末
176 第2のパケット送信部
177 第3のパケット送信部
180 画面キャプチャ部
183 帯域推定・レート算出部
185 音声変換部
186 パケット送受信部
187 第1のパケット送受信部
188 画像エンコーダ部
189 オーディオエンコーダ部
190 SGSN/GGSN装置
194 基地局装置
195 RNC装置
196 MGM装置
211 仮想クライアント部
212 制御部
213 画面生成部
214 音声通話VoIPアプリケーションソフト
220_1、220_2 トランスコーディング/スルー切り替え部
221 G.711デコーダ
222、223 レベル判別部
224 AMRエンコーダ
225 AMRデコーダ
228 G.711エンコーダ
250 第2のパケット受信部
251 第3のパケット受信部
252 画像デコーダ
255 オーディオデコーダ
256 画面表示部
257 操作信号生成部
258 パケット送信部
260 第1のパケット送受信部
261 ビットレート制御部
262 AMRデコーダ
263 AMRエンコーダ
Claims (10)
- 複数の端末と、
ネットワークを介して前記複数の端末に接続されるサーバ装置と、
を備え、
前記複数の端末は、
音声コーデックが異なる第1、第2の端末を含み、
前記サーバ装置は、
前記ネットワークの帯域を推定し、前記第1及び/又は第2の端末の音声コーデックのビットレートを求め、求めたビットレートを前記第1及び/又は第2の端末に通知し、
前記第1又は第2の端末の音声コーデックによる符号を受け、前記符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記符号を復号した信号を、前記符号の送信先である前記第2又は第1の端末の音声コーデック対応の符号化方式にて前記求めたビットレートで符号化するトランスコード処理を行い、前記トランスコード処理した符号を、前記第2又は第1の端末に向けて送信する手段を備えた、ことを特徴とする通信システム。 - 前記サーバ装置は、前記ネットワークを介して前記端末に接続し、前記端末での操作により、仮想クライアント部でアプリケーションを動作させて得た画面情報を前記端末に転送し、前記端末で表示させ、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示に基づき、トランスコーディングを行うか、又はトランスコーディングせずにそのまま通過させ、通話先に出力する音声変換部と、
前記サーバ装置からの所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記第1の端末と、前記第2の端末とが前記サーバ装置を介して音声通話する場合に、前記サーバ装置において、前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、
前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、前記トランスコーディング後の信号を前記第1の端末に向けて出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコードし、前記トランスコード後の符号を前記第2の端末に向けて出力する、ことを特徴とする請求項1記載の通信システム。 - 前記サーバ装置において、
前記音声変換部は、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコーダと、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコーダと、
第1のエンコーダと、
第2のエンコーダと、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が、予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコーダに対して、前記第1のデコーダの出力を符号化するように指示する第1の判別部と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た前記ゲインを時間方向に平滑化し、前記平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコーダに対して、前記第2のデコーダの出力を符号化するように指示する第2の判別部と、
を備え、
前記第1のエンコーダは、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコーダは、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力し、
前記帯域推定レート算出部は、前記第1の端末の前記音声コーデックと前記第2の端末の前記音声コーデックに対する上りと下りのビットレートを算出し、それぞれ、前記第1の端末と前記第2の端末に通知し、さらに、前記上りと下りのビットレートを前記音声変換部に出力し、
前記音声変換部において、前記第1及び第2のエンコーダの符号化のビットレートは、前記帯域推定レート算出部からそれぞれ出力されたビットレートに従う、ことを特徴とする請求項2記載の通信システム。 - 前記制御部は、
(A)前記操作信号を解析し、音声通話の起動操作の場合には、音声通話アプリケーションを起動し、
(B)音声通話アプリケーションから、前記第1の端末のユーザが選択した、相手先電話番号を取得し、前記相手先電話番号から、相手先のアドレスを求め、
(C)前記第1の端末から受信したメッセージに前記相手先アドレスを設定し、
(D)前記帯域推定レート算出部に対して、前記第1の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域を推定するよう指示し、
(E)前記第2の端末に接続しているネットワークに対する、上り方向の帯域及び下り方向の帯域も推定するよう指示し、
(F)前記第2の端末の音声コーデックである第1の音声コーデック、前記第1の端末の音声コーデックである第2の音声コーデックに関する能力情報をチェックし、第1及び第2の音声コーデックが同一であるか、異なるものであるかを判定し、
(G)前記音声変換部に対して、前記第1の音声コーデックのビットストリームの前記第2の音声コーデックのビットストリームへの変換、及び、前記第2の音声コーデックのビットストリームの前記第1の音声コーデックのビットストリームへの変換を、指示する、ことを特徴とする請求項2又は3に記載の通信システム。 - 前記帯域推定レート算出部は、前記第1、第2の端末の各端末からの応答信号に含まれる情報から、
前記各端末が接続するネットワークの下り方向の帯域Wを、前記サーバ装置が前記各端末に向けて送出したj番目(jは所定の正整数)のパケットのデータサイズD(j)を、前記各端末で前記j番目、(j-1)番目のパケット受信したときの受信時刻R(j)、R(j-1)の差分R(j)-R(j-1)で除算することで求め、
前記帯域推定値Wを、時間的に平滑化し、平滑化後の第n時刻の帯域推定値BW(n)を求め、
前記各端末からの前記応答信号に、前記各端末が送出した上り方向のデータサイズを含め、
前記各端末が接続するネットワークの上り方向の帯域W’を、m番目(mは所定の正整数)のデータサイズP(m)を、前記サーバ装置でm番目、(m-1)番目の前記応答信号を受信した受信時刻T(m)、T(m-1)の差分T(m)-T(m-1)で除算することで求め、
前記W’を時間方向で平滑化して、平滑化後の第n時刻の帯域推定値BW’(n)を上り方向の帯域推定値とし、
下り方向の第n時刻でのビットレートC(n)を以下の式
C(n)=(1-γ)×C(n-1)+γ×BW(n)
C(n)≦BW(n)
(ただし、γは0<γ<1の範囲の定数)
に基づき、求め、
上り方向の第n時刻でのビットレートC’(n)を以下の式、
C’(n)=(1-γ)×C’(n-1)+γ×BW’(n)
C’(n)≦BW’(n)
に基づき求める、ことを特徴とする請求項2又は3記載の通信システム。 - 音声コーデックが互いに異なる第1、第2の端末にネットワークを介して接続するサーバ装置であって、
前記ネットワークの帯域を推定し、前記第1及び/又は第2の端末の音声コーデックのビットレートを求め、求めたビットレートを前記第1及び/又は第2の端末に通知し、
前記第1又は第2の端末の音声コーデックによる符号を受け、前記符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記符号を復号した信号を、前記符号の送信先である前記第2又は第1の端末の音声コーデック対応の符号化方式にて前記求めたビットレートで符号化するトランスコード処理を行い、前記トランスコード処理した符号を、前記第2又は第1の端末に向けて送信する手段を備えた、ことを特徴とするサーバ装置。 - ネットワークを介して端末に接続し、前記端末からの操作信号を受信し、前記端末及び他の端末と信号を送受する送受信部と、
前記端末から受信した操作信号に基づき前記操作が音声通話であるか否かを判別する制御部と、
前記制御部で音声通話と判別された場合に、前記端末から送出される音声データが格納されたパケットを、前記制御部の指示により、トランスコーディングするか、又はトランスコーディングせずにパケットをそのまま通過させて通話先に出力する音声変換部と、
所定のパケットの送出に対する前記端末からの応答信号を基に、前記ネットワークの帯域を推定し、音声コーデックのビットレートを算出し、前記ビットレートを前記端末に通知する帯域推定レート算出部と、
を備え、
前記端末が少なくとも第1の端末を含み、
前記他の端末が前記第1の端末の音声コーデックと異なる音声コーデックを備えた第2の端末を含み、
前記第1の端末と前記第2の端末とが前記サーバ装置を介して音声通話するとき、前記制御部の指示に基づき、前記音声変換部は、トランスコーディングを行い、その際、
前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末向けに出力し、
前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末向けに出力する、ことを特徴とする請求項6記載のサーバ装置。 - 前記音声変換部において、
前記第2の端末の音声コーデックによるビットストリームを復号する第1のデコーダと、
前記第1の端末の音声コーデックによるビットストリームを復号する第2のデコーダと、
第1のエンコーダと、
第2のエンコーダと、
前記第2の端末の音声コーデックによるビットストリームの一部を抽出し抽出した信号が予め定められた時間区間にわたり平滑化又は平均化処理し処理結果が予め定められた閾値以上であるという条件を満たす前記時間区間について、前記第1のエンコーダに対して、前記第1のデコーダの出力を符号化するように指示する第1の判別部と、
前記第1の端末の音声コーデックによるビットストリームからゲインを表す部分を抽出し、抽出した符号からゲインを復号し、予め定められた時間区間毎に得た復号したゲインを時間方向に平滑化し、平滑化したゲインが予め定められた閾値以上であるという条件を満たす場合に、前記第2のエンコーダに対して、前記第2のデコーダの出力を符号化するように指示する第2の判別部と、
を備え、
前記第1のエンコーダは、前記第1のデコーダで復号された信号を、前記第1の判別部から符号化の指示のある時間区間について、前記第1の端末の音声コーデックの符号化方式で符号化して前記第1の端末向けに出力し、符号化の指示のない時間区間では、符号化せず、出力も行わず、
前記第2のエンコーダは、前記第2のデコーダで復号された信号を、前記第2の判別部から符号化の指示のある時間区間について、前記第2の端末の音声コーデックの符号化方式で符号化して、前記第2の端末向けに出力し、符号化の指示のない時間区間では符号化せず、出力も行わず、
前記制御部からの指示に基づき、前記第1の端末と前記第2の端末の音声コーデックが同一である場合には、前記第2の端末の音声コーデックによるビットストリームを前記第1の端末向けにそのまま出力し、前記第1の端末の音声コーデックによるビットストリームを前記第2の端末向けにそのまま出力する、ことを特徴とする請求項7記載のサーバ装置。 - 第1の端末と第2の端末とがそれぞれネットワークを介して接続されるサーバ装置を介して音声通話し、
前記サーバ装置では、前記サーバ装置からの所定のパケットの送出に対する前記第1、第2の端末からの応答信号を基に、前記ネットワークの帯域を推定し、前記端末の音声コーデックのビットレートを算出し、前記ビットレートを前記第1、第2の端末に通知し、
前記サーバ装置では、前記第1の端末と前記第2の端末の音声コーデックが同一であるか否か判別し、同一である場合には、前記第1、第2の端末の音声コーデックによるビットストリームをそれぞれ前記第2、第1の端末向けにそのまま出力し、
前記第1の端末と前記第2の端末の音声コーデックが互いに異なる場合には、サーバ装置にてトランスコーディングを行い、
その際、前記第2の端末の音声コーデックによる符号の一部が、予め定められた条件を満たす時間区間について、前記第2の端末の音声コーデックから、前記第1の端末の音声コーデックにトランスコーディングし、トランスコーディング後の信号を前記第1の端末に向けて出力し、前記第1の端末の前記音声コーデックによる符号の一部から求めた信号が予め定められた条件を満たす時間区間について、前記第1の端末の音声コーデックから前記第2の端末の音声コーデックにトランスコーディングし、トランスコード後の符号を前記第2の端末に向けて出力する、ことを特徴とする通信方法。 - ネットワークを介して請求項6乃至8のいずれか1項に記載のサーバ装置に接続し、他の端末と、前記サーバ装置を介して音声通話する音声コーデックを備えた端末。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012208663 | 2012-09-21 | ||
| JP2012-208663 | 2012-09-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014046239A1 true WO2014046239A1 (ja) | 2014-03-27 |
Family
ID=50341540
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/075469 Ceased WO2014046239A1 (ja) | 2012-09-21 | 2013-09-20 | 通信システムと方法とサーバ装置及び端末 |
Country Status (2)
| Country | Link |
|---|---|
| TW (1) | TW201421963A (ja) |
| WO (1) | WO2014046239A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003158534A (ja) * | 2001-11-21 | 2003-05-30 | Ntt Comware Corp | シンクライアントサーバ、呼接続方法、そのプログラム及びそのプログラムが記録された記録媒体 |
| JP2005039724A (ja) * | 2003-07-18 | 2005-02-10 | Motorola Inc | 通信制御方法及び通信制御装置 |
| WO2011055721A1 (ja) * | 2009-11-04 | 2011-05-12 | 日本電気株式会社 | ゲートウェイ装置、携帯端末、携帯通信方法及びプログラム |
-
2013
- 2013-08-28 TW TW102130749A patent/TW201421963A/zh unknown
- 2013-09-20 WO PCT/JP2013/075469 patent/WO2014046239A1/ja not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003158534A (ja) * | 2001-11-21 | 2003-05-30 | Ntt Comware Corp | シンクライアントサーバ、呼接続方法、そのプログラム及びそのプログラムが記録された記録媒体 |
| JP2005039724A (ja) * | 2003-07-18 | 2005-02-10 | Motorola Inc | 通信制御方法及び通信制御装置 |
| WO2011055721A1 (ja) * | 2009-11-04 | 2011-05-12 | 日本電気株式会社 | ゲートウェイ装置、携帯端末、携帯通信方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201421963A (zh) | 2014-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4645856B2 (ja) | パケット交換網−回線交換網間のメディア通信におけるプロトコル変換システム | |
| KR101479393B1 (ko) | 대역 내 신호들을 이용한 코덱 전개 | |
| JP5943082B2 (ja) | リモート通信システム、サーバ装置、リモート通信方法、および、プログラム | |
| US9826072B1 (en) | Network-terminal interoperation using compatible payloads | |
| CN110089092A (zh) | 辅助终端互操作的网络核心 | |
| US8359620B2 (en) | Set-top box for wideband IP telephony service and method for providing wideband IP telephony service using set-top box | |
| CN107852479A (zh) | 在视频电话中切换显示装置 | |
| TWI519104B (zh) | 聲音資訊傳送方法以及封包通信系統 | |
| KR101709244B1 (ko) | 통신 시스템과 방법과 프로그램 | |
| CN107079132A (zh) | 在视频电话中的端口重配置之后馈送经帧内译码的视频帧 | |
| WO2010035787A1 (ja) | ゲートウェイ装置と方法とシステム並びにプログラム | |
| JP5858164B2 (ja) | 通信システム、サーバ装置、サーバ装置の制御方法及びプログラム | |
| WO2021017807A1 (zh) | 通话连接建立方法和第一终端、服务器及存储介质 | |
| WO2014046239A1 (ja) | 通信システムと方法とサーバ装置及び端末 | |
| JP4120440B2 (ja) | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム | |
| JPWO2010035791A1 (ja) | ゲートウェイ装置と方法とシステム並びに端末 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13839675 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: 13839675 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |