WO2018135364A1 - 通信装置、生成データサイズ制御方法及びプログラム - Google Patents

通信装置、生成データサイズ制御方法及びプログラム Download PDF

Info

Publication number
WO2018135364A1
WO2018135364A1 PCT/JP2018/000438 JP2018000438W WO2018135364A1 WO 2018135364 A1 WO2018135364 A1 WO 2018135364A1 JP 2018000438 W JP2018000438 W JP 2018000438W WO 2018135364 A1 WO2018135364 A1 WO 2018135364A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
unit
data
time
value
Prior art date
Application number
PCT/JP2018/000438
Other languages
English (en)
French (fr)
Inventor
正和 谷川
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to EP18741620.1A priority Critical patent/EP3573282B1/en
Priority to JP2018563287A priority patent/JP6679761B2/ja
Priority to CN201880006604.3A priority patent/CN110169007B/zh
Priority to US16/466,151 priority patent/US10855435B2/en
Publication of WO2018135364A1 publication Critical patent/WO2018135364A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1469Two-way operation using the same type of signal, i.e. duplex using time-sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information

Definitions

  • the present invention relates to a communication device, a generated data size control method, and a program.
  • HMDs head mounted displays
  • an entertainment device that executes a program such as a game program, and that receive and display video generated by the entertainment device.
  • some HMDs change the displayed video according to the movement of the user's head.
  • Such an HMD includes, for example, a motion sensor and a camera, generates sensing data such as data indicating the detection result of the motion sensor and an image taken by the camera, and transmits the generated sensing data to the entertainment apparatus.
  • the entertainment device that has received the sensing data generates a video based on the sensing data and transmits the video to the HMD.
  • the HMD displays the received video, so that the user can appreciate the video that changes according to the movement of the head.
  • the communication path between the entertainment device and the HMD includes a communication path by half-duplex wireless communication in accordance with a standard such as Wi-fi (registered trademark), for example.
  • a standard such as Wi-fi (registered trademark)
  • data is transmitted from a transmitting device (hereinafter referred to as a communication device) to a receiving device (hereinafter referred to as a communication partner device), and data is transmitted from the communication partner device to the communication device.
  • a communication partner device a transmitting device
  • a communication partner device receives signals from the communication partner device.
  • transmission of video data from the entertainment device to the HMD and transmission of sensing data from the HMD to the entertainment device are alternately performed.
  • the data used in the communication partner device such as the data constituting the video generated by the entertainment device
  • the data used in the communication partner device is as high as possible.
  • the displayed video has as high a picture quality as possible. Therefore, it is desirable that the size of data generated per unit time, such as data constituting video generated by an entertainment device, be as large as possible.
  • the time required for one round-trip communication is given even if the size of data generated per unit time is reduced. It is important to approach the target time.
  • One of the objects of the present invention is to provide a communication device, a generated data size control method, and a program capable of bringing the time required for one round-trip communication in half-duplex wireless communication closer to a given target time.
  • a communication apparatus is a communication apparatus that performs half-duplex wireless communication with a communication partner apparatus, and transmits data generated by a data generation unit to the communication partner apparatus.
  • the time required for one round-trip communication by half-duplex wireless communication between the communication unit, the reception unit that receives data transmitted from the communication partner device, and the communication device and the communication partner device Based on the specified time, the specified time, the size of data communicated with the communication partner device in the one-way communication, and a given target time for one-way communication, A generation control unit that controls a size of data generated by the data generation unit per unit time.
  • the reception unit receives sensing data transmitted from the communication counterpart device, the data generation unit generates video data, and the generation control unit stores the video data. Control quality.
  • the specified time, the size of data communicated with the communication partner device in the one-way communication, and a given target time for one-way communication Based on the bit rate to be determined, further including a bit rate determining unit that determines a bit rate that the communication device can transmit to the communication partner device in a subsequent round-trip communication.
  • the data generation unit controls the size of data generated per unit time.
  • the transmission unit transmits per unit time in the subsequent one-round communication when the bit rate that the communication apparatus can transmit to the communication partner apparatus falls below a threshold in the one-round communication.
  • An instruction to reduce the data size may be transmitted to the communication partner apparatus.
  • the threshold value may be a value corresponding to a distance between the communication device and the communication partner device or a direction of the communication partner device with respect to the communication device.
  • Another communication apparatus is a communication apparatus that performs half-duplex wireless communication with a communication partner apparatus, and a reception unit that receives data generated by a data generation unit from the communication partner apparatus;
  • a transmission unit that transmits data to the communication partner device, and the communication partner device takes one round-trip communication by half-duplex wireless communication between the communication device and the communication partner device.
  • a generation control unit that controls a size of data generated by the data generation unit per unit time.
  • the generated data size control method includes a step of transmitting data generated by a data generation unit to a communication partner device, a step of receiving data transmitted from the communication partner device, the communication device, A step of specifying a time required for one round-trip communication by half-duplex wireless communication with a communication partner device, and the communication between the communication partner device in the specified round-trip communication. Controlling the size of data generated by the data generation unit per unit time based on the size of the data and a given target time for one round-trip communication.
  • a program according to the present invention is provided between a communication device that transmits data generated by a data generation unit to a communication partner device by half-duplex wireless communication and the communication partner device that transmits data to the communication device.
  • FIG. 1 is a diagram showing an example of the overall configuration of an entertainment system 10 according to an embodiment of the present invention.
  • FIG. 2A is a diagram illustrating an example of the configuration of the head mounted display (HMD) 12 according to the present embodiment.
  • FIG. 2B is a diagram illustrating an example of the configuration of the entertainment apparatus 14 according to the present embodiment.
  • FIG. 2C is a diagram illustrating an example of the configuration of the relay device 16 according to the present embodiment.
  • the entertainment system 10 includes an HMD 12, an entertainment device 14, a relay device 16, a display 18, a camera microphone unit 20, and a controller 22.
  • the HMD 12 includes a processor 30, a storage unit 32, a communication unit 34, an input / output unit 36, a display unit 38, a sensor unit 40, an audio output unit 42, and a camera unit 44. included.
  • the processor 30 is a program control device such as a microprocessor that operates according to a program installed in the HMD 12, for example.
  • the HMD 12 may include a control circuit capable of implementing the processing executed by the processor 30 instead of the processor 30.
  • the storage unit 32 is, for example, a storage element such as a ROM or a RAM.
  • the storage unit 32 stores a program executed by the processor 30 and the like.
  • the communication unit 34 is a communication interface such as a wireless LAN module. In the present embodiment, as illustrated in FIG. 1, the communication unit 34 is disposed on the upper front side of the HMD 12.
  • the input / output unit 36 is an input / output port such as an HDMI (registered trademark) (High-Definition Multimedia Interface) port, a USB port, an AUX port, or the like.
  • HDMI registered trademark
  • AUX AUX port
  • the display unit 38 is a display such as a liquid crystal display or an organic EL display disposed on the front side of the HMD 12 and displays a video generated by the entertainment device 14.
  • the display unit 38 is housed in the housing of the HMD 12.
  • the display unit 38 may receive a video signal output from the entertainment device 14 and relayed by the relay device 16 and output a video represented by the video signal.
  • the display unit 38 according to the present embodiment can display a three-dimensional image by displaying a left-eye image and a right-eye image, for example.
  • the display unit 38 may not be able to display a three-dimensional image and can only display a two-dimensional image.
  • the sensor unit 40 is a sensor such as a motion sensor capable of detecting acceleration and angular velocity, for example.
  • the sensor unit 40 outputs detection results such as the rotation amount and movement amount of the HMD 12 to the processor 30 at a predetermined sampling rate.
  • the audio output unit 42 is a speaker arranged in the vicinity of the user's ear, such as a headphone or an earphone, for example, and outputs the audio represented by the audio data generated by the entertainment device 14.
  • the audio output unit 42 receives an audio signal output from the entertainment device 14 and relayed by the relay device 16, for example, and outputs the audio represented by the audio signal.
  • the camera unit 44 is a camera such as a digital camera, for example, and shoots a situation around the user wearing the HMD 12 at a predetermined frame rate. As shown in FIG. 1, two camera units 44 according to the present embodiment are arranged above the display unit 38 so that the front of the display unit 38 can be photographed. Therefore, the camera unit 44 according to the present embodiment can photograph the front of the user wearing the HMD 12.
  • the camera unit 44 according to the present embodiment is a stereo camera including a lens for taking a left-eye image and a lens for generating a right-eye image, for example.
  • the entertainment device 14 is a computer such as a game console, a DVD player, a Blu-ray (registered trademark) player, or the like.
  • the entertainment device 14 according to the present embodiment generates video and audio by, for example, executing a stored game program or reproducing content recorded on an optical disc. Then, the entertainment device 14 according to the present embodiment outputs a video signal representing the generated video and an audio signal representing the generated audio to the HMD 12 and the display 18 via the relay device 16.
  • the entertainment device 14 includes a processor 50, a storage unit 52, a communication unit 54, and an input / output unit 56, for example, as shown in FIG. 2B.
  • the processor 50 is a program control device such as a CPU that operates in accordance with a program installed in the entertainment device 14, for example.
  • the processor 50 according to the present embodiment also includes a GPU (Graphics Processing Unit) that draws an image in a frame buffer based on graphics commands and data supplied from the CPU.
  • the entertainment device 14 may include a control circuit capable of implementing processing executed by the processor 50 instead of the processor 50.
  • the storage unit 52 is, for example, a storage element such as a ROM or a RAM, a hard disk drive, or the like.
  • the storage unit 52 stores a program executed by the processor 50 and the like.
  • a frame buffer area in which an image is rendered by the GPU is secured.
  • the communication unit 54 is a communication interface such as a wireless LAN module.
  • the input / output unit 56 is an input / output port such as an HDMI port or a USB port.
  • the relay device 16 is a computer that relays video signals and audio signals output from the entertainment device 14 and outputs them to the HMD 12 and the display 18.
  • the relay device 16 includes a processor 60, a storage unit 62, a communication unit 64, and an input / output unit 66 as shown in FIG. 2C, for example.
  • the processor 60 is a program control device such as a CPU that operates according to a program installed in the relay device 16, for example.
  • the relay device 16 may include a control circuit capable of implementing the processing executed by the processor 60 instead of the processor 60.
  • the storage unit 62 is a storage element such as a ROM or a RAM.
  • the storage unit 62 stores a program executed by the processor 60 and the like.
  • the communication unit 64 is a communication interface such as a wireless LAN module. In the present embodiment, as shown in FIG. 1, a communication unit 64 is included on the front side of the relay device 16.
  • the input / output unit 66 is an input / output port such as an HDMI port or a USB port.
  • the display 18 is, for example, a liquid crystal display, and displays a video or the like represented by a video signal output from the entertainment device 14.
  • the camera microphone unit 20 includes a camera 20a that outputs data representing the state of the periphery of the camera microphone unit 20, such as an image obtained by capturing a subject, to the entertainment device 14.
  • the camera 20a according to this embodiment is a stereo camera.
  • the camera microphone unit 20 according to the present embodiment includes a microphone 20b that acquires ambient sound, converts the sound into sound data, and outputs the sound data to the entertainment device 14.
  • the HMD 12 and the relay device 16 can mutually transmit and receive data by wireless communication, for example.
  • the entertainment device 14 and the relay device 16 are connected via, for example, an HDMI cable or a USB cable.
  • the relay device 16 and the display 18 are connected via, for example, an HDMI cable.
  • the entertainment apparatus 14 and the camera microphone unit 20 are connected via, for example, an AUX cable.
  • the controller 22 is an operation input device for performing operation input to the entertainment device 14.
  • the user can perform various operation inputs using the controller 22 by pressing a direction key or button provided in the controller 22 or tilting an operation stick.
  • the controller 22 outputs input data associated with the operation input to the entertainment device 14.
  • the controller 22 according to the present embodiment includes a USB port. And the controller 22 can output input data to the entertainment apparatus 14 with a wire by connecting with the entertainment apparatus 14 with a USB cable.
  • the controller 22 according to the present embodiment includes a wireless communication module and the like, and can output input data to the entertainment apparatus 14 wirelessly.
  • the entertainment device 14 executes a program such as a game program. And the entertainment apparatus 14 produces
  • the video data representing the video generated by the entertainment device 14 is transmitted from the entertainment device 14 to the HMD 12 via the relay device 16.
  • sensing data is generated in the HMD 12.
  • examples of the sensing data include data indicating the detection results of acceleration and angular velocity detected by the sensor unit 40, and images captured by the camera unit 44.
  • the sensing data generated by the HMD 12 is transmitted to the entertainment device 14 via the relay device 16.
  • the entertainment device 14 generates a video corresponding to the sensing data received from the HMD 12. For example, the entertainment device 14 changes the position and line-of-sight direction of the viewpoint arranged in the virtual space according to the sensing data received from the HMD 12. Then, the entertainment device 14 generates an image representing a state in which the changed line-of-sight direction is viewed from the changed viewpoint position, and transmits the generated image to the HMD 12.
  • the HMD 12 that has received the video causes the display unit 38 to display the video.
  • the video displayed on the display unit 38 changes according to the movement of the user's head.
  • half-duplex wireless communication is performed between the relay device 16 and the HMD 12, for example, according to a standard such as Wi-fi (registered trademark).
  • FIG. 3 is a diagram schematically illustrating an example of half-duplex wireless communication between the relay device 16 and the HMD 12.
  • transmission of video data from the relay device 16 to the HMD 12 and transmission of sensing data from the HMD 12 to the relay device 16 are performed alternately.
  • the relay device 16 transmits a header to the HMD 12, and transmits video data to the HMD 12 following the transmission of the header.
  • the HMD 12 transmits a header to the relay device 16 in response to the reception of the video data, and transmits sensing data to the relay device 16 following the transmission of the header.
  • data other than the above-described data such as control data may be communicated between the relay device 16 and the HMD 12.
  • the relay device 16 transmits the video data header until the sensing data header transmitted from the HMD 12 is received upon completion of the video data reception.
  • this time is expressed as time T_ph.
  • a predetermined target time for one round trip communication by half duplex wireless communication is set in advance.
  • the target time is expressed as time TargetTransferTime.
  • data used in the HMD 12 such as video data according to the present embodiment is as high as possible. Therefore, it is desirable that the size of data generated per unit time by the entertainment device 14 is as large as possible.
  • the round trip time is made closer to the time TargetTransferTime even if the size of the data generated per unit time is reduced. Is important. For example, it is important to shorten the latency of each frame image constituting the video displayed by the HMD 12.
  • the size of data generated by the entertainment device 14 per unit time is controlled as follows so that the time T_RT is as short as possible or less than the time TargetTransferTime.
  • the functions of the entertainment system 10 according to the present embodiment and the processing executed by the entertainment system 10 according to the present embodiment will be further described with a focus on controlling the size of data generated by the entertainment device 14 per unit time.
  • FIG. 4 is a functional block diagram showing an example of functions implemented by the HMD 12, the entertainment device 14, and the relay device 16 according to the present embodiment.
  • the entertainment system 10 according to the present embodiment, not all of the functions shown in FIG. 4 need be implemented, and functions other than the functions shown in FIG. 4 may be implemented.
  • the entertainment device 14 functionally includes, for example, a video data generation unit 70, a video data transmission unit 72, a generation control reception unit 74, and a sensing data reception unit 76.
  • the video data generation unit 70 is mainly implemented by the processor 50.
  • the video data transmission unit 72 is mainly implemented by the generation control reception unit 74 and the sensing data reception unit 76 by the input / output unit 56.
  • the above functions may be implemented by causing the processor 50 to execute a program that is installed in the entertainment device 14 that is a computer and that includes instructions corresponding to the above functions.
  • This program may be supplied to the entertainment apparatus 14 via a computer-readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, or a flash memory, or via the Internet.
  • the relay device 16 functionally includes, for example, a target time information storage unit 80, a video data reception unit 82, a video data buffer 84, a video data transmission unit 86, and sensing data.
  • a receiving unit 88, a sensing data transmitting unit 90, a required time specifying unit 92, a bit rate determining unit 94, a data size determining unit 96, and a generation control unit 98 are included.
  • the target time information storage unit 80 and the video data buffer 84 are mainly implemented by the storage unit 62.
  • the video data receiving unit 82 and the sensing data transmitting unit 90 are mainly mounted with the input / output unit 66.
  • the video data transmission unit 86 and the sensing data reception unit 88 are mainly implemented by the communication unit 64.
  • the required time specifying unit 92, the bit rate determining unit 94, and the data size determining unit 96 are mainly implemented by the processor 60.
  • the generation control unit 98 mainly includes the processor 60 and the input / output unit 66.
  • the above functions may be implemented by causing the processor 60 to execute a program that is installed in the relay device 16 that is a computer and that includes instructions corresponding to the above functions.
  • This program may be supplied to the relay device 16 via a computer-readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, or a flash memory, or via the Internet.
  • the HMD 12 functionally includes, for example, a video data receiving unit 100, a display control unit 102, a sensing data generating unit 104, a sensing data buffer 106, a sensing data transmitting unit 108, Is included.
  • the video data receiving unit 100 and the sensing data transmitting unit 108 are mainly mounted with the communication unit 34.
  • the display control unit 102 is mainly implemented by the processor 30 and the display unit 38.
  • the sensing data generation unit 104 mainly includes the processor 30, the sensor unit 40, and the camera unit 44.
  • the sensing data buffer 106 is mainly mounted with the storage unit 32.
  • the above functions may be implemented by causing the processor 30 to execute a program that is installed in the HMD 12 that is a computer and that includes instructions corresponding to the above functions.
  • This program may be supplied to the HMD 12 via a computer-readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, or a flash memory, or via the Internet.
  • the video data generation unit 70 generates video data representing a video displayed on the display unit 38 of the HMD 12, for example.
  • the video data transmission unit 72 transmits the video data generated by the video data generation unit 70 to the relay device 16.
  • the generation control receiving unit 74 receives generation control information transmitted by the relay device 16.
  • the generation control information is information indicating the size of data to be generated per unit time, for example.
  • the video data generation unit 70 is controlled to generate data of the size indicated by the generation control information per unit time.
  • the sensing data receiving unit 76 receives sensing data from the relay device 16 such as data indicating a detection result by the sensor unit 40 of the HMD 12 or an image taken by the camera unit 44, for example.
  • the video data generation unit 70 generates video data corresponding to the sensing data received by the sensing data reception unit 76.
  • the target time information storage unit 80 stores target time information in which the value of the target time TargetTransferTime described above is set.
  • the video data receiving unit 82 receives video data transmitted from the entertainment device 14, for example.
  • the video data buffer 84 stores video data received by the video data receiving unit 82.
  • the video data transmission unit 86 transmits the video data stored in the video data buffer 84 to the HMD 12.
  • the sensing data receiving unit 88 receives the above-described sensing data from the HMD 12, for example.
  • the sensing data transmitting unit 90 transmits sensing data received by the sensing data receiving unit 88 to the entertainment device 14, for example.
  • the required time specifying unit 92 determines the time T_RT required for the one-way communication in response to the completion of the one-way communication in the half-duplex wireless communication between the relay device 16 and the HMD 12. Is identified.
  • the bit rate determination unit 94 determines a bit rate that the relay device 16 can transmit to the HMD 12.
  • the bit rate is determined based on the specified time T_RT, the size of data communicated with the HMD 12 in one round-trip communication, and a given target time TargetTransferTime for one round-trip communication. May be.
  • the bit rate determination unit 94 may determine a bit rate that the HMD 12 can transmit to the relay device 16. Details of the bit rate determination method will be described later.
  • the bit rate value that can be transmitted to the HMD 12 by the relay device 16 is expressed as PayloadBitrate_PtoH.
  • the bit rate value that the HMD 12 can transmit to the relay device 16 is expressed as PayloadBitrate_HtoP.
  • the bit rate determining unit 94 may hold information indicating the maximum value and the minimum value of the bit rate that can be transmitted to the HMD 12 by the relay device 16 according to the specifications of the entertainment device 14 and the relay device 16, for example. Further, the bit rate determination unit 94 may hold information indicating the maximum value and the minimum value of the bit rate that can be transmitted to the relay device 16 by the HMD 12 according to the specifications of the HMD 12, for example.
  • the maximum value and the minimum value of the bit rate that can be transmitted to the HMD 12 by the relay device 16 are expressed as Tp_PtoH_ReqMax and Tp_PtoH_ReqMin, respectively. Further, the maximum value and the minimum value of the bit rate that the HMD 12 can transmit to the relay apparatus 16 are expressed as Tp_HtoP_ReqMax and Tp_HtoP_ReqMin, respectively.
  • the data size determination unit 96 determines the size of data that the relay device 16 transmits to the HMD 12 in one round-trip wireless communication performed with the HMD 12.
  • the size of data to be transmitted from the relay device 16 to the HMD 12 in the next round-trip wireless communication is determined. Also good.
  • the data size determination unit 96 may determine the size of data that the HMD 12 transmits to the relay device 16 in the subsequent one-way wireless communication.
  • the size of data transmitted from the relay device 16 to the HMD 12 in one round-trip wireless communication is expressed as TransSize_PtoH.
  • the size of data that the HMD 12 transmits to the relay device 16 in the subsequent one-way wireless communication is expressed as TransSize_HtoP.
  • the data size determination unit 96 holds information in which the size value TransSize_PtoH of the data transmitted from the relay device 16 to the HMD 12 in one round-trip wireless communication is determined as described above. To do. In the present embodiment, the data size determination unit 96 also determines, for example, information in which the size value TransSize_HtoP of the data that the HMD 12 transmits to the relay device 16 in the subsequent one-way wireless communication is determined as described above. May be held.
  • the generation control unit 98 controls the size of data generated by the video data generation unit 70 per unit time, for example.
  • the size may be determined based on the time T_RT, the size of data communicated with the HMD 12 in one round-trip communication, and a given target time TargetTransferTime for one round-trip communication.
  • the size may be determined according to the bit rate determined by the bit rate determination unit 94.
  • the generation control unit 98 may control the video data generation unit 70 so as to generate data having a size corresponding to the determined bit rate per unit time.
  • the generation control unit 98 may transmit generation control information indicating the size to the entertainment device 14.
  • the generation control unit 98 may control quality such as resolution and compression rate of video data generated by the video data generation unit 70 according to the bit rate determined by the bit rate determination unit 94.
  • the accuracy of the sensing data transmitted from the HMD 12 to the relay device 16 is reduced in one round-trip communication, the accuracy of the sensing data is deteriorated. Therefore, it is not desirable to reduce the size of the sensing data.
  • the quality of the displayed video data is lowered, it does not matter so much. Therefore, when the bit rate at which the relay device 16 can transmit to the HMD 12 is lowered, if the quality such as the compression rate and resolution of the generated video is lowered to prevent the occurrence of latency, the accuracy of the sensing data is improved. It can be secured.
  • the video data receiving unit 100 receives video data transmitted from the relay device 16.
  • the display control unit 102 displays the video represented by the video data received by the video data receiving unit 100.
  • the sensing data generation unit 104 generates sensing data such as data indicating a detection result by the sensor unit 40 of the HMD 12 or an image taken by the camera unit 44, for example.
  • the sensing data buffer 106 stores sensing data generated by the sensing data generation unit 104, for example.
  • the sensing data transmission unit 108 transmits the sensing data stored in the sensing data buffer 106 to the relay device 16.
  • the first processing example illustrated in FIG. 5 is, for example, when the modulation and coding scheme in data transmission from the relay device 16 to the HMD 12 is the same as the modulation and coding scheme in data transmission from the HMD 12 to the relay device 16.
  • the value PayloadBitrate_HtoP set in the information held by the bit rate determining unit 94 is a fixed value Tp_HtoP_ReqConst.
  • the following processing loop shown in S101 to S110 is repeatedly executed. Further, it is assumed that the processing shown in S101 to S110 is executed once in response to one round-trip communication between the relay device 16 and the HMD 12.
  • the video data transmission unit 86 specifies the value TransSize_PtoH set in the information held by the data size determination unit 96 (S101).
  • the video data transmission unit 86 acquires the video data having the size indicated by the value specified in the process shown in S101 from the video data buffer 84 and transmits it to the HMD 12 (S102).
  • the sensing data receiving unit 88 receives the sensing data transmitted by the HMD 12 in response to the reception of the video data transmitted in the process shown in S102 (S103).
  • the required time specifying unit 92 specifies the time T_RT illustrated in FIG. 3 (S104).
  • the bit rate determining unit 94 calculates a data transmission amount (throughput) value Tp_RT per unit time (S105).
  • Tp_RT is calculated by multiplying the sum of the value TransSize_PtoH and the value TransSize_HtoP by 8 and dividing by the time T_RT specified in the process shown in S104.
  • the unit of the value TransSize_PtoH and the value TransSize_HtoP is a byte
  • the unit of the value Tp_RT is a bit. Therefore, in the process shown in S105, a process of multiplying 8 is performed to convert the byte into a bit.
  • the bit rate determining unit 94 calculates a partial throughput value Tp_PtoH corresponding to data transmission from the relay apparatus 16 to the HMD 12 by subtracting the value Tp_HtoP_ReqMax from the value Tp_RT calculated in the process shown in S105 (S106).
  • the bit rate determination unit 94 determines the above-described value PayloadBitrate_PtoH based on the value Tp_PtoH calculated in the process shown in S106 (S107).
  • a value obtained as a result of performing the clipping process on the value Tp_PtoH specified to fall within the range from the value Tp_PtoH_ReqMin to the value Tp_PtoH_ReqMax is determined as the value PayloadBitrate_PtoH.
  • the value Tp_PtoH_ReqMin is determined as the value PayloadBitrate_PtoH.
  • the value Tp_PtoH_ReqMax is determined as the value PayloadBitrate_PtoH.
  • the difference between the value Tp_PtoH and the value Tp_PtoH_ReqMax corresponds to a margin for absorbing jitter.
  • the value Tp_PtoH is not less than the value Tp_PtoH_ReqMin and not more than the value Tp_PtoH_ReqMax, the value Tp_PtoH is determined as the value PayloadBitrate_PtoH.
  • the bit rate determination unit 94 corrects the value PayloadBitrate_PtoH by performing a filtering process on the value PayloadBitrate_PtoH determined in the process shown in S107 (S108). For example, when the wireless communication environment changes and the throughput decreases, search processing for an optimum communication path is executed by beam forming, and the throughput may change in a short time. In order to deal with such a situation, for example, for the value PayloadBitrate_PtoH, a value obtained by multiplying the difference between the value determined in the previous loop and the value determined in the current loop by a coefficient of 1 or less is determined in the previous loop. You may correct by adding to the value. This coefficient may be determined based on, for example, the performance of the search process for the communication path and the responsiveness of the video data generation unit 70. Further, for example, the filtering process may be executed only when the value PayloadBitrate_PtoH decreases.
  • the data size determination unit 96 calculates a value TransSize_PtoH based on the value PayloadBitrate_PtoH corrected in the process shown in S108 (S109).
  • the value TransSize_PtoH may be calculated by multiplying the value PayloadBitrate_PtoH by the value TargetTransferTime indicated by the target time information stored in the target time information storage unit 80 and dividing the result by 8.
  • a process of dividing by 8 is performed to convert the bit into a byte.
  • the value TransSize_PtoH held by the data size determination unit 96 is updated to the value calculated in the process shown in S109.
  • the generation control unit 98 transmits generation control information indicating the value PayloadBitrate_PtoH corrected in the process shown in S108 to the entertainment device 14 (S110), and returns to the process shown in S101.
  • the generation control receiving unit 74 receives the generation control information, and the video data generation unit 70 generates data having a size corresponding to the value PayloadBitrate_PtoH per unit time (for example, per second).
  • the bit rate value PayloadBitrate_PtoH that can be transmitted to the HMD 12 by the relay device 16 in one round-trip communication after one round-trip communication associated with the loop is set. It is determined.
  • the filtering process shown in S108 described above may not be executed.
  • the value TransSize_PtoH is calculated based on the value PayloadBitrate_PtoH determined in the process shown in S107.
  • the video data transmission unit 86 may transmit a header of video data including data indicating a value PayloadBitrate_HtoP which is a fixed value Tp_HtoP_ReqConst to the HMD 12.
  • the HMD 12 may generate data having a size corresponding to the value PayloadBitrate_HtoP per unit time (for example, per second). For example, the size of sensing data generated per unit time may be controlled.
  • FIG. 6 is a flowchart illustrating a second example of the flow of control processing of the size of video data generated per unit time in the entertainment device 14 performed by the relay device 16 according to the present embodiment.
  • the description will be given with reference.
  • the second processing example illustrated in FIG. 6 unlike the first processing example, an estimation result of the time required for data transmission from the relay device 16 to the HMD 12 in one round-trip communication is used.
  • the following processing loop shown in S201 to S212 is repeatedly executed. Further, it is assumed that the processing shown in S201 to S212 is executed once in response to one round-trip communication between the relay device 16 and the HMD 12.
  • the video data transmission unit 86 specifies the value TransSize_PtoH and the value TransSize_HtoP set in the information held by the data size determination unit 96 (S201).
  • the video data transmission unit 86 acquires the video data having the size indicated by the value specified in the process shown in S201 from the video data buffer 84 and transmits it to the HMD 12 (S202).
  • the video data transmission unit 86 transmits a header of video data including data indicating the value PayloadBitrate_HtoP to the HMD 12.
  • the HMD 12 that has received this data generates data having a size corresponding to the value PayloadBitrate_HtoP per unit time (for example, per second). For example, the size of sensing data generated per unit time is controlled.
  • the sensing data receiving unit 88 receives the sensing data transmitted from the HMD 12 in response to the transmission of the video data (S203).
  • the required time specifying unit 92 specifies time T_RT and time T_ph illustrated in FIG. 3 (S204).
  • the required time specifying unit 92 calculates a time T_hp that roughly corresponds to the time taken to transmit the sensing data from the HMD 12 to the relay device 16 by subtracting the time T_ph from the time T_RT specified in the process shown in S204. (S205).
  • the bit rate determining unit 94 calculates the value Tp_ph of the data transmission amount (throughput) per unit time by multiplying the value TransSize_PtoH by 8 and dividing by the time T_ph specified in the process shown in S204 (S206).
  • the unit of the value TransSize_PtoH is a byte
  • the unit of the value Tp_ph is a bit. Therefore, in the process shown in S105, a process of multiplying 8 is performed to convert the byte into a bit.
  • the bit rate determination unit 94 calculates a time new_time_ph that can be allocated to data transmission from the relay device 16 to the HMD 12 (S207).
  • a value obtained by subtracting the time T_hp calculated in the processing shown in S205 from the target time information value TargetTransferTime stored in the target time information storage unit 80 and further subtracting a constant for absorbing jitter is calculated as the time new_time_ph.
  • the constant may be, for example, a constant corresponding to 5 to 10% of the value TargetTransferTime.
  • the bit rate determination unit 94 specifies a partial throughput value new_tp_ph corresponding to data transmission from the relay device 16 to the HMD 12 (S208).
  • a value new_tp_ph is specified as a value new_tp_ph obtained by multiplying the time new_time_ph calculated in the process shown in S207 by the value Tp_ph calculated in the process shown in S206 and dividing by the value TargetTransferTime.
  • bit rate determination unit 94 determines values PayloadBitrate_PtoH and PayloadBitrate_HtoP based on the value new_tp_ph specified in the process shown in S208 (S209).
  • the value new_tp_ph is equal to or greater than a threshold value Tp_PtoH_LowThreshold used to determine a tendency to deteriorate the communication environment.
  • the value obtained as a result of performing the clipping process so as to be within the range from the value Tp_PtoH_ReqMin holding the specified value new_tp_ph to the value Tp_PtoH_ReqMax is determined as the value PayloadBitrate_PtoH.
  • the value Tp_HtoP_ReqMax is determined as the value PayloadBitrate_HtoP.
  • the threshold value Tp_PtoH_LowThreshold may be determined in a range not less than the value Tp_PtoH_ReqMin and not more than the value Tp_PtoH_ReqMax.
  • the value new_tp_ph is smaller than the threshold value Tp_PtoH_LowThreshold.
  • a value obtained by subtracting the value new_tp_ph from the threshold Tp_PtoH_LowThreshold is calculated as the value delta_tp_ph.
  • a value obtained by subtracting the value delta_tp_ph from the value Tp_HtoP_ReqMax is calculated as a value new_tp_hp.
  • the value new_tp_hp is changed to the value Tp_HtoP_ReqMin.
  • the value new_tp_hp is determined as the value PayloadBitrate_HtoP. Then, the value Tp_PtoH_ReqMin is determined as the value PayloadBitrate_PtoH. In this way, when the value new_tp_ph corresponding to the bit rate that the relay device 16 can transmit to the HMD 12 in one round-trip communication falls below the threshold value Tp_PtoH_LowThreshold, the HMD 12 transmits per unit time in the next round-trip communication. Data size will be reduced.
  • the threshold value Tp_PtoH_LowThreshold may be a value according to the distance between the relay device 16 and the HMD 12 or the direction of the HMD 12 with respect to the relay device 16.
  • the bit rate determination unit 94 specifies the distance between the relay device 16 and the HMD 12 or the direction of the HMD 12 with respect to the relay device 16 based on the value of the sensing data received by the sensing data reception unit 76. May be. Then, the bit rate determination unit 94 may determine the threshold value Tp_PtoH_LowThreshold based on the specified distance or direction.
  • a value obtained by dividing the sum of the value Tp_PtoH_ReqMax and the value Tp_PtoH_ReqMin by 2 may be the reference value of the threshold Tp_PtoH_LowThreshold.
  • the threshold value Tp_PtoH_LowThreshold may be determined such that the larger the distance between the relay device 16 and the HMD 12 is, the larger the value is than the reference value. Further, the threshold value Tp_PtoH_LowThreshold may be determined so that the value becomes smaller than the reference value as the distance between the relay device 16 and the HMD 12 becomes shorter than the predetermined reference distance.
  • the threshold value Tp_PtoH_LowThreshold may be determined so that becomes larger. Further, the smaller the angle between the direction from the user wearing the HMD 12 toward the relay device 16 and the direction from the back of the user wearing the HMD 12 toward the frontal head becomes smaller than a predetermined reference angle, the value becomes smaller than the reference value. As described above, the threshold value Tp_PtoH_LowThreshold may be determined.
  • the bit rate determination unit 94 executes the same filtering process as the process shown in S108 (S210).
  • the value PayloadBitrate_PtoH is corrected by performing a filtering process on the value PayloadBitrate_PtoH determined in the process shown in S209.
  • the value PayloadBitrate_HtoP is corrected by performing a filtering process on the value PayloadBitrate_HtoP.
  • the data size determination unit 96 calculates the value TransSize_PtoH and the value TransSize_HtoP (S211).
  • the value TransSize_PtoH may be calculated by multiplying the corrected value PayloadBitrate_PtoH by the value TargetTransferTime indicated by the target time information stored in the target time information storage unit 80 and dividing by 8.
  • the value TransSize_HtoP may be calculated by multiplying the corrected value PayloadBitrate_HtoP by the value TargetTransferTime indicated by the target time information stored in the target time information storage unit 80 and dividing the result by 8.
  • a process of dividing by 8 is performed to convert the bit into a byte.
  • the value TransSize_PtoH and the value TransSize_PtoH held by the data size determination unit 96 are updated to the values calculated in the process shown in S211.
  • the generation control unit 98 transmits generation control information indicating the value PayloadBitrate_PtoH corrected in the process shown in S210 to the entertainment apparatus 14 (S212), and returns to the process shown in S201.
  • the generation control receiving unit 74 receives the generation control information, and the video data generation unit 70 generates data having a size corresponding to the value PayloadBitrate_PtoH per unit time (for example, per second).
  • the processes shown in S201 to S212 are repeatedly executed.
  • the video data transmission unit 86 transmits an instruction to the HMD 12 to reduce the size of data to be transmitted per unit time in the next round-trip communication.
  • the bit rate of data transmitted from the HMD 12 to the relay device 16 can be controlled by the relay device 16.
  • the filtering process shown in S210 described above may not be executed.
  • the value TransSize_PtoH is calculated based on the value PayloadBitrate_PtoH determined in the process shown in S209. Further, the value TransSize_HtoP is calculated based on the value PayloadBitrate_HtoP determined in the process shown in S209.
  • the video data generation unit 70 changes the quality such as the resolution and compression rate of the generated video in accordance with the change in the value indicated by the generation control information transmitted in the processing shown in S110 and S212. May be. For example, when the value indicated by the generation control information becomes small, the quality of the video generated by the video data generation unit 70 may be lowered.
  • the target time TargetTransferTime For example, 4 milliseconds is assumed as the value of the target time TargetTransferTime. For example, 125 kilobytes of video data is written into the video data buffer 84 every millisecond.
  • video data written in the video data buffer 84 at one time (here, 125 kilobytes of video data) is referred to as one block.
  • the video data transmission unit 86 desirably transmits video data of 4 blocks (here, for example, 500 kilobytes) every 4 milliseconds.
  • the sensing data transmission unit 104 preferably transmits 1 megabyte of sensing data every 4 milliseconds.
  • the video data transmission unit 86 may transmit the video data in units of one block having a predetermined size. For example, when the specified value TransSize_PtoH is 250 kilobytes, the video data transmission unit 86 may transmit video data of two blocks (here, for example, 250 kilobytes) in one round-trip communication. In this case, it is also possible to acquire two blocks in order from the latest one among the blocks written in the video data buffer 84 and transmit these two blocks.
  • some or all of the functions shown as functions of the entertainment device 14 in FIG. 4 in the above description may be implemented in the HMD 12 or the relay device 16.
  • some or all of the functions shown as functions of the relay device 16 in FIG. 4 may be implemented in the HMD 12 or the entertainment device 14.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Bidirectional Digital Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

半二重無線通信における一往復の通信にかかる時間を所与の目標時間に近づけることができる通信装置、生成データサイズ制御方法及びプログラムを提供する。映像データ送信部(86)は、映像データ生成部(70)が生成するデータをHMD(12)に送信する。センシングデータ受信部(88)は、HMD(12)から送信されるデータを受信する。所要時間特定部(92)は、中継装置(16)とHMD(12)との間での半二重無線通信による一往復の通信にかかった時間を特定する。生成制御部(98)は、特定される時間、一往復の通信においてHMD(12)との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、映像データ生成部(70)が単位時間あたりに生成するデータのサイズを制御する。

Description

通信装置、生成データサイズ制御方法及びプログラム
 本発明は、通信装置、生成データサイズ制御方法及びプログラムに関する。
 近年、頭部に装着して眼前に表示される映像を鑑賞できるヘッドマウントディスプレイ(HMD)が普及し始めている。このようなHMDのなかには、ゲームプログラム等のプログラムを実行するエンタテインメント装置と有線接続されており、エンタテインメント装置で生成される映像を受信して表示させるものが存在する。
 またこのようなHMDのなかにはユーザの頭部の動きに応じて表示される映像が変化するものがある。このようなHMDは例えばモーションセンサやカメラなどを備えており、モーションセンサの検出結果を示すデータやカメラが撮影する画像などといったセンシングデータを生成し、生成されたセンシングデータをエンタテインメント装置に送信する。センシングデータを受信したエンタテインメント装置は、当該センシングデータに基づいて映像を生成して、当該映像をHMDに送信する。そしてHMDは受信した映像を表示させることで、ユーザは頭部の動きに応じて変化する映像を鑑賞できることとなる。
 発明者らは、エンタテインメント装置とHMDとの間の通信経路に、例えばWi-fi(登録商標)等の規格に沿った半二重無線通信による通信経路が含まれるようにすることを検討している。半二重無線通信では送信側の装置(以下、通信装置と呼ぶ。)から受信側の装置(以下、通信相手装置と呼ぶ。)へのデータの送信と、通信相手装置から通信装置へのデータの送信と、が交互に行われる。上述の例では、エンタテインメント装置からHMDへの映像のデータの送信と、HMDからエンタテインメント装置へのセンシングデータの送信と、が交互に行われる。
 上述のエンタテインメント装置で生成される映像を構成するデータのような、通信相手装置において利用されるデータはできるだけ高品質であることが望ましい。例えば上述した用途で用いられるHMDにおいては、表示される映像ができるだけ高画質であることが望ましい。従って、エンタテインメント装置で生成される映像を構成するデータのような、単位時間あたりに生成されるデータのサイズはできるだけ大きいことが望ましい。
 一方で、上述のような即時性が求められる通信では、ユーザの違和感を低減するために、単位時間あたりに生成されるデータのサイズを小さくしてでも一往復の通信にかかる時間を所与の目標時間に近づけることが重要となる。
 本発明の目的の一つは、半二重無線通信における一往復の通信にかかる時間を所与の目標時間に近づけることができる通信装置、生成データサイズ制御方法及びプログラムを提供することにある。
 上記課題を解決するために、本発明に係る通信装置は、通信相手装置との間で半二重無線通信を行う通信装置であって、データ生成部が生成するデータを前記通信相手装置に送信する送信部と、前記通信相手装置から送信されるデータを受信する受信部と、前記通信装置と前記通信相手装置との間での半二重無線通信による一往復の通信にかかった時間を特定する時間特定部と、特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する生成制御部と、を含む。
 本発明の一態様では、前記受信部は、前記通信相手装置から送信されるセンシングデータを受信し、前記データ生成部は、映像のデータを生成し、前記生成制御部は、前記映像のデータの品質を制御する。
 また、本発明の一態様では、特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、後の一往復の通信において前記通信装置が前記通信相手装置に送信可能なビットレートを決定するビットレート決定部、をさらに含み、前記生成制御部は、決定される前記ビットレートに応じて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する。
 この態様では、前記送信部は、前記一往復の通信において前記通信装置が前記通信相手装置に送信可能なビットレートが閾値を下回った場合に、後の一往復の通信において単位時間あたりに送信するデータのサイズを減らす指示を前記通信相手装置に送信してもよい。
 さらに、前記閾値は、前記通信装置と前記通信相手装置との間の距離又は前記通信装置に対する前記通信相手装置の向きに応じた値であってもよい。
 また、本発明にかかる別の通信装置は、通信相手装置との間で半二重無線通信を行う通信装置であって、データ生成部が生成するデータを前記通信相手装置から受信する受信部と、前記通信相手装置にデータを送信する送信部と、を含み、前記通信相手装置は、前記通信装置と前記通信相手装置との間での半二重無線通信による一往復の通信にかかった時間を特定する時間特定部と、特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する生成制御部と、を含む。
 また、本発明に係る生成データサイズ制御方法は、データ生成部が生成するデータを通信相手装置に送信するステップと、前記通信相手装置から送信されるデータを受信するステップと、前記通信装置と前記通信相手装置との間での半二重無線通信による一往復の通信にかかった時間を特定するステップと、特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御するステップと、を含む。
 また、本発明に係るプログラムは、データ生成部が生成するデータを半二重無線通信により通信相手装置に送信する通信装置と、前記通信装置にデータを送信する前記通信相手装置と、の間での半二重無線通信による一往復の通信にかかった時間を特定する手順、特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する手順、をコンピュータに実行させる。
本発明の一実施形態に係るエンタテインメントシステムの全体構成の一例を示す図である。 本発明の一実施形態に係るヘッドマウントディスプレイの構成の一例を示す図である。 本発明の一実施形態に係るエンタテインメント装置の構成の一例を示す図である。 本発明の一実施形態に係る中継装置の構成の一例を示す図である。 中継装置とHMDとの間の半二重無線通信の様子の一例を模式的に示す図である。 本発明の一実施形態に係るヘッドマウントディスプレイ、エンタテインメント装置、及び、中継装置で実装される機能の一例を示す機能ブロック図である。 本発明の一実施形態に係る中継装置において行われる処理の流れの第1の例を示すフロー図である。 本発明の一実施形態に係る中継装置において行われる処理の流れの第2の例を示すフロー図である。
 以下、本発明の一実施形態について、図面を参照しながら説明する。
 図1は、本発明の一実施形態に係るエンタテインメントシステム10の全体構成の一例を示す図である。図2Aは、本実施形態に係るヘッドマウントディスプレイ(HMD)12の構成の一例を示す図である。図2Bは、本実施形態に係るエンタテインメント装置14の構成の一例を示す図である。図2Cは、本実施形態に係る中継装置16の構成の一例を示す図である。
 図1に示すように、本実施形態に係るエンタテインメントシステム10は、HMD12とエンタテインメント装置14と中継装置16とディスプレイ18とカメラマイクユニット20とコントローラ22とを含んでいる。
 本実施形態に係るHMD12には、例えば図2Aに示すように、プロセッサ30、記憶部32、通信部34、入出力部36、表示部38、センサ部40、音声出力部42、カメラ部44が含まれる。
 プロセッサ30は、例えばHMD12にインストールされるプログラムに従って動作するマイクロプロセッサ等のプログラム制御デバイスである。なお、HMD12に、プロセッサ30の代わりに、プロセッサ30によって実行される処理の実装が可能な制御回路が含まれるようにしてもよい。
 記憶部32は、例えばROMやRAM等の記憶素子などである。記憶部32には、プロセッサ30によって実行されるプログラムなどが記憶される。
 通信部34は、例えば無線LANモジュールなどの通信インタフェースである。本実施形態では図1に示すように、通信部34は、HMD12の前側上方に配置されている。
 入出力部36は、例えばHDMI(登録商標)(High-Definition Multimedia Interface)ポート、USBポート、AUXポートなどの入出力ポートである。
 表示部38は、HMD12の前側に配置されている、例えば液晶ディスプレイや有機ELディスプレイ等のディスプレイであり、エンタテインメント装置14が生成する映像などを表示させる。また表示部38は、HMD12の筐体に収容される。表示部38は、例えばエンタテインメント装置14が出力して中継装置16で中継される映像信号を受信して、当該映像信号が表す映像を出力するようにしてもよい。本実施形態に係る表示部38は、例えば左目用の画像と右目用の画像を表示することによって三次元画像を表示させることができるようになっている。なお表示部38は三次元画像の表示ができず二次元画像の表示のみができるものであっても構わない。
 センサ部40は、例えば加速度や角速度を検出可能なモーションセンサなどといったセンサである。センサ部40は、HMD12の回転量、移動量などの検出結果を所定のサンプリングレートで、プロセッサ30に出力する。
 音声出力部42は、例えばヘッドホンやイヤホン等の、ユーザの耳の近傍に配置されるスピーカであり、エンタテインメント装置14が生成する音声データが表す音声などを出力する。音声出力部42は、例えばエンタテインメント装置14が出力して中継装置16で中継される音声信号を受信して、当該音声信号が表す音声を出力する。
 カメラ部44は、例えばデジタルカメラなどのカメラであり、所定のフレームレートでHMD12を装着するユーザの周辺の様子を撮影する。図1に示すように、本実施形態に係るカメラ部44は、表示部38の上方に、表示部38の前方を撮影できるように2つ配置されている。そのため本実施形態に係るカメラ部44は、HMD12を装着するユーザの前方を撮影できることとなる。また本実施形態に係るカメラ部44は、例えば左目用の画像を撮影するためのレンズ及び右目用の画像を生成するためのレンズを備えたステレオカメラである。
 本実施形態に係るエンタテインメント装置14は、例えばゲームコンソール、DVDプレイヤ、Blu-ray(登録商標)プレイヤなどといったコンピュータである。本実施形態に係るエンタテインメント装置14は、例えば記憶されているゲームプログラムの実行や光ディスクに記録されたコンテンツの再生などによって映像や音声を生成する。そして本実施形態に係るエンタテインメント装置14は、生成される映像を表す映像信号や生成される音声を表す音声信号を、中継装置16を経由して、HMD12やディスプレイ18に出力する。
 本実施形態に係るエンタテインメント装置14には、例えば図2Bに示すように、プロセッサ50、記憶部52、通信部54、入出力部56が含まれる。
 プロセッサ50は、例えばエンタテインメント装置14にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。本実施形態に係るプロセッサ50には、CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。なお、エンタテインメント装置14に、プロセッサ50の代わりに、プロセッサ50によって実行される処理の実装が可能な制御回路が含まれるようにしてもよい。
 記憶部52は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部52には、プロセッサ50によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部52には、GPUにより画像が描画されるフレームバッファの領域が確保されている。
 通信部54は、例えば無線LANモジュールなどの通信インタフェースである。
 入出力部56は、HDMIポート、USBポートなどの入出力ポートである。
 本実施形態に係る中継装置16は、エンタテインメント装置14から出力される映像信号や音声信号を中継してHMD12やディスプレイ18に出力するコンピュータである。
 本実施形態に係る中継装置16には、例えば図2Cに示すように、プロセッサ60、記憶部62、通信部64、入出力部66が含まれる。
 プロセッサ60は、例えば中継装置16にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。なお、中継装置16に、プロセッサ60の代わりに、プロセッサ60によって実行される処理の実装が可能な制御回路が含まれるようにしてもよい。
 記憶部62は、例えばROMやRAM等の記憶素子などである。記憶部62には、プロセッサ60によって実行されるプログラムなどが記憶される。
 通信部64は、例えば無線LANモジュールなどの通信インタフェースである。本実施形態では、図1に示すように、中継装置16の前側に、通信部64が含まれている。
 入出力部66は、HDMIポート、USBポートなどの入出力ポートである。
 本実施形態に係るディスプレイ18は、例えば液晶ディスプレイ等であり、エンタテインメント装置14から出力される映像信号が表す映像などを表示させる。
 本実施形態に係るカメラマイクユニット20は、例えば被写体を撮像した画像などといったカメラマイクユニット20の周辺の様子を表すデータをエンタテインメント装置14に出力するカメラ20aを含んでいる。また本実施形態に係るカメラ20aはステレオカメラである。また本実施形態に係るカメラマイクユニット20は、周囲の音声を取得して当該音声を音声データに変換してエンタテインメント装置14に出力するマイク20bを含んでいる。
 HMD12と中継装置16とは、例えば、無線通信によるデータの送受信が互いに可能になっている。エンタテインメント装置14と中継装置16とは、例えば、HDMIケーブルやUSBケーブルなどを介して接続されている。中継装置16とディスプレイ18とは、例えば、HDMIケーブルなどを介して接続されている。エンタテインメント装置14とカメラマイクユニット20とは、例えば、AUXケーブルなどを介して接続されている。
 本実施形態に係るコントローラ22は、エンタテインメント装置14に対する操作入力を行うための操作入力装置である。ユーザは、コントローラ22が備える方向キーやボタンを押下したり、操作スティックを傾けたりすることで、コントローラ22を用いて各種の操作入力を行うことができる。そして本実施形態では、コントローラ22は、操作入力に対応付けられる入力データをエンタテインメント装置14に出力する。また本実施形態に係るコントローラ22は、USBポートを備えている。そしてコントローラ22は、USBケーブルでエンタテインメント装置14と接続することで、有線で入力データをエンタテインメント装置14に出力することができる。また本実施形態に係るコントローラ22は、無線通信モジュール等を備えており、無線で入力データをエンタテインメント装置14に出力することができるようにもなっている。
 本実施形態では例えば、エンタテインメント装置14で、ゲームプログラム等のプログラムが実行される。そしてエンタテインメント装置14は、当該プログラムの実行状況に応じた3次元の仮想空間の映像等の映像を生成する。この映像は、例えば、当該仮想空間内に配置された視点から視線方向を見た様子を表す。そしてエンタテインメント装置14で生成される映像を表す映像データは、エンタテインメント装置14から中継装置16を経由してHMD12に送信される。
 また本実施形態では、HMD12においてセンシングデータが生成される。ここでセンシングデータとしては、例えば、センサ部40が検出する加速度や角速度の検出結果を示すデータや、カメラ部44が撮影する画像などが挙げられる。そしてHMD12で生成されるセンシングデータは、中継装置16を経由してエンタテインメント装置14に送信される。
 エンタテインメント装置14は、HMD12から受信するセンシングデータに応じた映像を生成する。エンタテインメント装置14は例えば、HMD12から受信するセンシングデータに応じて、上述の仮想空間内に配置された視点の位置や視線方向を変化させる。そしてエンタテインメント装置14は、変化後の視点の位置から変化後の視線方向を見た様子を表す映像を生成して、HMD12に送信する。そして当該映像を受信したHMD12は、当該映像を表示部38に表示させる。このようにして本実施形態では、ユーザの頭部の動きに応じて表示部38に表示される映像が変化することとなる。
 本実施形態では中継装置16とHMD12との間で、例えば、例えばWi-fi(登録商標)等の規格に沿った半二重無線通信が行われる。図3は、中継装置16とHMD12との間の半二重無線通信の様子の一例を模式的に示す図である。
 図3に示すように、本実施形態では中継装置16からHMD12への映像データの送信と、HMD12から中継装置16へのセンシングデータの送信とが交互に行われる。図3に示すように、中継装置16は、HMD12にヘッダを送信し、当該ヘッダの送信に続いて映像データをHMD12に送信する。そしてHMD12は、当該映像データの受信に応じて、中継装置16にヘッダを送信し、当該ヘッダの送信に続いてセンシングデータを中継装置16に送信する。なお、中継装置16とHMD12との間では、制御データなどのような上述のデータ以外のデータの通信が行われても構わない。
 そして本実施形態では図3に示すように、中継装置16において、映像データのヘッダを送信してから、映像データの受信に応じて送信されるセンシングデータのすべてを受信するまでの、一往復の通信にかかった時間(ラウンドトリップタイム)を特定できる。以下、この時間を、時間T_RTとして表現することとする。
 また本実施形態では図3に示すように、中継装置16において、映像データのヘッダを送信してから、映像データの受信の終了に応じてHMD12から送信されるセンシングデータのヘッダを受信するまでの時間を特定できる。この時間は、中継装置16からHMD12への映像データの送信にかかった時間に概ね相当する。以下、この時間を、時間T_phして表現することとする。
 また本実施形態では予め、半二重無線通信による一往復の通信についての所与の目標時間が設定されている。以下、当該目標時間を時間TargetTranferTimeとして表現することとする。
 本実施形態に係る映像データのような、HMD12において利用されるデータはできるだけ高品質であることが望ましい。従って、エンタテインメント装置14で単位時間あたりに生成されるデータのサイズはできるだけ大きいことが望ましい。一方で、本実施形態のような即時性が求められる通信では、ユーザの違和感を低減するために、単位時間あたりに生成されるデータのサイズを小さくしてでもラウンドトリップタイムを時間TargetTranferTimeに近づけることが重要となる。例えばHMD12で表示される映像を構成するフレーム画像のそれぞれのレイテンシを短くすることが重要となる。
 以上の点を踏まえ、本実施形態では、以下のようにして、できる限り時間T_RTが時間TargetTransferTime以下となるよう、エンタテインメント装置14が単位時間あたりに生成するデータのサイズを制御するようにした。
 以下、エンタテインメント装置14が単位時間あたりに生成するデータのサイズの制御を中心に、本実施形態に係るエンタテインメントシステム10の機能及び本実施形態に係るエンタテインメントシステム10で実行される処理についてさらに説明する。
 図4は、本実施形態に係るHMD12、エンタテインメント装置14、及び、中継装置16で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエンタテインメントシステム10で、図4に示す機能のすべてが実装される必要はなく、また、図4に示す機能以外の機能が実装されていても構わない。
 図4に示すように、本実施形態に係るエンタテインメント装置14は、機能的には例えば、映像データ生成部70、映像データ送信部72、生成制御受信部74、センシングデータ受信部76、を含んでいる。映像データ生成部70は、プロセッサ50を主として実装される。映像データ送信部72は、生成制御受信部74、センシングデータ受信部76は、入出力部56を主として実装される。
 以上の機能は、コンピュータであるエンタテインメント装置14にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ50で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してエンタテインメント装置14に供給されてもよい。
 また図4に示すように、本実施形態に係る中継装置16は、機能的には例えば、目標時間情報記憶部80、映像データ受信部82、映像データバッファ84、映像データ送信部86、センシングデータ受信部88、センシングデータ送信部90、所要時間特定部92、ビットレート決定部94、データサイズ決定部96、生成制御部98、を含んでいる。目標時間情報記憶部80、映像データバッファ84は、記憶部62を主として実装される。映像データ受信部82、センシングデータ送信部90は、入出力部66を主として実装される。映像データ送信部86、センシングデータ受信部88は、通信部64を主として実装される。所要時間特定部92、ビットレート決定部94、データサイズ決定部96は、プロセッサ60を主として実装される。生成制御部98は、プロセッサ60及び入出力部66を主として実装される。
 以上の機能は、コンピュータである中継装置16にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ60で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して中継装置16に供給されてもよい。
 また図4に示すように、本実施形態に係るHMD12は、機能的には例えば、映像データ受信部100、表示制御部102、センシングデータ生成部104、センシングデータバッファ106、センシングデータ送信部108、を含んでいる。映像データ受信部100、センシングデータ送信部108は、通信部34を主として実装される。表示制御部102は、プロセッサ30、表示部38を主として実装される。センシングデータ生成部104は、プロセッサ30、センサ部40、カメラ部44を主として実装される。センシングデータバッファ106は、記憶部32を主として実装される。
 以上の機能は、コンピュータであるHMD12にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ30で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してHMD12に供給されてもよい。
 映像データ生成部70は、本実施形態では例えば、HMD12の表示部38に表示される映像を表す映像データを生成する。
 映像データ送信部72は、本実施形態では例えば、映像データ生成部70が生成する映像データを中継装置16に送信する。
 生成制御受信部74は、本実施形態では例えば、中継装置16が送信する生成制御情報を受信する。ここで生成制御情報は、例えば、単位時間あたりに生成すべきデータのサイズを示す情報である。映像データ生成部70は、生成制御受信部74による生成制御情報の受信に応じて、当該生成制御情報が示すサイズのデータを単位時間あたりに生成するよう制御されることとなる。
 センシングデータ受信部76は、本実施形態では例えば、HMD12のセンサ部40による検出結果を示すデータやカメラ部44が撮影する画像などといったセンシングデータを、中継装置16から受信する。本実施形態では、映像データ生成部70は、センシングデータ受信部76が受け付けるセンシングデータに応じた映像データを生成することとなる。
 目標時間情報記憶部80は、本実施形態では例えば、上述の目標時間TargetTransferTimeの値が設定された目標時間情報を記憶する。
 映像データ受信部82は、本実施形態では例えば、エンタテインメント装置14から送信される映像データを受信する。
 映像データバッファ84は、本実施形態では例えば、映像データ受信部82が受信する映像データを記憶する。
 映像データ送信部86は、本実施形態では例えば、映像データバッファ84に記憶されている映像データをHMD12に送信する。
 センシングデータ受信部88は、本実施形態では例えば、上述のセンシングデータをHMD12から受信する。
 センシングデータ送信部90は、本実施形態では例えば、センシングデータ受信部88が受信するセンシングデータをエンタテインメント装置14に送信する。
 所要時間特定部92は、本実施形態では例えば、中継装置16とHMD12との間の半二重無線通信における一往復の通信が終了したことに応じて、当該一往復の通信にかかった時間T_RTを特定する。
 ビットレート決定部94は、本実施形態では例えば、中継装置16がHMD12に送信可能なビットレートを決定する。ここで例えば、特定される時間T_RT、一往復の通信においてHMD12との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間TargetTransferTimeに基づいて、当該ビットレートが決定されてもよい。またビットレート決定部94は、HMD12が中継装置16に送信可能なビットレートを決定してもよい。ビットレートの決定方法の詳細については後述する。以下、中継装置16がHMD12に送信可能なビットレートの値を、PayloadBitrate_PtoHと表現することとする。また、HMD12が中継装置16に送信可能なビットレートの値を、PayloadBitrate_HtoPと表現することとする。
 またビットレート決定部94は、例えばエンタテインメント装置14や中継装置16のスペックに応じた、中継装置16がHMD12に送信可能なビットレートの最大値及び最小値を示す情報を保持してもよい。またビットレート決定部94は、例えばHMD12のスペックに応じた、HMD12が中継装置16に送信可能なビットレートの最大値及び最小値を示す情報を保持してもよい。以下、中継装置16がHMD12に送信可能なビットレートの最大値及び最小値を、それぞれ、Tp_PtoH_ReqMax、Tp_PtoH_ReqMinと表現することとする。また、HMD12が中継装置16に送信可能なビットレートの最大値及び最小値を、それぞれ、Tp_HtoP_ReqMax、Tp_HtoP_ReqMinと表現することとする。
 データサイズ決定部96は、本実施形態では例えば、HMD12との間で行われる後の一往復の無線通信において中継装置16がHMD12に送信するデータのサイズを決定する。ここで例えば、ビットレート決定部94が決定するビットレートと、所与の目標時間TargetTransferTimeとに基づいて、後の一往復の無線通信において中継装置16がHMD12に送信するデータのサイズが決定されてもよい。またデータサイズ決定部96は、後の一往復の無線通信においてHMD12が中継装置16に送信するデータのサイズを決定してもよい。以下、一往復の無線通信において中継装置16がHMD12に送信するデータのサイズをTransSize_PtoHと表現することとする。また、後の一往復の無線通信においてHMD12が中継装置16に送信するデータのサイズをTransSize_HtoPと表現することとする。
 またデータサイズ決定部96は、本実施形態では例えば、上述のようにして決定される、一往復の無線通信において中継装置16がHMD12に送信するデータのサイズの値TransSize_PtoHが設定された情報を保持する。またデータサイズ決定部96は、本実施形態では例えば、上述のようにして決定される、後の一往復の無線通信においてHMD12が中継装置16に送信するデータのサイズの値TransSize_HtoPが設定された情報を保持してもよい。
 生成制御部98は、本実施形態では例えば、映像データ生成部70が単位時間あたりに生成するデータのサイズを制御する。ここで時間T_RT、一往復の通信においてHMD12との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間TargetTransferTimeに基づいて、当該サイズが決定されてもよい。またビットレート決定部94により決定されるビットレートに応じて当該サイズが決定されてもよい。例えば生成制御部98が、決定されるビットレートに相当するサイズのデータを単位時間あたりに生成するよう映像データ生成部70を制御してもよい。また生成制御部98は、当該サイズを示す生成制御情報をエンタテインメント装置14に送信してもよい。
 また生成制御部98は、ビットレート決定部94により決定されるビットレートに応じて、映像データ生成部70が生成する映像のデータの解像度や圧縮率などといった品質を制御してもよい。
 一往復の通信においてHMD12から中継装置16に送信されるセンシングデータのサイズが小さくなるとセンシングデータの精度が悪くなる。そのためセンシングデータのサイズを小さくすることは望ましくない。一方で、表示される映像のデータの品質が下がってもそれほど大きな問題とはならない。そこで中継装置16がHMD12に送信可能なビットレートが下がった場合に、生成される映像の圧縮率や解像度などいった品質を下げることによってレイテンシの発生を防ぐようにすれば、センシングデータの精度が確保できることとなる。
 映像データ受信部100は、本実施形態では例えば、中継装置16から送信される映像データを受信する。
 表示制御部102は、本実施形態では例えば、映像データ受信部100が受信する映像データが表す映像を表示させる。
 センシングデータ生成部104は、本実施形態では例えば、HMD12のセンサ部40による検出結果を示すデータやカメラ部44が撮影する画像などといったセンシングデータを生成する。
 センシングデータバッファ106は、本実施形態では例えば、センシングデータ生成部104が生成するセンシングデータを記憶する。
 センシングデータ送信部108は、センシングデータバッファ106に記憶されているセンシングデータを中継装置16に送信する。
 以下、本実施形態に係る中継装置16で行われる、エンタテインメント装置14において単位時間あたりに生成される映像データのサイズの制御処理の流れの第1の例を、図5に例示するフロー図を参照しながら説明する。図5に例示する第1の処理例は、例えば中継装置16からHMD12へのデータ送信における変調符号化方式とHMD12から中継装置16へのデータ送信における変調符号化方式とが同じである場合などに好適な処理例である。なお第1の処理例では、ビットレート決定部94が保持する情報に設定されている値PayloadBitrate_HtoPは固定値Tp_HtoP_ReqConstであることとする。また第1の処理例では以下に示すS101~S110に示す処理のループが繰り返し実行されることとする。また中継装置16とHMD12との間で一往復の通信が行われることに応じて、S101~S110に示す処理が一度実行されることとする。
 まず、映像データ送信部86が、データサイズ決定部96が保持している情報に設定されている値TransSize_PtoHを特定する(S101)。
 そして映像データ送信部86が、S101に示す処理で特定された値が示すサイズの映像データを映像データバッファ84から取得してHMD12に送信する(S102)。
 そしてセンシングデータ受信部88が、S102に示す処理で送信される映像データの受信に応じてHMD12が送信するセンシングデータを受信する(S103)。
 そして所要時間特定部92が、図3に例示する時間T_RTを特定する(S104)。
 そしてビットレート決定部94が、単位時間あたりのデータ送信量(スループット)の値Tp_RTを算出する(S105)。例えば、値TransSize_PtoH及び値TransSize_HtoPの合計に8を乗じ、S104に示す処理で特定された時間T_RTで割ることで、値Tp_RTが算出される。なおここでは、値TransSize_PtoH及び値TransSize_HtoPの単位はバイトであり、値Tp_RTの単位はビットであることとする。そのためS105に示す処理では、バイトをビットに変換するため8を乗じる処理が実行されている。
 そしてビットレート決定部94が、S105に示す処理で算出された値Tp_RTから値Tp_HtoP_ReqMaxを減じることで、中継装置16からHMD12へのデータ送信に相当する部分スループットの値Tp_PtoHを算出する(S106)。
 そしてビットレート決定部94が、S106に示す処理で算出された値Tp_PtoHに基づいて、上述の値PayloadBitrate_PtoHを決定する(S107)。ここでは例えば、値Tp_PtoH_ReqMinから値Tp_PtoH_ReqMaxまでの範囲に収まるよう特定された値Tp_PtoHに対してクリッピング処理を実行した結果の値が、値PayloadBitrate_PtoHとして決定される。例えば、値Tp_PtoHが値Tp_PtoH_ReqMinよりも小さい場合は、値Tp_PtoH_ReqMinが値PayloadBitrate_PtoHとして決定される。また例えば値Tp_PtoHが値Tp_PtoH_ReqMaxよりも大きい場合は、値Tp_PtoH_ReqMaxが値PayloadBitrate_PtoHとして決定される。この場合は、値Tp_PtoHと値Tp_PtoH_ReqMaxとの差がジッタを吸収するためのマージンに相当することとなる。また例えば、値Tp_PtoHが値Tp_PtoH_ReqMin以上であり値Tp_PtoH_ReqMax以下である場合は、値Tp_PtoHが値PayloadBitrate_PtoHとして決定される。
 そしてビットレート決定部94は、S107に示す処理で決定された値PayloadBitrate_PtoHに対してフィルタリング処理を実行することで、値PayloadBitrate_PtoHを補正する(S108)。例えば無線通信環境が変化してスループットが低下した場合にビームフォーミングにより最適な通信経路の探索処理が実行され、スループットが短時間で変化することがある。このような状況に対処するため、例えば値PayloadBitrate_PtoHについて、前回のループで決定された値と今回のループで決定された値との差に1以下の係数を乗じた値を前回のループで決定された値に加えることで補正してもよい。この係数は例えば通信経路の探索処理の性能や映像データ生成部70の応答性に基づいて決定されてもよい。また例えば値PayloadBitrate_PtoHが減少する場合にのみフィルタリング処理が実行されるようにしてもよい。
 そしてデータサイズ決定部96が、S108に示す処理で補正された値PayloadBitrate_PtoHに基づいて、値TransSize_PtoHを算出する(S109)。ここでは例えば、値PayloadBitrate_PtoHに目標時間情報記憶部80が記憶する目標時間情報が示す値TargetTranferTimeを乗じ、8で割ることで、値TransSize_PtoHが算出されてもよい。なおここでは、ビットをバイトに変換するため8で割る処理が実行されている。そしてデータサイズ決定部96が保持している値TransSize_PtoHは、S109に示す処理で算出された値に更新される。
 そして生成制御部98が、S108に示す処理で補正された値PayloadBitrate_PtoHを示す生成制御情報をエンタテインメント装置14に送信して(S110)、S101に示す処理に戻る。この場合、生成制御受信部74が当該生成制御情報を受け付け、映像データ生成部70は、値PayloadBitrate_PtoHに相当するサイズのデータを単位時間あたり(例えば1秒あたり)に生成する。
 上述のS101~S110に示す処理のループが実行されることにより、当該ループに対応付けられる一往復の通信より後の一往復の通信において中継装置16がHMD12に送信可能なビットレートの値PayloadBitrate_PtoHが決定される。
 なお第1の処理例において上述のS108に示すフィルタリング処理が実行されなくても構わない。この場合は、S107に示す処理で決定された値PayloadBitrate_PtoHに基づいて、値TransSize_PtoHが算出されることとなる。
 また上述のS102に示す処理において、映像データ送信部86は、固定値Tp_HtoP_ReqConstである値PayloadBitrate_HtoPを示すデータを含む映像データのヘッダをHMD12に送信してもよい。この場合、HMD12が、値PayloadBitrate_HtoPに相当するサイズのデータを単位時間あたり(例えば1秒あたり)に生成してもよい。例えば単位時間あたりに生成されるセンシングデータのサイズが制御されてもよい。
 次に、本実施形態に係る中継装置16で行われる、エンタテインメント装置14において単位時間あたりに生成される映像データのサイズの制御処理の流れの第2の例を、図6に例示するフロー図を参照しながら説明する。図6に例示する第2の処理例では、第1の処理例とは異なり、一往復の通信のうち中継装置16からHMD12へのデータ送信に要した時間の見積結果を用いている。また第2の処理例では以下に示すS201~S212に示す処理のループが繰り返し実行されることとする。また中継装置16とHMD12との間で一往復の通信が行われることに応じて、S201~S212に示す処理が一度実行されることとする。
 まず、映像データ送信部86が、データサイズ決定部96が保持している情報に設定されている値TransSize_PtoH及び値TransSize_HtoPを特定する(S201)。
 そして映像データ送信部86が、S201に示す処理で特定された値が示すサイズの映像データを映像データバッファ84から取得してHMD12に送信する(S202)。ここで本処理例では、映像データ送信部86は、値PayloadBitrate_HtoPを示すデータを含む映像データのヘッダをHMD12に送信する。そしてこのデータを受信したHMD12は、値PayloadBitrate_HtoPに相当するサイズのデータを単位時間あたり(例えば1秒あたり)に生成する。例えば単位時間あたりに生成されるセンシングデータのサイズが制御される。
 そしてセンシングデータ受信部88が、当該映像データの送信に応じてHMD12から送信されるセンシングデータを受信する(S203)。
 そして所要時間特定部92が、図3に例示する時間T_RT及び時間T_phを特定する(S204)。
 そして所要時間特定部92が、S204に示す処理で特定された時間T_RTから時間T_phを減じることで、HMD12から中継装置16へのセンシングデータの送信にかかった時間に概ね相当する時間T_hpを算出する(S205)。
 そしてビットレート決定部94が、値TransSize_PtoHに8を乗じ、S204に示す処理で特定された時間T_phで割ることで、単位時間あたりのデータ送信量(スループット)の値Tp_phを算出する(S206)。なおここでは、値TransSize_PtoHの単位はバイトであり、値Tp_phの単位はビットであることとする。そのためS105に示す処理では、バイトをビットに変換するため8を乗じる処理が実行されている。
 そしてビットレート決定部94が、中継装置16からHMD12へのデータ送信に割当可能な時間new_time_phを算出する(S207)。ここでは例えば、目標時間情報記憶部80が記憶する目標時間情報の値TargetTranferTimeからS205に示す処理で算出された時間T_hpを減じ、さらにジッタを吸収するための定数を減じた値が時間new_time_phとして算出される。当該定数は、例えば、値TargetTranferTimeの5~10%に相当する定数であってもよい。
 そしてビットレート決定部94が、中継装置16からHMD12へのデータ送信に相当する部分スループットの値new_tp_phを特定する(S208)。ここでは例えば、S207に示す処理で算出された時間new_time_phにS206に示す処理で算出された値Tp_phを乗じ、値TargetTranferTimeで割った値が、値new_tp_phとして特定される。
 そしてビットレート決定部94が、S208に示す処理で特定された値new_tp_phに基づいて、値PayloadBitrate_PtoH及びPayloadBitrate_HtoPを決定する(S209)。
 ここで例えば値new_tp_phが、通信環境の悪化傾向の判断に用いられる閾値Tp_PtoH_LowThreshold以上であるとする。この場合は、特定された値new_tp_phを保持している値Tp_PtoH_ReqMinから値Tp_PtoH_ReqMaxまでの範囲に収まるようクリッピング処理を実行した結果の値が、値PayloadBitrate_PtoHとして決定される。またこの場合は、値Tp_HtoP_ReqMaxが、値PayloadBitrate_HtoPとして決定される。ここで例えば閾値Tp_PtoH_LowThresholdは、値Tp_PtoH_ReqMin以上、値Tp_PtoH_ReqMax以下の範囲で決定されてもよい。
 一方、値new_tp_phが、閾値Tp_PtoH_LowThresholdより小さいとする。この場合は、閾値Tp_PtoH_LowThresholdから値new_tp_phを減じた値が、値delta_tp_phとして算出される。そして値Tp_HtoP_ReqMaxから値delta_tp_phを減じた値が、値new_tp_hpとして算出される。ここで、算出された値new_tp_hpが値Tp_HtoP_ReqMinよりも小さい場合は、値new_tp_hpは値Tp_HtoP_ReqMinに変更される。そして値new_tp_hpが値PayloadBitrate_HtoPとして決定される。そして値Tp_PtoH_ReqMinが値PayloadBitrate_PtoHとして決定される。このようにして一往復の通信において中継装置16がHMD12に送信可能なビットレートに相当する値new_tp_phが閾値Tp_PtoH_LowThresholdを下回った場合には、HMD12が後の一往復の通信において単位時間あたりに送信するデータのサイズが減ることとなる。
 なお閾値Tp_PtoH_LowThresholdは、中継装置16とHMD12との間の距離又は中継装置16に対するHMD12の向きに応じた値であってもよい。ここでビットレート決定部94は、例えば、センシングデータ受信部76が受信するセンシングデータの値に基づいて、中継装置16とHMD12との間の距離、又は、中継装置16に対するHMD12の向きを特定してもよい。そしてビットレート決定部94は、特定された距離又は向きに基づいて、閾値Tp_PtoH_LowThresholdを決定してもよい。
 ここで例えば値Tp_PtoH_ReqMaxと値Tp_PtoH_ReqMinとの和を2で割った値が、閾値Tp_PtoH_LowThresholdの基準値とされてもよい。そして例えば、中継装置16とHMD12との間の距離が所定の基準距離よりも長くなればなるほど、基準値よりも値が大きくなるよう、閾値Tp_PtoH_LowThresholdが決定されてもよい。また中継装置16とHMD12との間の距離が所定の基準距離よりも短くなればなるほど、基準値よりも値が小さくなるよう、閾値Tp_PtoH_LowThresholdが決定されてもよい。また例えば、HMD12を装着したユーザから中継装置16に向かう向きとHMD12を装着したユーザの後頭部から前頭部に向かう向きとの角度が所定の基準角度よりも大きくなればなるほど、基準値よりも値が大きくなるよう、閾値Tp_PtoH_LowThresholdが決定されてもよい。またHMD12を装着したユーザから中継装置16に向かう向きとHMD12を装着したユーザの後頭部から前頭部に向かう向きとの角度が所定の基準角度よりも小さくなればなるほど基準値よりも値が小さくなるよう、閾値Tp_PtoH_LowThresholdが決定されてもよい。
 そしてビットレート決定部94は、S108に示す処理と同様のフィルタリング処理を実行する(S210)。ここでは、S209に示す処理で決定された値PayloadBitrate_PtoHに対してフィルタリング処理が実行されることで、値PayloadBitrate_PtoHが補正される。また値PayloadBitrate_HtoPに対してフィルタリング処理が実行されることで、値PayloadBitrate_HtoPが補正される。
 そしてデータサイズ決定部96が、値TransSize_PtoH及び値TransSize_HtoPを算出する(S211)。ここでは例えば、補正された値PayloadBitrate_PtoHに目標時間情報記憶部80が記憶する目標時間情報が示す値TargetTranferTimeを乗じ、8で割ることで、値TransSize_PtoHが算出されてもよい。また例えば、補正された値PayloadBitrate_HtoPに目標時間情報記憶部80が記憶する目標時間情報が示す値TargetTranferTimeを乗じ、8で割ることで、値TransSize_HtoPが算出されてもよい。なおここでは、ビットをバイトに変換するため8で割る処理が実行されている。そしてデータサイズ決定部96が保持している値TransSize_PtoH及び値TransSize_PtoHは、S211に示す処理で算出された値に更新される。
 そして生成制御部98が、S210に示す処理で補正された値PayloadBitrate_PtoHを示す生成制御情報をエンタテインメント装置14に送信して(S212)、S201に示す処理に戻る。この場合、生成制御受信部74が当該生成制御情報を受け付け、映像データ生成部70は、値PayloadBitrate_PtoHに相当するサイズのデータを単位時間あたり(例えば1秒あたり)に生成することとなる。上述のように第2の処理例では、上述のS201~S212に示す処理が繰り返し実行されることとなる。
 第2の処理例では、一往復の通信において中継装置16がHMD12に送信可能なビットレートに相当する値new_tp_phが閾値Tp_PtoH_LowThresholdを下回った場合、S209及びS210に示す処理で決定される値PayloadBitrate_HtoPが減ることとなる。そしてこの場合、次回のループにおけるS202に示す処理で、映像データ送信部86が、後の一往復の通信において単位時間あたりに送信するデータのサイズを減らす指示をHMD12に送信することとなる。このように第2の処理例ではHMD12が中継装置16に送信するデータのビットレートを中継装置16において制御できる。
 なお第2の処理例において上述のS210に示すフィルタリング処理が実行されなくても構わない。この場合は、S209に示す処理で決定された値PayloadBitrate_PtoHに基づいて、値TransSize_PtoHが算出されることとなる。またS209に示す処理で決定された値PayloadBitrate_HtoPに基づいて、値TransSize_HtoPが算出されることとなる。
 ここで上述のように、映像データ生成部70は、S110やS212に示す処理で送信される生成制御情報が示す値の変化に応じて、生成する映像の解像度や圧縮率などといった品質を変化させてもよい。例えば生成制御情報が示す値が小さくなった際に、映像データ生成部70が生成する映像の品質が下がるようにしてもよい。
 本実施形態において、目標時間TargetTranserTimeの値としては例えば4ミリ秒が想定される。そして例えば映像データバッファ84には、1ミリ秒毎に125キロバイトの映像データが書き込まれる。以下、映像データバッファ84に一度に書き込まれる映像データ(ここでは125キロバイトの映像データ)を1ブロックと呼ぶこととする。そして映像データ送信部86は、目標時間TargetTranserTime4ミリ秒である場合は、4ミリ秒毎に4ブロック(ここでは例えば500キロバイト)の映像データの送信が行われることが望ましい。またセンシングデータ送信部104は、4ミリ秒毎に1メガバイトのセンシングデータの送信が行われることが望ましい。
 また本実施形態において、映像データ送信部86は、所定サイズの1ブロック単位で映像データを送信してもよい。例えば特定された値TransSize_PtoHが250キロバイトである際には、映像データ送信部86は、一往復の通信において2ブロック(ここでは例えば250キロバイト)の映像データを送信してもよい。またこの場合、映像データバッファ84に書き込まれたブロックのうち最新のものから順に2つのブロックを取得して、これら2つのブロックを送信してもよい。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば以上の説明における図4においてエンタテインメント装置14の機能として示されている示す機能の一部又は全部が、HMD12や中継装置16において実装されても構わない。また図4において中継装置16の機能として示されている示す機能の一部又は全部が、HMD12やエンタテインメント装置14において実装されても構わない。
 また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。

Claims (8)

  1.  通信相手装置との間で半二重無線通信を行う通信装置であって、
     データ生成部が生成するデータを前記通信相手装置に送信する送信部と、
     前記通信相手装置から送信されるデータを受信する受信部と、
     前記通信装置と前記通信相手装置との間での半二重無線通信による一往復の通信にかかった時間を特定する時間特定部と、
     特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する生成制御部と、
     を含むことを特徴とする通信装置。
  2.  前記受信部は、前記通信相手装置から送信されるセンシングデータを受信し、
     前記データ生成部は、映像のデータを生成し、
     前記生成制御部は、前記映像のデータの品質を制御する、
     ことを特徴とする請求項1に記載の通信装置。
  3.  特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、後の一往復の通信において前記通信装置が前記通信相手装置に送信可能なビットレートを決定するビットレート決定部、をさらに含み、
     前記生成制御部は、決定される前記ビットレートに応じて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する、
     ことを特徴とする請求項1又は2に記載の通信装置。
  4.  前記送信部は、前記一往復の通信において前記通信装置が前記通信相手装置に送信可能なビットレートが閾値を下回った場合に、後の一往復の通信において単位時間あたりに送信するデータのサイズを減らす指示を前記通信相手装置に送信する、
     ことを特徴とする請求項3に記載の通信装置。
  5.  前記閾値は、前記通信装置と前記通信相手装置との間の距離又は前記通信装置に対する前記通信相手装置の向きに応じた値である、
     ことを特徴とする請求項4に記載の通信装置。
  6.  通信相手装置との間で半二重無線通信を行う通信装置であって、
     データ生成部が生成するデータを前記通信相手装置から受信する受信部と、
     前記通信相手装置にデータを送信する送信部と、を含み、
     前記通信相手装置は、
     前記通信装置と前記通信相手装置との間での半二重無線通信による一往復の通信にかかった時間を特定する時間特定部と、
     特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する生成制御部と、を含む、
     ことを特徴とする通信装置。
  7.  データ生成部が生成するデータを通信相手装置に送信するステップと、
     前記通信相手装置から送信されるデータを受信するステップと、
     前記通信装置と前記通信相手装置との間での半二重無線通信による一往復の通信にかかった時間を特定するステップと、
     特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御するステップと、
     を含むことを特徴とする生成データサイズ制御方法。
  8.  データ生成部が生成するデータを半二重無線通信により通信相手装置に送信する通信装置と、前記通信装置にデータを送信する前記通信相手装置と、の間での半二重無線通信による一往復の通信にかかった時間を特定する手順、
     特定される前記時間、前記一往復の通信において前記通信相手装置との間で通信されたデータのサイズ、及び、一往復の通信についての所与の目標時間に基づいて、前記データ生成部が単位時間あたりに生成するデータのサイズを制御する手順、
     をコンピュータに実行させることを特徴とするプログラム。
PCT/JP2018/000438 2017-01-18 2018-01-11 通信装置、生成データサイズ制御方法及びプログラム WO2018135364A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18741620.1A EP3573282B1 (en) 2017-01-18 2018-01-11 Communication device, generated data size control method, and program
JP2018563287A JP6679761B2 (ja) 2017-01-18 2018-01-11 通信装置、生成データサイズ制御方法及びプログラム
CN201880006604.3A CN110169007B (zh) 2017-01-18 2018-01-11 通信装置、生成数据大小控制方法和程序
US16/466,151 US10855435B2 (en) 2017-01-18 2018-01-11 Communication apparatus, generated data size controlling method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017006892 2017-01-18
JP2017-006892 2017-01-18

Publications (1)

Publication Number Publication Date
WO2018135364A1 true WO2018135364A1 (ja) 2018-07-26

Family

ID=62908060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/000438 WO2018135364A1 (ja) 2017-01-18 2018-01-11 通信装置、生成データサイズ制御方法及びプログラム

Country Status (5)

Country Link
US (1) US10855435B2 (ja)
EP (1) EP3573282B1 (ja)
JP (1) JP6679761B2 (ja)
CN (1) CN110169007B (ja)
WO (1) WO2018135364A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436484B2 (ja) 2019-03-08 2024-02-21 メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー 人工現実のためのレイテンシ減少

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005372A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 通信装置およびその制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3191783B2 (ja) * 1998-10-29 2001-07-23 三菱電機株式会社 通信装置および通信方法
US8363744B2 (en) * 2001-06-10 2013-01-29 Aloft Media, Llc Method and system for robust, secure, and high-efficiency voice and packet transmission over ad-hoc, mesh, and MIMO communication networks
US8812706B1 (en) * 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
JP2004253883A (ja) * 2003-02-18 2004-09-09 Nec Corp 音声・画像リアルタイム通信におけるビットレート制御を実行するデータ通信装置
ES2323129T3 (es) * 2003-09-10 2009-07-07 Qualcomm Incorporated Interfaz de alta velocidad de datos.
US7436789B2 (en) * 2003-10-09 2008-10-14 Sarnoff Corporation Ad Hoc wireless node and network
US8669988B2 (en) * 2004-03-10 2014-03-11 Qualcomm Incorporated High data rate interface apparatus and method
KR100666051B1 (ko) * 2005-05-04 2007-01-10 삼성전자주식회사 대기시간을 표시하는 반이중방식 통신을 지원하는 단말기및 이의 통신방법
JPWO2007034809A1 (ja) * 2005-09-20 2009-03-26 大正製薬株式会社 組み換え蛋白質産生のための宿主細胞
CN101123606A (zh) * 2007-07-13 2008-02-13 上海广电(集团)有限公司中央研究院 基于实时传输协议或实时控制协议的avs传输控制方法
MY158045A (en) * 2008-05-13 2016-08-30 Tata Consultancy Services Ltd Methods and system for wireless/wired transmission
JP5664229B2 (ja) 2010-12-28 2015-02-04 ソニー株式会社 送信装置、送信方法、及びプログラム
JPWO2015178017A1 (ja) * 2014-05-22 2017-04-20 日本電気株式会社 通信装置
US10349099B2 (en) * 2014-06-20 2019-07-09 Sony Corporation Transmission device, transmission method, reception device, and reception method
JP6546439B2 (ja) 2015-04-23 2019-07-17 キヤノン株式会社 送信装置、複合現実システム、送信制御方法、及びプログラム
US10863494B2 (en) * 2018-01-22 2020-12-08 Apple Inc. Control signaling for uplink multiple input multiple output, channel state information reference signal configuration and sounding reference signal configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005372A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 通信装置およびその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436484B2 (ja) 2019-03-08 2024-02-21 メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー 人工現実のためのレイテンシ減少

Also Published As

Publication number Publication date
EP3573282A4 (en) 2020-01-22
US20200067691A1 (en) 2020-02-27
CN110169007A (zh) 2019-08-23
JP6679761B2 (ja) 2020-04-15
JPWO2018135364A1 (ja) 2019-06-27
EP3573282B1 (en) 2021-09-08
CN110169007B (zh) 2022-06-07
EP3573282A1 (en) 2019-11-27
US10855435B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
US10142618B2 (en) Imaging apparatus and imaging method
JP6420500B2 (ja) 周波数帯決定装置、ヘッドマウントディスプレイ、周波数帯決定方法及びプログラム
US10931913B2 (en) Reception apparatus, transmission apparatus, control method, transmission method, and program
US10691405B2 (en) Sound control apparatus, sound control method, and program
JP6616023B2 (ja) 音声出力装置、ヘッドマウントディスプレイ、音声出力方法及びプログラム
JP6938770B2 (ja) 通信装置、生成データサイズ制御方法及びプログラム
JP6679761B2 (ja) 通信装置、生成データサイズ制御方法及びプログラム
US11386527B2 (en) Image processor and imaging processing method
JP6938769B2 (ja) 通信装置、生成データサイズ制御方法、通信方法及びプログラム
US20220279303A1 (en) Spatial audio for wearable devices
JP7047085B2 (ja) 画像生成装置、画像生成方法、およびプログラム
WO2018101162A1 (ja) ヘッドマウントディスプレイ、表示制御装置、表示制御方法及びプログラム
JP2017144182A (ja) 制御装置、提供方法及びプログラム
JP2021068296A (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: 18741620

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018563287

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018741620

Country of ref document: EP

Effective date: 20190819