WO2010055792A1 - 通信装置、通信方法および通信プログラム - Google Patents
通信装置、通信方法および通信プログラム Download PDFInfo
- Publication number
- WO2010055792A1 WO2010055792A1 PCT/JP2009/068800 JP2009068800W WO2010055792A1 WO 2010055792 A1 WO2010055792 A1 WO 2010055792A1 JP 2009068800 W JP2009068800 W JP 2009068800W WO 2010055792 A1 WO2010055792 A1 WO 2010055792A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- generation unit
- frame rate
- unit
- display
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 58
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 238000005259 measurement Methods 0.000 claims description 16
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 45
- 230000006870 function Effects 0.000 description 41
- 238000012546 transfer Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4516—Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4532—Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/454—Content or additional data filtering, e.g. blocking advertisements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
Definitions
- the present invention relates to a communication device, a communication method, and a communication program that realize a function of sharing an application screen between devices.
- Patent Document 1 proposes a technique related to a system (screen transfer system) that projects screen information of a communication device (such as a personal computer or a server computer) onto a remote display device (display terminal) via a network. .
- input information from the display terminal (such as pen input by a digitizer) is similarly transmitted to the communication device via the network, and the actual application program processing is executed by the communication device. Thereafter, the execution result and the screen update information are transferred to the display terminal via the network.
- the display terminal executes output processing (drawing processing) based on the received screen update information.
- VNC Virtual Network Computing
- VNC Virtual Network Computing
- the value of the read pixel information is compared with the value of the pixel information transmitted to the previous display terminal, and the updated screen area changed from the previous time is determined. Further, after the still image compression of the updated screen area, only the compressed screen difference information is transmitted to the display terminal. Thereby, the consumption of a communication band can be suppressed. Accordingly, the amount of screen information to be transmitted increases when the screen change is large, such as movement of a window, and conversely, the amount of screen information to be transmitted decreases when the screen change is small.
- media content such as video data (video information), photo data, and music data stored in an external storage device such as HDD (Hard Disk Drive) or SSD (Solid State Drive) connected to the communication device is transferred to the network.
- an external storage device such as HDD (Hard Disk Drive) or SSD (Solid State Drive) connected to the communication device
- HDD Hard Disk Drive
- SSD Solid State Drive
- UPnP Universal Plug and Play
- AV Audio Visual
- DLNA Digital Living Network Alliance
- a client terminal finds a server device on a network and browses content on the server device by streaming playback.
- the type of video information stored in the external storage device of the communication device is different from the type of video information that can be reproduced on the display terminal in the multimedia system.
- the video information on the communication device side is in the WMV format
- the video information that can be played back on the display terminal is in the MPEG-2 (Generic coding of moving pictures and associated audio information) format.
- the user cannot browse the video information of the communication device via the display terminal. Therefore, in such a situation, a method in which the communication apparatus converts (transcodes) the video information into a format that can be reproduced by the display terminal is conceivable.
- the transcoding process is a process of encoding (encoding) a new format after performing a decoding process of video information.
- video information in WMV format is decoded and then encoded into video information in MPEG-2 format that meets a predetermined frame rate or bit rate condition.
- transcoding processing of video information can be said to be processing with a large amount of calculation.
- the communication device When the communication device provides the functions of both the screen transfer system and the multimedia system as described above, a process for generating a transmission image to be transmitted to the display terminal (a process for compressing the update screen area as a still image) And transcoding processing of video information may occur simultaneously. In such a situation, there may arise a problem that the amount of calculation to be performed by the communication apparatus becomes very large.
- Patent Document 2 proposes a technique for changing an input frame rate of imaging based on a predetermined priority when a subject is detected in one direction in an imaging device having imaging devices in two directions. . Thereby, recording / transmission of video information appropriate for the situation is realized.
- Patent Document 2 is a technique for inputting video in a plurality of directions, and is not a technique for adjusting the amount of calculation of a communication device having a plurality of functions as described above. If the method of Patent Document 2 is applied to the communication device as described above, a method of reducing the video streaming frame rate at the time when a plurality of functions starts operating in the communication device is conceivable.
- the present invention has been made in view of the above, and an object of the present invention is to provide a communication device, a communication method, and a communication program that can efficiently control the performance of a plurality of functions provided to a display terminal.
- the present invention is a communication device that is connected to a display device that displays an image via a network, and includes an image storage unit that stores a display image to be displayed on the display device, and an update image for updating the display image.
- An update image generation unit to generate, a detection unit to detect a difference region representing a region where pixel information does not match between the update image and the display image, and a compression to generate a compressed image obtained by compressing the image of the difference region
- the moving image generation unit that generates a moving image at a specified frame rate, the size of the difference area and the first threshold are compared, and the size of the difference area is greater than the first threshold
- a control unit that controls the frame rate specified for the moving image generation unit to be lowered, and a transmission unit that transmits the compressed image and the moving image to the display device.
- the present invention is a method and a program that can be executed by the above apparatus.
- FIG. 1 is a block diagram of a communication device according to a first embodiment. It is a block diagram of the display terminal concerning a 1st embodiment. It is a flowchart which shows the whole flow of the image transmission process in 1st Embodiment. It is a sequence diagram which shows the operation example of the communication apparatus of 1st Embodiment. It is a block diagram which shows the structure of the communication apparatus concerning 2nd Embodiment. It is a figure which shows an example of the data structure of the threshold value memorize
- the communication system includes a communication device that executes an application and a display terminal (display device) that displays a screen updated by executing the application.
- the communication device controls to lower the frame rate when generating a video (moving image) when the difference area of the image information generated by the operation of the application program is larger than a predetermined threshold.
- FIG. 1 is a block diagram showing a configuration of a communication system according to the first embodiment.
- the communication system according to the first embodiment is a system that transmits an image of an updated part due to an event occurring on the screen of a communication device to a display terminal.
- a screen transfer system such a communication system is referred to as a screen transfer system.
- the communication system 10 includes a communication device 100 as a communication device, and a radio base station 300 as an access point connected to the communication device 100 via a network 400.
- Display terminals 200a and 200b (hereinafter also referred to as display terminals 200) as display devices that wirelessly communicate with the wireless base station 300 through a wireless LAN.
- the communication system 10 wirelessly transfers a screen of application software running on the communication device 100 to the display terminal 200 via the wireless base station 300, and displays the application screen of the communication device 100 with the display terminal 200. And share functions.
- the communication system 10 in order to transfer the screen updated on the communication device 100 side to the display terminal 200 in real time, only the updated image information in the screen of the communication device 100 is transferred. That is, the communication apparatus 100 can transmit the image information via the radio base station 300 to the display terminal 200 that displays the image information.
- the communication device 100 has a function of acquiring video information on an external storage device (not shown in the figure), and generating and transmitting new video information to be displayed on the display terminal 200.
- a system that converts video information and transmits the video information is referred to as a video streaming system.
- the communication device 100 wirelessly transfers the generated new video information to one display terminal 200 via the wireless base station 300.
- the display terminal 200a and the communication device 100 implement a screen transfer system
- the display terminal 200b and the communication device 100 implement a video streaming system. That is, the communication device 100 can simultaneously provide a plurality of different functions to the plurality of display terminals 200.
- the display terminal 200 receives the image information from the communication device 100, expands the received image information, and displays it on the corresponding part in the screen. Further, the display terminal 200 reproduces the media data received from the communication device 100 through a display or a speaker.
- the wireless base station 300 is a wireless communication base station that complies with a wireless communication protocol such as IEEE802.11.
- the network 400 is a network that conforms to a wired communication protocol such as IEEE802.3, for example.
- the network form is not limited to this, and it may be configured to connect with another protocol.
- the display terminal 200 and the communication device 100 may be configured to be connected via a wired network.
- FIG. 2 is a block diagram of the communication apparatus 100 according to the first embodiment.
- the communication device 100 includes a display 101, an input device 102, an external storage device 103, an image buffer 121, a condition storage unit 122, a video generation information storage unit 123, and an event acquisition unit 111.
- a difference detection unit 112 a compressed image generation unit 113, a video generation unit 114, a control unit 115, and a communication processing unit 116.
- the display 101 is a display device realized by an LCD (Liquid Crystal Display) or the like.
- the input device 102 is realized by a mouse or the like that moves the cursor displayed on the screen of the display 101.
- a keyboard, a trackball, or the like may be used as the input device 102.
- the external storage device 103 is realized by a large-capacity storage device such as an HDD or an SSD.
- the external storage device 103 stores multimedia contents such as video data (video information), music data, and photo data.
- the image buffer 121 is a storage unit that stores images.
- the condition storage unit 122 stores a threshold (first threshold) of the size (number of pixels) of image information as a condition used by the control unit 115 for determination.
- the condition storage unit 122 stores a predetermined threshold derived by the total number of pixels obtained by multiplying the number of vertical pixels and the number of horizontal pixels of the image information, that is, the pixel area value.
- the video generation information storage unit 123 stores video generation information to be referred to when the video generation unit 114 generates new video information.
- the video generation information includes, for example, information such as the frame rate, bit rate, resolution, and encoding method of the video information to be generated.
- a plurality of video generation information may be prepared for each display terminal 200.
- the image buffer 121, the condition storage unit 122, and the video generation information storage unit 123 can be configured by any commonly used storage medium such as an HDD, an optical disk, a memory card, and a RAM (Random Access Memory). .
- the event acquisition unit 111 acquires an event generated by an operation of an application program (not shown) or the like.
- the event acquisition unit 111 includes an operating system (OS) that performs overall control of the computer, a virtual display driver having a function equivalent to a display driver incorporated in the OS, and application programs such as application software that operates on the OS. It is realized with.
- OS operating system
- application programs such as application software that operates on the OS. It is realized with.
- the event acquisition unit 111 updates the screen (image) when the screen is updated by application software or when the cursor is moved by a mouse operation or the like to update an image of an arbitrary area in the screen. Get that as an event.
- the event acquisition unit 111 includes an updated image generation unit 111a as a detailed configuration.
- the updated image generation unit 111a can be realized as, for example, a virtual display driver incorporated in the OS.
- the update image generation unit 111a acquires a drawing command from the graphic engine of the OS, and generates a display image representing an image to be displayed on the display terminal 200 by performing a drawing process.
- the data is sequentially output to the buffer 121 and stored. As a result, display images are sequentially held in the image buffer 121.
- an image stored in the image buffer 121 is referred to as a display image
- an image that is newly generated by the update image generation unit 111a and is stored in the image buffer 121 is referred to as an update image.
- the update image generation unit 111a generates an update image to be displayed on the display terminal 200 according to an event generated by the operation of the application program.
- the difference detection unit 112 detects a difference area representing an area where the pixel information does not match between the old and new display images sequentially held in the image buffer 121. That is, the difference detection unit 112, when notified by the update image generation unit 111a that an update image has been generated, generates new image information (update image) and image information buffered in the image buffer 121. A difference area between the (display image) and the display image is detected. For example, the difference detection unit 112 detects a minimum rectangle including a portion that does not match between two pieces of image information as a difference area. In addition, you may comprise so that the difference detection part 112 may confirm the presence or absence of a difference for every predetermined time interval.
- the compressed image generation unit 113 generates a compressed image obtained by compressing the difference area image detected by the difference detection unit 112 for transmission.
- the compressed image may be generated using irreversible compression such as JPEG (Joint Photographic Experts Group), or may be generated using a reversible compression method such as Zlib.
- the compressed image generation unit 113 and the above-described difference detection unit 112 are realized by an application program for screen transfer.
- the video generation unit 114 acquires video information on the external storage device 103 via the event acquisition unit 111 and generates new video information to be displayed on the display terminal 200. For example, when the video information stored in the external storage device 103 is in the WMV format, the video generation unit 114 converts the video information into the MPEG-2 format or the like. Therefore, the video generation unit 114 has a function of decoding original video information (decoding function) and a function of encoding new video information (encoding function).
- the video generation unit 114 generates a transmission video message to be transmitted to the display terminal 200 based on the generated new video information. For example, the video generation unit 114 generates a transmission video message by adding transmission control information such as a TCP (Transmission Control Protocol) / IP (Internet Protocol) header to the video information.
- transmission control information such as a TCP (Transmission Control Protocol) / IP (Internet Protocol) header to the video information.
- the communication device 100 includes a session information storage unit and a session manager.
- the session information storage unit stores session information representing information regarding the display terminal 200 that is establishing a session with the communication device 100.
- the session information storage unit includes user identification information for identifying a user, status information indicating whether the session is in use, transmission control indicating whether the transmission control is TCP or UDP (User Datagram Protocol) Session information in which information is associated with information such as format information indicating the format of reproducible video information is stored.
- the session information storage unit identifies a display terminal 200 that is a destination of a message transmitted from the communication apparatus 100.
- Store session information including information.
- the session manager manages communication (session) established with the communication device 100. For example, when a session is established with the communication apparatus 100, the session manager generates session information in which session state information, transmission control information, and the like are associated with each other, and stores the session information in the session information storage unit.
- the control unit 115 controls the performance of the screen transfer system and the performance of the video streaming system. For example, the control unit 115 compares the size of the difference area detected by the difference detection unit 112 with the threshold value stored in the condition storage unit 122, and generates a video when the size of the difference area is larger than the threshold value. Control is performed to lower the frame rate of the video information generated by the unit 114. Details of the performance control processing by the control unit 115 will be described later.
- the communication processing unit 116 transmits / receives a message to / from an external device such as the display terminal 200.
- the communication processing unit 116 includes a transmission unit 116a that transmits a message and a reception unit 116b that receives the message.
- the transmission unit 116 a transmits a transmission image message including the compressed image generated by the compressed image generation unit 113 to the display terminal 200.
- the transmission unit 116 a transmits the transmission video message generated by the video generation unit 114 to the display terminal 200.
- the transmission unit 116a transmits a message to be transmitted via the radio base station 300 with the display terminal 200 specified by the session manager as the destination.
- FIG. 3 is a block diagram of the display terminal 200 according to the first embodiment.
- the display terminal 200 includes a display 201, an input device 202, an antenna 203, an image buffer 221, a session information storage unit 222, an input / output interface 211, an image generation unit 212, and a video.
- a decoding unit 213, a session manager 214, and a wireless communication processing unit 215 are provided.
- the display terminal 200 includes a speaker for outputting sound.
- the display 201 is a display device realized by an LCD or the like.
- the input device 202 is realized by a digitizer or a touch screen that moves a cursor displayed on the screen of the display 201.
- the input information acquired by the input device 202 is passed to the input / output interface 211 (described later).
- the antenna 203 transmits and receives radio waves for wireless communication with an external device such as the communication device 100.
- the image buffer 221 is a storage unit that functions as a memory that stores images and a video memory that stores images.
- the session information storage unit 222 stores session information representing information regarding the communication apparatus 100 that is establishing a session.
- the session information storage unit 222 stores session information including session state information and transmission control information.
- the image buffer 221 and the session information storage unit 222 can be configured by any commonly used storage medium such as an HDD, an optical disk, a memory card, and a RAM.
- the input / output interface 211 is an input / output interface for the display 201 and the input device 202, and is realized by an application program such as GUI (Graphical User Interface).
- GUI Graphic User Interface
- the input / output interface 211 acquires image information from the image buffer 221 and displays it on the display 201.
- the input / output interface 211 acquires the image information sent from the communication apparatus 100 via the image generation unit 212 and writes it to the image buffer 221, and in addition to the function for GUI generated independently in the display terminal 200.
- the image information is written into the image buffer 221.
- the image generation unit 212 expands the compressed image received from the communication apparatus 100, and then writes the expanded image information to the designated drawing position of the drawing image buffer 221. That is, the image generation unit 212 displays a partial image generated by expanding the compressed image transmitted from the communication device 100 and received by the wireless communication processing unit 215 at a designated position on the display 201.
- the video decoding unit 213 decodes the encoded video received from the communication apparatus 100, and then writes the decoded video information into the drawing image buffer 221 at a specified interval. At this time, if the encoding method of the encoded video information sent from the communication device 100 and the encoding method that can be decoded by the display terminal 200 are different, the compressed video information cannot be decoded, It cannot be played.
- the session manager 214 manages communication (session) established with the communication device 100. For example, when the session manager 214 establishes a session with the communication apparatus 100, the session manager 214 generates session information in which session state information, transmission control information, and the like are associated with each other, and stores the session information in the session information storage unit 222.
- the wireless communication processing unit 215 transmits / receives a signal to / from the wireless base station 300 via the antenna 203.
- the wireless communication processing unit 215 includes a transmission unit 215a that transmits a message and a reception unit 215b that receives the message.
- the wireless communication processing unit 215 is realized by a wireless LAN function compliant with IEEE 802.11 or the like.
- the reception unit 215b of the wireless communication processing unit 215 demodulates the received wireless signal to generate a packet, and passes the corresponding data to the image generation unit 212 according to the message type of the packet.
- the packet is a packet of a transmission image message including a compressed image
- information such as the compressed image extracted from the packet and the number of pixels is passed to the image generation unit 212.
- the packet is a video information packet (packet of a transmission video message) of the video streaming system
- the encoded video extracted from the packet is passed to the video decoding unit 213.
- Whether the display terminal 200 remotely controls the communication device 100 using a screen transfer system or views video information using a video streaming system is determined via a GUI (Graphical User Interface) on the input / output interface 211.
- GUI Graphic User Interface
- the input device 202 acquires input information from the user using a digitizer or a touch screen.
- the input information is transmitted to the communication apparatus 100 via the wireless communication processing unit 215 after the coordinate information and the like are analyzed by the input / output interface 211.
- the communication device 100 executes application processing based on the input information received from the display terminal 200.
- the communication apparatus 100 acquires the image information to be updated, generates a transmission image message, and transmits the message to the display terminal 200.
- the user selects one of multimedia contents such as video data (video information), music data, and photo data stored on the communication apparatus 100 displayed on the GUI.
- the display terminal 200 determines multimedia content to be played based on user input information.
- identification information such as URI (Uniform Resource Identifier) is added to the multimedia content as an identifier for identifying a location on the network.
- the display terminal 200 After analyzing the selection operation from the user, the display terminal 200 starts a communication session for using the video streaming function of the communication device 100 based on the URI information.
- HTTP Hyper Text Transfer Protocol
- RTP Real-time Transport Protocol
- the communication device 100 detects that a communication session has been started from the display terminal 200
- the video information stored in the external storage device 103 is converted into new video information by the video generation unit 114. While performing the conversion, transmission control is performed so as to transmit to the display terminal 200 via the communication processing unit 116.
- FIG. 4 is a flowchart illustrating an overall flow of the image transmission process according to the first embodiment.
- the application program acquires user input information transmitted from the display terminal 200, and executes a process according to the input information (step S401).
- the event acquisition unit 111 acquires that the image has been updated as an event.
- the difference detection unit 112 waits until an image update is notified from the event acquisition unit 111 or until a predetermined time for executing the difference detection process elapses (step S402).
- the difference detection unit 112 detects a difference area between the new image information generated by the updated image generation unit 111a of the event acquisition unit 111 and the image information buffered in the image buffer 121. (Step S403).
- the processing of the screen transfer system includes compression processing of image information with a large processing load. For this reason, when the communication device 100 simultaneously performs the function of the video streaming system, the generation time of the transmission image (compressed image) becomes longer than usual with the increase in the amount of calculation, and the response of the screen transfer system decreases. Problems can arise. In addition, when the communication band of the radio base station 300 located on the way between the display terminal 200 and the communication device 100 is limited, the delay time of radio transmission becomes longer than usual, and the response of the screen transfer system May cause a problem of lowering.
- the processing performance of the video streaming system is reduced in advance.
- control unit 115 compares the size (area value) of the difference region with the threshold value of the area value stored in the condition storage unit 122 and determines whether or not the area value of the difference region exceeds the threshold value. (Step S404).
- the control unit 115 instructs the video generation unit 114 before the compressed image generation unit 113 starts processing to generate a transmission image message.
- An instruction to lower the frame rate (generation frame rate) designated when generating new video information is issued (step S405).
- the video generation unit 114 updates the video generation information in the video generation information storage unit 123 in accordance with an instruction from the control unit 115. For example, when the control unit 115 gives an instruction to change the generation frame rate to 15 fps, the video generation unit 114 updates the frame rate of the video generation information that was 30 fps (frames per second) to 15 fps.
- the method of specifying the frame rate from the control unit 115 to be lowered is not limited to the above.
- any method such as a method for designating an amount for reducing the frame rate and a method for designating a rate for reducing the frame rate can be applied.
- the video generation unit 114 After updating to lower the frame rate, the video generation unit 114 generates new video information at the updated frame rate, and generates a transmission video message to be transmitted to the display terminal 200. Thereby, it is possible to reduce the amount of calculation related to video frame generation in the video streaming function. In the above example, the amount of data transmitted on the network can be halved by changing the frame rate from 30 fps to 15 fps.
- the compressed image generation unit 113 generates a transmission image message in a state where the generation frame rate of the new video is lowered (step S406). Then, the transmission unit 116a transmits the generated transmission image message to the display terminal 200 (step S407). As a result, the processing time for generating the compressed image is not extended, and the influence on the limitation of the communication band in the wireless transmission path of the network can be reduced.
- the present embodiment is configured such that the generation frame rate of the video generation unit 114 operating simultaneously is lowered in advance. Thereby, it is possible to reduce the influence of the generation processing of the video information by the video generation unit 114 on the generation processing of the compressed image, and to transmit the updated image toward the display terminal 200 with good response.
- the control unit 115 performs control to increase the generation frame rate again.
- step S404 determines whether or not a threshold value (second threshold value) has been exceeded.
- control unit 115 instructs the video generation unit 114 to increase the generation frame rate of new video information (step S409). That is, it instructs to update the information in the video generation information storage unit 123.
- step S408 NO
- the process is continued without changing the generation frame rate.
- FIG. 5 is a sequence diagram illustrating an operation example of the communication apparatus 100 according to the first embodiment.
- the communication apparatus 100 transmits an update image by the screen transfer system to one of the two display terminals 200 and transmits video information by the video streaming system to the other display terminal 200. It shall be.
- the threshold value stored in the condition storage unit 122 is 307200 pixels obtained by multiplying the vertical width of 640 pixels by the horizontal width of 480 pixels.
- the difference detection unit 112 detects a screen update (difference area) (step S501), and the area value of the difference area is 480000 pixels obtained by multiplying the vertical width by 800 pixels by the horizontal width of 600 pixels. Suppose there was. In this case, since the area value is larger than the threshold value, the control unit 115 performs control to reduce the generation frame rate of the video information (step S502).
- the generation frame rate of video streaming is changed from 30 fps to 15 fps.
- the compressed image generation unit 113 performs transmission image (compressed image) generation processing and transmission processing (step S503).
- the control unit 115 performs control to increase the generated frame rate again (step S504). In the example shown in the figure, the process of increasing again from 15 fps to 30 fps is performed.
- the video streaming function precedes the generation of the transmission image.
- the generation frame rate can be reduced. Accordingly, it is possible to provide a plurality of different functions to a plurality of display terminals while maintaining the responsiveness regarding the display of the update screen. That is, it is possible to efficiently control the performance of a plurality of functions provided to the display terminal.
- one fixed value is defined as the threshold value of the area value.
- a plurality of threshold values are set, and an applied threshold value among the plurality of threshold values is dynamically changed based on an actual measurement value of a generation frame rate of video information of the video streaming function. To do.
- the configuration of the communication device is different from that of the first embodiment. Since the configuration of the communication system according to the second embodiment is the same as that of FIG. 1 showing the configuration of the communication system according to the first embodiment, description thereof is omitted.
- the configurations of the display terminal 200, the radio base station 300, and the network 400 are the same as those in the first embodiment, and thus description thereof is omitted.
- FIG. 6 is a block diagram illustrating a configuration of a communication device 600 according to the second embodiment.
- the communication device 600 includes a display 101, an input device 102, an external storage device 103, an image buffer 121, a condition storage unit 622, a video generation information storage unit 123, and an event acquisition unit 111.
- FIG. 2 is a block diagram showing the configuration of the communication apparatus 100 according to the first embodiment, and thus are denoted by the same reference numerals and description thereof is omitted here.
- the condition storage unit 622 is different from the condition storage unit 122 of the first embodiment in that a plurality of area value threshold values (threshold list) are stored.
- FIG. 7 is a diagram illustrating an example of a data structure of threshold values stored in the condition storage unit 622. As shown in FIG. 7, the condition storage unit 622 stores a plurality of threshold values represented by the number of vertical pixels and the number of horizontal pixels in a list format. For convenience of explanation, the threshold value is represented by the product of the number of pixels in FIG.
- the video generation unit 614 is different from the video generation unit 114 of the first embodiment in that a function for measuring an actual measurement value of the frame rate when generating new video information is added. Yes.
- the video generation unit 614 measures the processing time from the start of the decoding process of the video information stored in the external storage device 103 to the completion of the generation process of at least new video information, thereby obtaining the actual value of the frame rate. calculate.
- the control unit 615 compares the measured value of the measured frame rate with the frame rate (target value of the frame rate) instructed to the video generation unit 614, and compares the measured value with the area value when the measured value is smaller than the target value.
- the function of reducing the threshold value used in the above is added to the function of the control unit 115 of the first embodiment.
- the video information transmission process means a process for realizing a video streaming system. That is, it means processing in which the video generation unit 614 generates and transmits video information to be transmitted to the display terminal 200 from the video information in the external storage device 103.
- FIG. 8 is a flowchart illustrating an overall flow of the video information transmission process according to the second embodiment.
- the video generation unit 614 starts decoding video information in the external storage device 103 designated by the display terminal 200 (step S801).
- the video generation unit 614 encodes the decoded video information into video information in a format suitable for the designated display terminal 200 (step S802).
- the video generation unit 614 transmits the encoded video information to the display terminal 200 (step S803). Note that the processing so far is normal video information generation and transmission processing that is also executed by the video generation unit 114 of the first embodiment.
- the video generation unit 614 measures an actual measurement value of a frame rate corresponding to a processing time from the start of decoding of video information to at least completion of a new video information generation process (step S804). ).
- the video generation unit 614 may be configured to measure an actual measurement value of the frame rate corresponding to the processing time from the start of decoding of the video information to the completion of transmission of the video information to the display terminal 200.
- the video generation unit 614 calculates an elapsed time after notifying the control unit 615 of the actual measurement value of the previous frame rate (step S805). Then, the video generation unit 614 determines whether or not the elapsed time has exceeded a predetermined threshold (step S806), and when it has exceeded (step S806: YES), notifies the control unit 615 of the measured actual value ( Step S807). If the elapsed time does not exceed the threshold value (step S806: NO), the video information transmission process is terminated without notifying the actual measurement value.
- the video generation unit 614 measures the measured value of the frame rate and notifies the control unit 615 at a predetermined time interval. As will be described later, the control unit 615 changes a threshold value to be compared with the area value based on the notified actual measurement value.
- the threshold value changing process means a process in which the control unit 615 changes the threshold value according to the actually measured value of the frame rate.
- FIG. 9 is a flowchart showing an overall flow of the threshold value changing process in the second embodiment.
- the threshold value changing process shown in the figure is executed in parallel with the image transmission process shown in FIG. That is, when the threshold value is changed according to the actually measured value by the threshold value changing process, the image transmission process of FIG. 4 is executed using the changed threshold value.
- control unit 615 receives an actual measurement value of the frame rate from the video generation unit 614 (step S901).
- the control unit 615 determines whether the video streaming function maintains a predetermined performance based on the received actual measurement value. That is, the control unit 615 compares the actual measurement value with the target value of the frame rate instructed to the video generation unit 614, and determines whether or not the actual measurement value is larger than the target value (step S902).
- the target value may be specified by referring to the frame rate in the video generation information stored in the video generation information storage unit 123, for example, or may be stored in another storage unit (not shown) or the like. You may specify with reference to a value.
- step S902 When the actual measurement value is not larger than the target value (step S902: NO), that is, when it is detected that the frame rate of the video streaming function is not maintained, the control unit 615 determines the size (area value) of the difference region. Control for lowering the threshold for comparison is performed (step S903).
- the control unit 615 updates the threshold value by setting, as a new threshold value, a threshold value that is one smaller than the currently specified threshold value among the plurality of threshold values stored in the condition storage unit 622.
- the threshold update method is not limited to this, and any method such as a method of lowering the threshold by subtracting a predetermined value or a method of decreasing the threshold by a predetermined ratio can be applied.
- step S902 When the measured value is larger than the target value (step S902: YES), the control unit 615 determines whether or not the elapsed period after further lowering the threshold exceeds a threshold (third threshold) set in advance for the period. (Step S904).
- control unit 615 When the elapsed period exceeds the threshold of the period (step S904: YES), the control unit 615 performs control to increase the threshold for comparison with the size (area value) of the difference region (step S905). For example, the control unit 615 Updates the threshold value by setting, as a new threshold value, a threshold value that is one greater than the currently specified threshold value among the multiple threshold values stored in the condition storage unit 622.
- step S904 NO
- the processing is continued without changing the threshold.
- 10 and 11 are sequence diagrams illustrating an operation example of the communication apparatus 600 according to the second embodiment.
- the communication apparatus 600 provides a screen transfer function for one of the two display terminals 200 and a video streaming function for the other display terminal 200.
- the initial value of the threshold is 307200 pixels obtained by multiplying the vertical width of 640 pixels by the horizontal width of 480 pixels.
- the initial value of the generation frame rate stored in the video generation information storage unit 123 is 30 fps.
- FIG. 10 shows an example in which the user activates the web browser of the communication device 600 via the display terminal 200 and plays a video such as Flash via the web browser (step S1001).
- a moving image having a vertical width of 450 pixels and a horizontal width of 338 pixels is reproduced.
- the method using a fixed threshold value as in the first embodiment supports different system configurations depending on the situation, such as the actual processing capacity of the communication device and the actual communication bandwidth on the network. Can not do it. Therefore, in the second embodiment, the threshold value can be dynamically changed by the video generation unit 614 notifying the control unit 615 of the actual value of the generation frame rate of new video information every predetermined period. And
- the video generation unit 614 notifies the control unit 615 of the measured value of the frame rate at regular intervals (step S1002).
- the video generation unit 614 notifies the control unit 615 of the measured value of the frame rate at regular intervals (step S1002).
- an example in which an actual measurement value that has decreased to 23 fps is notified is shown.
- the control unit 615 controls to lower the threshold when detecting that the generated frame rate has decreased.
- the threshold value is updated from 307200 pixels to 76800 pixels obtained by multiplying the vertical width of 320 pixels by the horizontal width of 240 pixels (step S1003).
- step S1004 when a screen update is detected (step S1004), the updated threshold value is compared with the area value of the difference area, and if the area value is larger than the threshold value, control is performed to lower the generated frame rate in the video streaming function. (Step S1005).
- FIG. 11 is a sequence diagram showing an operation example in such a case.
- step S1101 since the measured value of the frame rate notified from the video generation unit 614 (step S1101) has achieved the target value, the threshold value lowered to 76800 pixels is multiplied by 400 pixels in the vertical width by 300 pixels in the horizontal width. An example of increasing to 120,000 pixels is shown (step S1102). Thereafter, when a screen update is detected (step S1103), the control unit 615 compares the updated threshold value with the area value of the difference region.
- the figure shows an example in which the generation frame rate is controlled to be increased because it is determined that the area value is smaller than the changed threshold value and a certain period has elapsed after the frame rate is decreased (step S1104).
- the threshold value used for determining whether or not to lower the video streaming frame rate can be dynamically switched based on the actually measured value of the frame rate. Accordingly, it is possible to provide a plurality of different functions to a plurality of display terminals while taking into consideration the computing capability of the communication apparatus and the communication band of the network between the display terminal and the communication apparatus.
- FIG. 12 is an explanatory diagram illustrating a hardware configuration of the communication device and the display device according to the first and second embodiments.
- the communication device and the display device according to the first and second embodiments are connected to a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM 53, and a network.
- Communication I / F 54 HDD (Hard Disk Drive), external storage device such as CD (Compact Disc) drive device, display device such as display device, input device such as keyboard and mouse, etc.
- a bus 61 to be connected is provided.
- the communication program executed by the communication device is an installable or executable file, such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), It is recorded on a computer-readable recording medium such as a CD-R (Compact Disk Recordable) or DVD (Digital Versatile Disk).
- a CD-ROM Compact Disk Read Only Memory
- FD flexible disk
- CD-R Compact Disk Recordable
- DVD Digital Versatile Disk
- the communication program executed by the communication device according to the first and second embodiments is stored on a computer connected to a network such as the Internet, and is provided by being downloaded via the network. May be.
- the communication program executed by the communication device according to the first and second embodiments may be provided or distributed via a network such as the Internet.
- the communication programs of the first and second embodiments may be provided by being incorporated in advance in a ROM or the like.
- the communication program executed by the communication device includes the above-described units (event acquisition unit, difference detection unit, compressed image generation unit, video generation unit, control unit, communication processing unit, session).
- the CPU 51 processor
- the CPU 51 reads the communication program from the storage medium and executes it to load the above-mentioned units onto the main storage device. It is generated on the main memory.
- the communication device, the communication method, and the communication program according to the present invention have the function of sharing the application screen between the communication device and the display terminal, and the function of transmitting the video information from the communication device and displaying it on the display terminal. Suitable for the system to be realized.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
表示装置に表示する表示画像を記憶する画像バッファ121と、表示画像を更新するための更新画像を生成する更新画像生成部111aと、更新画像と表示画像との間で画素情報が一致しない領域を表す差分領域を検出する差分検出部112と、差分領域の画像を圧縮した圧縮画像を生成する圧縮画像生成部113と、指定されたフレームレートで動画像を生成する映像生成部114と、差分領域の大きさが閾値より大きい場合に、映像生成部114に対して指定するフレームレートを下げるように制御する制御部115と、圧縮画像および動画像を表示装置に送信する送信部116aと、を備える。
Description
この発明は、装置間でアプリケーションの画面を共有する機能を実現する通信装置、通信方法、および通信プログラムに関する。
ユーザビリティの向上を目的として、最低限の入出力インターフェースを有する端末装置をユーザ側に配し、複雑な演算処理は遠隔地に設置された通信装置上で実行するコンピューティングシステムが存在する。例えば、特許文献1では、通信装置(パーソナルコンピュータ、サーバコンピュータ等)の画面情報を、ネットワークを介して遠隔の表示装置(表示端末)に投影するシステム(画面転送システム)に関する技術が提案されている。
このようなシステムでは、表示端末からの入力情報(デジタイザによるペン入力等)は、同様にネットワークを介して通信装置に送信され、実際のアプリケーションプログラム処理は通信装置が実行する。その後、実行結果および画面更新情報が、ネットワークを介して表示端末に転送される。表示端末は、受信された画面更新情報により出力処理(描画処理)を実行する。
一方、遠隔ネットワーク上の通信装置からの画面情報を表示端末へ効率よく伝送するための技術として、VNC(Virtual Network Computing)が知られている。このVNCでは、画面の更新を検知した際、読み出した画素情報の値を前回表示端末に伝送した画素情報の値と比較し、前回から変化した更新画面領域を決定する。さらに更新画面領域を静止画圧縮した後、表示端末に対して、圧縮した画面の差分情報のみを伝送する。これにより、通信帯域の消費を抑えることができる。従って、ウィンドウの移動等、画面の変更が大きい場合には送信すべき画面情報量が増加し、反対に画面の変更が小さい場合には送信すべき画面情報量は減少する。
また、通信装置に接続されたHDD(Hard Disk Drive)やSSD(Solid State Drive)等の外部記憶装置に記憶した映像データ(映像情報)、写真データ、および音楽データなどのメディアコンテンツを、ネットワークを介して伝送し、遠隔の表示端末から閲覧する映像ストリーミング機能を提供可能なマルチメディアシステムが知られている。
例えば、UPnP(Universal Plug and Play)では、家庭内のパーソナルコンピュータや周辺機器、テレビやHDDレコーダなどのAV(Audio Visual)機器を、ネットワークを通じて相互接続するための技術仕様を取り決めている。また、通信方式、伝送制御方式、および取り扱うコンテンツ種別など、より広範囲の技術仕様を取り決めたDLNA(Digital Living Network Alliance)なども存在する。このシステムでは、クライアント端末がネットワーク上のサーバ装置を発見し、当該サーバ装置上のコンテンツをストリーミング再生にて閲覧する。
ここで、上記マルチメディアシステムで、通信装置の外部記憶装置に記憶された映像情報の種別と、表示端末にて再生可能な映像情報の種別とが異なる場合を考える。例えば、通信装置側の映像情報がWMV形式であり、表示端末で再生可能な映像情報がMPEG-2(Generic coding of moving pictures and associated audio information)形式であるとする。この場合、ユーザは表示端末を介して通信装置の映像情報を閲覧することはできない。従って、そのような状況では、通信装置が映像情報を表示端末で再生可能な形式に変換(トランスコード)する方法が考えられる。
トランスコード処理は、映像情報の復号(デコード)処理を行った上で、新たな形式に符号化(エンコード)する処理である。上述の例では、WMV形式の映像情報をデコードした後、所定のフレームレートまたはビットレート条件に即したMPEG-2形式の映像情報へとエンコードする。このように、一般的に、映像情報のトランスコード処理は、演算量が多い処理といえる。
そして、通信装置が、上述のような画面転送システムとマルチメディアシステムとの双方の機能を同時に提供する場合、表示端末に送信する送信画像を生成する処理(更新画面領域を静止画圧縮する処理)と、映像情報のトランスコード処理とが同時に発生する場合がある。そのような状況では、通信装置が行うべき演算量が非常に多くなるという問題が生じうる。
特許文献2では、2方向の撮像素子を有する撮影装置において、一方の方向で被写体を検出した場合に、予め定めた優先度に基づいて、撮像の入力フレームレートを変更する技術が提案されている。これにより、状況に応じた適切な映像情報の記録・送信を実現している。
特許文献2は、複数の方向の映像入力を行う場合の技術であり、上述のような複数の機能を備えた通信装置の演算量を調整する技術ではない。仮に特許文献2の方法を上述のような通信装置に適用する場合、通信装置で複数の機能が動作開始した時点で、映像ストリーミングのフレームレートを下げる方法が考えられる。
しかしながら、特許文献2のように特定の機能が動作を開始したことをきっかけに、他の機能の品質を下げるように制御する方法を適用すると、演算量の調整が非効率となる可能性がある。
例えば、上述の画面転送システムでは、通信装置上で画面の更新が全くない場合や、ユーザのマウス操作に伴う画面更新時のように更新領域の面積が小さい場合には、送信画像生成に伴う演算量が少ないため、映像ストリーミングのフレームレートを下げなくても性能を維持することできる。ところが、特許文献2の方法を単純に適用すると、画面転送システムの開始を契機に映像ストリーミングのフレームレートを下げるため、無用に品質を低下させるおそれがある。
本発明は、上記に鑑みてなされたものであって、表示端末に対して提供する複数の機能の性能を効率的に制御することができる通信装置、通信方法および通信プログラムを提供することを目的とする。
本発明は、画像を表示する表示装置にネットワークを介して接続する通信装置であって、前記表示装置に表示する表示画像を記憶する画像記憶部と、前記表示画像を更新するための更新画像を生成する更新画像生成部と、前記更新画像と前記表示画像との間で画素情報が一致しない領域を表す差分領域を検出する検出部と、前記差分領域の画像を圧縮した圧縮画像を生成する圧縮画像生成部と、指定されたフレームレートで動画像を生成する動画像生成部と、前記差分領域の大きさと第1閾値とを比較し、前記差分領域の大きさが前記第1閾値より大きい場合に、前記動画像生成部に対して指定するフレームレートを下げるように制御する制御部と、前記圧縮画像および前記動画像を前記表示装置に送信する送信部と、を備えたことを特徴とする。
また、本発明は、上記装置で実行することができる方法およびプログラムである。
本発明によれば、表示端末に対して提供する複数の機能の性能を効率的に制御することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる装置、方法およびプログラムの最良な実施の形態を詳細に説明する。
(第1の実施の形態)
第1の実施の形態にかかる通信システムは、アプリケーションを実行する通信装置と、アプリケーションの実行により更新された画面を表示する表示端末(表示装置)とを備える。通信装置は、アプリケーションプログラムの動作により発生する画像情報の差分領域が所定の閾値より大きい場合に、映像(動画像)を生成するときのフレームレートを下げるように制御する。
第1の実施の形態にかかる通信システムは、アプリケーションを実行する通信装置と、アプリケーションの実行により更新された画面を表示する表示端末(表示装置)とを備える。通信装置は、アプリケーションプログラムの動作により発生する画像情報の差分領域が所定の閾値より大きい場合に、映像(動画像)を生成するときのフレームレートを下げるように制御する。
図1は、第1の実施の形態にかかる通信システムの構成を示すブロック図である。第1の実施の形態にかかる通信システムは、通信装置の画面に生じたイベントによる更新部分の画像を表示端末に伝送するシステムである。以下では、このような通信システムを画面転送システムと呼ぶ。
図1に示すように、第1の実施の形態にかかる通信システム10は、通信装置としての通信装置100と、通信装置100とネットワーク400を介して接続されたアクセスポイントとしての無線基地局300と、無線基地局300と無線LANにより無線通信する表示装置としての表示端末200aおよび200b(以下、表示端末200ともいう)とを備えている。
通信システム10は、通信装置100上で動作するアプリケーションソフトウェアの画面を、無線基地局300を介して表示端末200へ無線転送し、表示端末200との間で、通信装置100のアプリケーション画面を表示して共有する機能を有している。通信システム10では、通信装置100の側で更新された画面をリアルタイムに表示端末200へ転送するために、通信装置100の画面内で更新された部分の画像情報のみを転送する。すなわち、通信装置100は、画像情報を表示する表示端末200に対して、無線基地局300を介して画像情報を送信可能である。
また、通信装置100は、外部記憶装置(同図では図示せず)上の映像情報を取得し、表示端末200に表示させる新たな映像情報を生成して送信する機能を有している。以下では、映像情報を変換した上で送信するシステムを映像ストリーミングシステムと呼ぶ。同図の例では、通信装置100が、生成した新たな映像情報を、無線基地局300を介して一方の表示端末200へ無線転送する。例えば、表示端末200aと通信装置100とは画面転送システムを実現し、表示端末200bと通信装置100とは映像ストリーミングシステムを実現する。すなわち、通信装置100は複数の表示端末200に対して、複数の異なる機能を同時に提供することができる。
しかし、通信装置100で送信画像の生成や映像情報の変換などの演算量の多い複数の処理を同時に動作させた場合、利用可能な資源の不足に伴い、表示端末200での更新画面の表示レスポンスが低下する問題が考えられる。この問題の原因としては、通信装置100での送信画像の生成時間が長くなることや、無線伝送路上に多くのトラフィックが流れることによる伝送遅延の増加が挙げられる。さらに、画面転送システムでは、ユーザが通信装置100のデスクトップ画面の更新を確認しつつ入力操作を行うため、画面の表示に関するレスポンス性を維持することは重要である。したがって、第1の実施の形態では、通信装置100の画面を遠隔操作する表示端末200のレスポンス性を低下させずに、複数の表示端末200に対して異なる複数の機能を提供可能とする。
表示端末200は、通信装置100から画像情報を受信し、受信した画像情報を伸張して画面内の対応する部分に表示する。また、表示端末200は、通信装置100から受信したメディアデータを、ディスプレイやスピーカを通じて再生する。
無線基地局300は、IEEE802.11などの無線通信プロトコルに準拠した無線通信の基地局である。ネットワーク400は、例えば、IEEE802.3などの有線通信プロトコルに準拠したネットワークである。なお、ネットワーク形態はこれに限られず、他のプロトコルで接続するように構成してもよい。また、表示端末200と通信装置100とを有線ネットワークで接続するように構成してもよい。
次に、通信装置100の詳細な構成について図2を用いて説明する。図2は、第1の実施の形態にかかる通信装置100のブロック図である。同図に示すように、通信装置100は、ディスプレイ101と、入力デバイス102と、外部記憶装置103と、画像バッファ121と、条件記憶部122と、映像生成情報記憶部123と、イベント取得部111と、差分検出部112と、圧縮画像生成部113と、映像生成部114と、制御部115と、通信処理部116と、を備えている。
ディスプレイ101は、LCD(Liquid Crystal Display)などで実現される表示装置である。入力デバイス102は、ディスプレイ101の画面に表示されたカーソルを移動操作するマウスなどで実現される。この他、入力デバイス102としては、キーボード、トラックボールなどを用いてもよい。
外部記憶装置103は、HDDやSSDなど大容量のストレージデバイスによって実現される。外部記憶装置103は、映像データ(映像情報)や音楽データ、写真データといったマルチメディアコンテンツを記憶する。
画像バッファ121は、画像を記憶する記憶部である。条件記憶部122は、制御部115が判定に用いる条件として、画像情報の大きさ(画素数)の閾値(第1閾値)を記憶する。例えば、条件記憶部122は、画像情報の縦幅の画素数と横幅の画素数とを掛け合わせた総画素数、すなわち画素の面積値によって導出される予め定められた閾値を記憶する。
映像生成情報記憶部123は、映像生成部114が新たな映像情報を生成するときに参照する映像生成情報を記憶する。映像生成情報は、例えば、生成する映像情報のフレームレート、ビットレート、解像度、および符号化方式などの情報を含む。通信装置100に接続する表示端末200が複数存在する場合は、映像生成情報を表示端末200ごとに複数用意するように構成してもよい。
なお、画像バッファ121、条件記憶部122および映像生成情報記憶部123は、HDD、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
イベント取得部111は、アプリケーションプログラム(図示せず)等の動作により発生するイベントを取得する。例えば、イベント取得部111は、コンピュータを統括制御するオペレーティングシステム(OS)と、このOSに組み込まれたディスプレイドライバと同等の機能を有する仮想ディスプレイドライバと、OS上で動作するアプリケーションソフトウェアなどのアプリケーションプログラムで実現される。
イベント取得部111は、アプリケーションソフトウェアにより画面が更新される場合や、マウス操作などでカーソルが移動操作されて画面内の任意の領域の画像が更新される場合に、画面(画像)が更新されたことをイベントとして取得する。
イベント取得部111は、詳細な構成として更新画像生成部111aを備えている。更新画像生成部111aは、例えばOSに組み込まれた仮想ディスプレイドライバとして実現できる。更新画像生成部111aは、画面更新のイベントが取得された場合、OSのグラフィックエンジンから描画命令を取得し、描画処理を行うことで表示端末200に表示させる画像を表す表示画像を生成して画像バッファ121へ順次出力して記憶する。これにより、画像バッファ121には、表示画像が順次保持される。
なお、以下では、画像バッファ121に保持されている画像を表示画像といい、更新画像生成部111aにより新たに生成され、画像バッファ121に保存する前の画像を更新画像という。このように、更新画像生成部111aは、アプリケーションプログラムの動作により発生するイベントに従って表示端末200に表示させる更新画像を生成する。
差分検出部112は、画像バッファ121に順次保持される新旧の表示画像で画素情報が一致しない領域を表す差分領域を検出する。すなわち、差分検出部112は、更新画像生成部111aにより更新画像が生成されたことを通知された場合に、生成された新たな画像情報(更新画像)と画像バッファ121にバッファリングされた画像情報(表示画像)との間の差分領域を検出する。差分検出部112は、例えば、2つの画像情報間で一致しない部分を含む最小の矩形を、差分領域として検出する。なお、差分検出部112が、所定の時間間隔毎に差分の有無を確認するように構成してもよい。
圧縮画像生成部113は、差分検出部112により検出された差分領域の画像を送信用に圧縮処理した圧縮画像を生成する。圧縮画像は、JPEG(Joint Photographic Experts Group)のような不可逆圧縮を用いて生成してもよいし、Zlibのような可逆圧縮方式を用いて生成してもよい。
なお、圧縮画像生成部113および上述の差分検出部112は、画面転送用のアプリケーションプログラムなどにより実現される。
映像生成部114は、イベント取得部111を介して外部記憶装置103上の映像情報を取得し、表示端末200に表示させるための新たな映像情報を生成する。映像生成部114は、例えば、外部記憶装置103に記憶された映像情報がWMV形式である場合、MPEG-2形式などに変換する。従って、映像生成部114は、元の映像情報を復号処理する機能(デコード機能)と、新たな映像情報を符号化処理する機能(エンコード機能)とを有している。
さらに、映像生成部114は、生成した新たな映像情報を元に、表示端末200に送信する送信映像メッセージを生成する。例えば、映像生成部114は、映像情報にTCP(Transmission Control Protocol)/IP(Internet Protocol)ヘッダなどの伝送制御情報を付加することにより送信映像メッセージを生成する。
なお、同図には明示していないものの、通信装置100はセッション情報記憶部とセッションマネージャとを有している。
セッション情報記憶部は、通信装置100とセッションを確立中の表示端末200に関する情報を表すセッション情報を記憶する。例えば、セッション情報記憶部は、ユーザを識別するユーザ識別情報などと、セッションが利用中か否かを示す状態情報、伝送制御がTCPであるかUDP(User Datagram Protocol)であるかを表す伝送制御情報、および、再生可能な映像情報の形式を表す形式情報などの情報とを対応づけたセッション情報を記憶する。
1台の通信装置100に対して、複数の表示端末200がセッションを確立している状態では、セッション情報記憶部は、通信装置100から送信するメッセージの宛先とする表示端末200を識別する端末識別情報を含むセッション情報を記憶する。
セッションマネージャは、通信装置100との間で確立した通信(セッション)を管理する。例えば、セッションマネージャは、通信装置100とセッションを確立したときに、セッションの状態情報、および伝送制御情報などを対応づけたセッション情報を生成してセッション情報記憶部に記憶する。
制御部115は、画面転送システムの性能、および、映像ストリーミングシステムの性能を制御する。例えば、制御部115は、差分検出部112により検出された差分領域の大きさと、条件記憶部122に記憶されている閾値とを比較し、差分領域の大きさが閾値より大きい場合に、映像生成部114が生成する映像情報のフレームレートを下げるように制御する。制御部115による性能制御処理の詳細については後述する。
通信処理部116は、表示端末200などの外部装置との間でメッセージを送受信する。通信処理部116は、メッセージを送信する送信部116aと、メッセージを受信する受信部116bとを備えている。例えば、送信部116aは、圧縮画像生成部113により生成された圧縮画像を含む送信画像メッセージを表示端末200に送信する。また、送信部116aは、映像生成部114によって生成された送信映像メッセージを表示端末200に送信する。
なお、送信部116aは、セッションマネージャにより特定された表示端末200をあて先として、送信すべきメッセージを無線基地局300を介して送信する。
次に、表示端末200の詳細な構成について図3を用いて説明する。図3は、第1の実施の形態にかかる表示端末200のブロック図である。同図に示すように、表示端末200は、ディスプレイ201と、入力デバイス202と、アンテナ203と、画像バッファ221と、セッション情報記憶部222と、入出力インターフェース211と、画像生成部212と、映像復号部213と、セッションマネージャ214と、無線通信処理部215と、を備えている。この他、同図には図示していないが、表示端末200は音声を出力するためのスピーカを備える。
ディスプレイ201は、LCDなどで実現される表示装置である。入力デバイス202は、ディスプレイ201の画面に表示されたカーソルを移動操作するデジタイザやタッチスクリーンなどで実現される。入力デバイス202が取得した入力情報は、入出力インターフェース211(後述)に渡される。
アンテナ203は、通信装置100などの外部装置との間で無線通信するための電波を送受信する。
画像バッファ221は、画像を記憶するメモリおよび映像を記憶するビデオメモリとして機能する記憶部である。
セッション情報記憶部222は、セッションを確立中の通信装置100に関する情報を表すセッション情報を記憶する。例えば、セッション情報記憶部222は、セッションの状態情報、および伝送制御情報などを含むセッション情報を記憶する。
なお、画像バッファ221およびセッション情報記憶部222は、HDD、光ディスク、メモリカード、RAMなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
入出力インターフェース211は、ディスプレイ201および入力デバイス202に対する入出力のインターフェースであり、GUI(Graphical User Interface)などのアプリケーションプログラムによって実現される。
例えば、入出力インターフェース211は、画像バッファ221から画像情報を取得し、ディスプレイ201に表示する。また、入出力インターフェース211は、通信装置100から送られた画像情報を、画像生成部212を介して取得し、画像バッファ221に書き込む機能に加え、表示端末200内で独自に生成されたGUI用の画像情報を画像バッファ221に書き込む機能を有する。
画像生成部212は、通信装置100から受信した圧縮画像を伸張した後、伸張した画像情報を、描画用の画像バッファ221の指定描画位置へ書き込む。すなわち、画像生成部212は、通信装置100から送信され無線通信処理部215により受信された圧縮画像を伸張して生成した部分画像をディスプレイ201の指定位置へ表示する。
映像復号部213は、通信装置100から受信した符号化映像を復号処理した後、復号した映像情報を、描画用の画像バッファ221へ指定間隔で書き込む。この時、通信装置100から送られた符号化映像情報の符号化方式と、表示端末200が復号可能な符号化方式が異なる場合は、圧縮された映像情報を復号することはできず、映像を再生することはできない。
セッションマネージャ214は、通信装置100との間で確立した通信(セッション)を管理する。例えば、セッションマネージャ214は、通信装置100とセッションを確立したときに、セッションの状態情報、および伝送制御情報などを対応づけたセッション情報を生成してセッション情報記憶部222に記憶する。
無線通信処理部215は、無線基地局300との間でアンテナ203を介して信号を送受信する。無線通信処理部215は、メッセージを送信する送信部215aと、メッセージを受信する受信部215bとを備えている。無線通信処理部215は、IEEE802.11などに準拠した無線LAN機能によって実現される。
例えば、無線通信処理部215の受信部215bは、受信した無線信号を復調してパケットを生成し、パケットのメッセージ種別に応じて画像生成部212へ該当データを渡す。例えば、パケットが圧縮画像を含む送信画像メッセージのパケットであった場合、そのパケットから抽出した圧縮画像および画素数などの情報が画像生成部212に渡される。また、例えば、パケットが映像ストリーミングシステムの映像情報パケット(送信映像メッセージのパケット)であった場合、そのパケットから抽出した符号化映像が映像復号部213に渡される。
なお、表示端末200が、画面転送システムによる通信装置100の遠隔操作を行うか、映像ストリーミングシステムによる映像情報の視聴を行うかは、入出力インターフェース211上のGUI(Graphical User Interface)を介して、ユーザに選択させる方法が考えられる。
画面転送システムを利用している場合、入力デバイス202は、デジタイザやタッチスクリーンなどにより、ユーザからの入力情報を取得する。入力情報は、入出力インターフェース211で座標情報などを解析された後、無線通信処理部215を介して、通信装置100に送信される。この場合、通信装置100は、表示端末200より受信した入力情報を元に、アプリケーション処理を実行する。アプリケーション処理の結果として画面の領域内に更新が発生した場合、通信装置100は、更新する画像情報を取得して送信画像メッセージを生成した後、表示端末200に向けて送信する。
映像ストリーミングシステムを利用している場合、ユーザはGUI上に表示された、通信装置100に記憶された映像データ(映像情報)、音楽データ、および写真データなどのマルチメディアコンテンツのいずれかを選択する。表示端末200は、ユーザの入力情報を元に、再生すべきマルチメディアコンテンツを決定する。
例えば、UPnP規格によれば、マルチメディアコンテンツには、ネットワーク上の位置を識別するための識別子として、URI(Uniform Resource Identifier)等の識別情報が付加されている。表示端末200は、ユーザからの選択操作を解析した後、上記URI情報を元に、通信装置100の映像ストリーミング機能を利用するための通信セッションを開始する。この時、通信セッションとしては、HTTP(Hyper Text Transfer Protocol)などを用いることが考えられるが、RTP(Real-time Transport Protocol)のような伝送制御を用いても良い。映像ストリーミングシステムの場合、通信装置100は、表示端末200から通信セッションが開始されたことを検出した場合に、外部記憶装置103に記憶されている映像情報を映像生成部114によって新たな映像情報に変換しながら、通信処理部116を介して表示端末200に送信するように伝送制御を行う。
次に、このように構成された第1の実施の形態にかかる通信装置100による画像送信処理について図4を用いて説明する。図4は、第1の実施の形態における画像送信処理の全体の流れを示すフローチャートである。
まず、アプリケーションプログラムが、表示端末200から送信されたユーザの入力情報を取得し、入力情報に応じた処理を実行する(ステップS401)。なお、アプリケーションプログラムの実行により画面が更新される場合は、イベント取得部111が、画像が更新されたことをイベントとして取得する。
差分検出部112は、イベント取得部111から画像の更新が通知されるまで、または、差分検出処理を実行するための所定の時間が経過するまで待機する(ステップS402)。
待機処理の後、差分検出部112は、イベント取得部111の更新画像生成部111aにより生成された新たな画像情報と、画像バッファ121にバッファリングされた画像情報との間の差分領域を検出する(ステップS403)。
上述のように、画面転送システムでは、検出された差分領域の画像情報のみを圧縮して表示端末200に送信する。このように画面転送システムの処理には処理負荷の大きい画像情報の圧縮処理が含まれる。このため、通信装置100が映像ストリーミングシステムの機能を同時に実施している場合、演算量増加に伴い送信画像(圧縮画像)の生成時間が通常より長くなり、画面転送システムのレスポンス性が低下するという問題が生じうる。また、表示端末200と通信装置100との間の途中の経路に位置する無線基地局300の通信帯域が限られている場合、無線伝送の遅延時間が通常より長くなり、画面転送システムのレスポンス性が低下するという問題が生じうる。
このため、本実施の形態では、差分領域の大きさが所定の閾値より大きい場合、すなわち、圧縮処理の処理負荷が大きくなることが予想される場合に、予め映像ストリーミングシステムの処理性能を低下させるように構成する。
すなわち、制御部115が、差分領域の大きさ(面積値)と、条件記憶部122に記憶された面積値の閾値とを比較し、差分領域の面積値が閾値を超えたか否かを判断する(ステップS404)。差分領域の面積値が閾値を超えた場合(ステップS404:YES)、制御部115は、圧縮画像生成部113が送信画像メッセージを生成する処理を開始する前に、映像生成部114に対して、新たな映像情報の生成するときに指定するフレームレート(生成フレームレート)を下げる指示を行う(ステップS405)。
映像生成部114は、制御部115からの指示に従い、映像生成情報記憶部123の映像生成情報を更新する。例えば、制御部115から生成フレームレートを15fpsに変更する指示が与えられた場合、映像生成部114は、30fps(frames per second)であった映像生成情報のフレームレートを15fpsに更新する。
なお、制御部115からのフレームレートを下げるように指定する方法は上記に限られるものではない。例えば、フレームレートを下げる量を指定する方法、フレームレートを下げる割合を指定する方法などのあらゆる方法を適用できる。
フレームレートを下げるように更新した後、映像生成部114は、更新されたフレームレートで新たな映像情報を生成し、表示端末200に送信する送信映像メッセージを生成する。これにより、映像ストリーミング機能での映像フレーム生成に係わる演算量を削減することができる。また、上述の例では、フレームレートを30fpsから15fpsに変更することにより、ネットワーク上に伝送するデータ量を半分にすることができる。
一方、圧縮画像生成部113は、新たな映像の生成フレームレートが下がった状態で送信画像メッセージを生成する(ステップS406)。そして、送信部116aが、生成された送信画像メッセージを表示端末200に送信する(ステップS407)。これにより、圧縮画像を生成するための処理時間を延ばすことがなく、さらにネットワークの無線伝送路における通信帯域の制限に関する影響を減らすことができる。
例えば、通信装置100で、ウィンドウの移動やWebブラウザのスクロールといった、画面の大きな領域で更新が発生する場合は、圧縮画像の生成に要する演算量が多くなる。このような場合、本実施の形態では、同時に動作する映像生成部114の生成フレームレートを前もって下げるように構成している。これにより、映像生成部114による映像情報の生成処理が圧縮画像の生成処理に与える影響を低減させ、更新画像をレスポンス良く表示端末200に向けて送信することが可能となる。
一方、画面の更新が、マウスの移動のような小さな領域にとどまる場合は、圧縮画像の生成に要する演算量も少ないため、同時に動作する映像生成部114の生成フレームレートを下げる必要はない。なお、生成フレームレートを下げた後、所定の期間、差分領域の面積値が閾値を下回った場合、制御部115は生成フレームレートを再び上げる制御を行う。
すなわち、ステップS404で差分領域の面積値が閾値を超えていないと判断した場合(ステップS404:NO)、制御部115は、さらに、フレームレートを下げた後の経過期間が、期間について予め定めた閾値(第2閾値)を超えたか否かを判断する(ステップS408)。
経過期間が期間の閾値を超えた場合(ステップS408:YES)、制御部115は、映像生成部114に対して、新たな映像情報の生成フレームレートを上げる指示を行う(ステップS409)。すなわち、映像生成情報記憶部123の情報を更新することを指示する。
生成フレームレートを下げていない場合や、経過期間が期間の閾値を超えていない場合には(ステップS408:NO)、生成フレームレートを変更せずに処理を継続する。
次に、通信装置100の動作例について説明する。図5は、第1の実施の形態の通信装置100の動作例を示すシーケンス図である。この例で、通信装置100は、2台の表示端末200のうち1台に対して画面転送システムによる更新画像の送信を行い、もう1台に対して映像ストリーミングシステムによる映像情報の送信を行っているものとする。また、この例では、条件記憶部122に記憶する閾値は、縦幅640画素に横幅480画素を掛け合わせた307200画素とする。
同図に示すように、差分検出部112が画面の更新(差分領域)を検出し(ステップS501)、かつ、差分領域の面積値が縦幅800画素に横幅600画素を掛け合わせた480000画素であったとする。この場合、面積値が閾値よりも大きいため、制御部115は、映像情報の生成フレームレートを下げる制御を行う(ステップS502)。
同図の例では、映像ストリーミングの生成フレームレートが30fpsから15fpsに変更される。その後、圧縮画像生成部113は、送信画像(圧縮画像)の生成処理と送信処理を行う(ステップS503)。その後、所定の期間、検出した差分領域の面積値が閾値よりも小さかった場合、制御部115は、生成フレームレートを再び上げる制御を実施する(ステップS504)。図の例では、15fpsから30fpsに再度上げる処理を行っている。
このように、第1の実施の形態にかかる通信装置では、アプリケーションプログラムの動作により発生する画面の更新領域の画素値が所定の閾値より大きい場合に、送信画像の生成に先駆けて、映像ストリーミング機能の生成フレームレートを下げることができる。これにより、更新画面の表示に関するレスポンス性を維持したまま、複数の異なる機能を複数の表示端末に提供することが可能となる。すなわち、表示端末に対して提供する複数の機能の性能を効率的に制御することができる。
(第2の実施の形態)
第1の実施の形態では、面積値の閾値として固定の値1つを定めていた。これに対し、第2の実施の形態では、複数の閾値を定めておき、映像ストリーミング機能の映像情報の生成フレームレートの実測値に基づいて、複数の閾値のうち適用する閾値を動的に変更する。
第1の実施の形態では、面積値の閾値として固定の値1つを定めていた。これに対し、第2の実施の形態では、複数の閾値を定めておき、映像ストリーミング機能の映像情報の生成フレームレートの実測値に基づいて、複数の閾値のうち適用する閾値を動的に変更する。
なお、第2の実施の形態では、通信装置の構成が第1の実施の形態と異なる。第2の実施の形態の通信システムの構成は、第1の実施の形態の通信システムの構成を示す図1と同様であるため説明を省略する。また、表示端末200、無線基地局300、およびネットワーク400の構成は第1の実施の形態と同様であるため説明を省略する。
図6は、第2の実施の形態にかかる通信装置600の構成を示すブロック図である。図6に示すように、通信装置600は、ディスプレイ101と、入力デバイス102と、外部記憶装置103と、画像バッファ121と、条件記憶部622と、映像生成情報記憶部123と、イベント取得部111と、差分検出部112と、圧縮画像生成部113と、映像生成部614と、制御部615と、通信処理部116と、を備えている。
第2の実施の形態では、条件記憶部622に記憶するデータのデータ構造と、映像生成部614および制御部615の機能とが第1の実施の形態と異なっている。その他の構成および機能は、第1の実施の形態にかかる通信装置100の構成を表すブロック図である図2と同様であるので、同一符号を付し、ここでの説明は省略する。
条件記憶部622は、複数の面積値の閾値(閾値リスト)を記憶する点が、第1の実施の形態の条件記憶部122と異なっている。図7は、条件記憶部622に記憶される閾値のデータ構造の一例を示す図である。図7に示すように、条件記憶部622は、縦幅の画素数と横幅の画素数とによって表される複数の閾値をリスト形式で記憶する。なお、説明の便宜上、同図では画素数の積によって閾値を表している。
図6に戻り、映像生成部614は、新たな映像情報を生成するときのフレームレートの実測値を計測する機能が追加された点が、第1の実施の形態の映像生成部114と異なっている。映像生成部614は、外部記憶装置103に記憶された映像情報のデコード処理の開始から、少なくとも新たな映像情報の生成処理が完了するまでの処理時間を測定することにより、フレームレートの実測値を算出する。
制御部615は、計測されたフレームレートの実測値と映像生成部614に指示したフレームレート(フレームレートの目標値)とを比較し、実測値が目標値より小さい場合に、面積値との比較に用いる閾値を小さくする機能が、第1の実施の形態の制御部115の機能に追加されている。
次に、このように構成された第2の実施の形態にかかる通信装置600による映像情報送信処理について図8を用いて説明する。映像情報送信処理とは、映像ストリーミングシステムを実現するための処理を意味する。すなわち、映像生成部614が外部記憶装置103の映像情報から表示端末200に送信する映像情報を生成して送信する処理を意味する。図8は、第2の実施の形態における映像情報送信処理の全体の流れを示すフローチャートである。
まず、映像生成部614は、表示端末200から指定された外部記憶装置103内の映像情報のデコードを開始する(ステップS801)。次に、映像生成部614は、デコードした映像情報を、指定を受けた表示端末200に適した形式の映像情報にエンコードする(ステップS802)。そして、映像生成部614は、エンコードした映像情報を表示端末200に送信する(ステップS803)。なお、ここまでの処理は、第1の実施の形態の映像生成部114でも実行される通常の映像情報生成および送信処理である。
第2の実施の形態では、映像生成部614が、映像情報のデコードの開始から、少なくとも新たな映像情報の生成処理の完了までの処理時間に対応するフレームレートの実測値を計測する(ステップS804)。なお、映像生成部614が、映像情報のデコードの開始から映像情報を表示端末200に送信完了するまでの処理時間に対応するフレームレートの実測値を計測するように構成してもよい。
次に、映像生成部614は、前回のフレームレートの実測値を制御部615に通知してからの経過時間を算出する(ステップS805)。そして、映像生成部614は、経過時間が所定の閾値を超えたか否かを判断し(ステップS806)、超えた場合に(ステップS806:YES)、計測した実測値を制御部615に通知する(ステップS807)。経過時間が閾値を超えていない場合は(ステップS806:NO)、実測値を通知せずに映像情報送信処理を終了する。
このように、本実施の形態では、映像生成部614がフレームレートの実測値を測定し、所定の時間間隔で制御部615に通知する。後述するように、制御部615は、通知された実測値に基づいて面積値と比較する閾値を変更する。
次に、このように構成された第2の実施の形態にかかる通信装置600による閾値変更処理について図9を用いて説明する。閾値変更処理とは、制御部615がフレームレートの実測値に応じて閾値を変更する処理を意味する。図9は、第2の実施の形態における閾値変更処理の全体の流れを示すフローチャートである。
なお、同図の閾値変更処理は、図4に示す画像送信処理と並行して実行される。すなわち、閾値変更処理により実測値に応じて閾値が変更された場合は、変更された閾値を用いて、図4の画像送信処理が実行される。
まず、制御部615は、映像生成部614からフレームレートの実測値を受け取る(ステップS901)。制御部615は、受け取った実測値を元に、映像ストリーミング機能が所定の性能を維持しているかを判定する。すなわち、制御部615は、実測値と映像生成部614に指示したフレームレートの目標値とを比較し、実測値が目標値より大きいか否かを判断する(ステップS902)。
なお、目標値は、例えば映像生成情報記憶部123に記憶された映像生成情報内のフレームレートを参照することにより特定してもよいし、他の記憶部(図示せず)等に記憶した目標値を参照して特定してもよい。
実測値が目標値より大きくない場合(ステップS902:NO)、すなわち、映像ストリーミング機能のフレームレートが維持されていないことを検出した場合は、制御部615は、差分領域のサイズ(面積値)と比較するための閾値を下げる制御を行う(ステップS903)。
例えば、制御部615は、条件記憶部622に記憶された複数の閾値のうち、現在指定されている閾値より1つ小さい閾値を新たな閾値として設定することにより、閾値を更新する。なお、閾値の更新方法はこれに限られるものではなく、所定値を減算することにより閾値を下げる方法や、閾値を所定の割合で小さくする方法などのあらゆる方法を適用できる。
実測値が目標値より大きい場合は(ステップS902:YES)、制御部615は、さらに閾値を下げた後の経過期間が、期間について予め定めた閾値(第3閾値)を超えたか否かを判断する(ステップS904)。
経過期間が期間の閾値を超えた場合(ステップS904:YES)、制御部615は、差分領域のサイズ(面積値)と比較するための閾値を上げる制御を行う(ステップS905)例えば、制御部615は、条件記憶部622に記憶された複数の閾値のうち、現在指定されている閾値より1つ大きい閾値を新たな閾値として設定することにより、閾値を更新する。
閾値を下げていない場合や、経過期間が期間の閾値を超えていない場合には(ステップS904:NO)、閾値を変更せずに処理を継続する。
次に、通信装置600の動作例について説明する。図10および図11は、第2の実施の形態の通信装置600の動作例を示すシーケンス図である。この例で、通信装置600は、2台の表示端末200のうち1台に対して画面転送機能を提供し、もう1台に対して映像ストリーミング機能を提供するものとする。また、閾値の初期値は、縦幅640画素に横幅480画素を掛け合わせた307200画素とする。また、映像生成情報記憶部123に記憶された生成フレームレートの初期値は30fpsとする。
図10は、ユーザが表示端末200を介して通信装置600のWebブラウザを起動し、Webブラウザ経由でFlash等の動画を再生した場合の例を示している(ステップS1001)。同図の例では、縦幅450画素、横幅338画素の動画を再生したものとしている。この場合、差分領域の面積値(450画素×338画素=152100画素)は、閾値として定められている面積(この例では307200画素)を下回っている。このため、映像ストリーミング機能の生成フレームレートを下げる制御は行わない。
なお、第1の実施の形態のように予め定めた固定の閾値を用いる方法では、通信装置の実際の演算処理能力や、ネットワーク上の実際の通信帯域といった、状況に応じて異なるシステム構成に対応することができない。そこで、第2の実施の形態では、映像生成部614が新たな映像情報の生成フレームレートの実測値を制御部615に所定の期間毎に通知することにより、閾値の値を動的に変更可能とする。
すなわち、映像生成部614は、一定期間ごとにフレームレートの実測値を制御部615に通知する(ステップS1002)。同図では、23fpsに低下した実測値が通知された例が示されている。
制御部615は、生成フレームレートが低下したことを検出した場合に、閾値を下げるように制御する。同図の例では、閾値を、307200画素から、縦幅320画素に横幅240画素を掛け合わせた76800画素に更新する(ステップS1003)。
その後、画面更新を検出した場合は(ステップS1004)、更新した閾値を差分領域の面積値と比較し、面積値が閾値よりも大きい場合に、映像ストリーミング機能における生成フレームレートを下げるように制御する(ステップS1005)。
また、映像生成部614は生成フレームレートの実測値を定期的に制御部615に通知するため、閾値を一旦下げた状態で、生成フレームレートが所定の性能を維持していることを検出した場合、制御部615は、閾値を上げる制御を実施する。図11は、このような場合の動作例を示すシーケンス図である。
同図では、映像生成部614から通知されたフレームレートの実測値(ステップS1101)が目標値を達成しているため、76800画素に下げた閾値を、縦幅400画素に横幅300画素を掛け合わせた120000画素に上げる例が示されている(ステップS1102)。この後、画面更新を検出した場合は(ステップS1103)、制御部615は、更新した閾値を差分領域の面積値と比較する。同図では、面積値が変更した閾値より小さく、かつ、フレームレートを下げた後に一定期間経過したと判断したため、生成フレームレートを上げるように制御した例が示されている(ステップS1104)。
このように、第2の実施の形態にかかる通信装置では、映像ストリーミングのフレームレートを下げるか否かの判定に用いる閾値を、フレームレートの実測値に基づいて動的に切替えることができる。これにより、通信装置の演算能力や、表示端末と通信装置との間のネットワークの通信帯域を勘案しつつ、複数の異なる機能を複数の表示端末に提供することが可能となる。
次に、第1および第2の実施の形態にかかる通信装置および表示装置(表示端末)のハードウェア構成について図12を用いて説明する。図12は、第1および第2の実施の形態にかかる通信装置および表示装置のハードウェア構成を示す説明図である。
第1および第2の実施の形態にかかる通信装置および表示装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えている。
第1および第2の実施の形態にかかる通信装置で実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、第1および第2の実施の形態にかかる通信装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1および第2の実施の形態にかかる通信装置で実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、第1および第2の実施の形態の通信プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
第1および第2の実施の形態にかかる通信装置で実行される通信プログラムは、上述した各部(イベント取得部、差分検出部、圧縮画像生成部、映像生成部、制御部、通信処理部、セッションマネージャ)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかる通信装置、通信方法および通信プログラムは、通信装置と表示端末間でアプリケーションの画面を共有する機能および通信装置から映像情報を送信して表示端末に表示する機能を実現するシステム等に適している。
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
10 通信システム
100、600 通信装置
101 ディスプレイ
102 入力デバイス
103 外部記憶装置
111 イベント取得部
111a 更新画像生成部
112 差分検出部
113 圧縮画像生成部
114、614 映像生成部
115、615 制御部
116 通信処理部
116a 送信部
116b 受信部
121 画像バッファ
122、622 条件記憶部
123 映像生成情報記憶部
200a、200b 表示端末
201 ディスプレイ
202 入力デバイス
203 アンテナ
211 入出力インターフェース
212 画像生成部
213 映像復号部
214 セッションマネージャ
215 無線通信処理部
215a 送信部
215b 受信部
221 画像バッファ
222 セッション情報記憶部
300 無線基地局
400 ネットワーク
52 ROM
53 RAM
54 通信I/F
61 バス
10 通信システム
100、600 通信装置
101 ディスプレイ
102 入力デバイス
103 外部記憶装置
111 イベント取得部
111a 更新画像生成部
112 差分検出部
113 圧縮画像生成部
114、614 映像生成部
115、615 制御部
116 通信処理部
116a 送信部
116b 受信部
121 画像バッファ
122、622 条件記憶部
123 映像生成情報記憶部
200a、200b 表示端末
201 ディスプレイ
202 入力デバイス
203 アンテナ
211 入出力インターフェース
212 画像生成部
213 映像復号部
214 セッションマネージャ
215 無線通信処理部
215a 送信部
215b 受信部
221 画像バッファ
222 セッション情報記憶部
300 無線基地局
400 ネットワーク
Claims (7)
- 画像を表示する表示装置にネットワークを介して接続する通信装置であって、
前記表示装置に表示する表示画像を記憶する画像記憶部と、
前記表示画像を更新するための更新画像を生成する更新画像生成部と、
前記更新画像と前記表示画像との間で画素情報が一致しない領域を表す差分領域を検出する検出部と、
前記差分領域の画像を圧縮した圧縮画像を生成する圧縮画像生成部と、
指定されたフレームレートで動画像を生成する動画像生成部と、
前記差分領域の大きさと第1閾値とを比較し、前記差分領域の大きさが前記第1閾値より大きい場合に、前記動画像生成部に対して指定するフレームレートを下げるように制御する制御部と、
前記圧縮画像および前記動画像を前記表示装置に送信する送信部と、
を備えたことを特徴とする通信装置。 - 前記制御部は、前記差分領域の大きさが前記第1閾値より大きい場合に、前記圧縮画像生成部が前記圧縮画像を生成する前に、前記動画像生成部に対して指定するフレームレートを下げるように制御すること、
を特徴とする請求項1に記載の通信装置。 - 前記制御部は、さらに、前記フレームレートを下げるように制御した後、前記差分領域の大きさが前記第1閾値以下となった場合に、前記差分領域の大きさが前記第1閾値以下となった期間と予め定められた第2閾値とを比較し、前記期間が前記第2閾値を越えた場合に、前記動画像生成部に対して指定するフレームレートを上げるように制御すること、
を特徴とする請求項2に記載の通信装置。 - 前記動画像生成部は、さらに、生成した前記動画像のフレームレートの実測値を計測し、
前記制御部は、さらに、前記実測値と前記動画像生成部に対して指定したフレームレートとを比較し、前記実測値が前記動画像生成部に対して指定したフレームレートより小さい場合に、前記第1閾値を小さくするように前記第1閾値を更新すること、
を特徴とする請求項3に記載の通信装置。 - 前記制御部は、さらに、前記第1閾値を小さくするように更新した後、前記実測値が前記動画像生成部に対して指定したフレームレート以上となった場合に、前記実測値が前記動画像生成部に対して指定したフレームレート以上となった期間と予め定められた第3閾値とを比較し、前記期間が前記第3閾値を越えた場合に、前記第1閾値を大きくするように前記第1閾値を更新すること、
を特徴とする請求項4に記載の通信装置。 - 画像を表示する表示装置にネットワークを介して接続する通信装置で実行される通信方法であって、
前記通信装置は、前記表示装置に表示する表示画像を記憶する画像記憶部を備え、
更新画像生成部が、前記表示画像を更新するための更新画像を生成する更新画像生成ステップと、
検出部が、前記更新画像と前記表示画像との間で画素情報が一致しない領域を表す差分領域を検出する検出ステップと、
圧縮画像生成部が、前記差分領域の画像を圧縮した圧縮画像を生成する圧縮画像生成ステップと、
動画像生成部が、指定されたフレームレートで動画像を生成する動画像生成ステップと、
制御部が、前記差分領域の大きさと第1閾値とを比較し、前記差分領域の大きさが前記第1閾値より大きい場合に、前記動画像生成部に対して指定するフレームレートを下げるように制御する制御ステップと、
送信部が、前記圧縮画像および前記動画像を前記表示装置に送信する送信ステップと、
を備えたことを特徴とする通信方法。 - コンピュータを、
ネットワークを介して接続された表示装置に表示する表示画像を記憶する画像記憶部と、
前記表示画像を更新するための更新画像を生成する更新画像生成部と、
前記更新画像と前記表示画像との間で画素情報が一致しない領域を表す差分領域を検出する検出部と、
前記差分領域の画像を圧縮した圧縮画像を生成する圧縮画像生成部と、
指定されたフレームレートで動画像を生成する動画像生成部と、
前記差分領域の大きさと第1閾値とを比較し、前記差分領域の大きさが前記第1閾値より大きい場合に、前記動画像生成部に対して指定するフレームレートを下げるように制御する制御部と、
前記圧縮画像および前記動画像を前記表示装置に送信する送信部、
として機能させるための通信プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/108,222 US20110310965A1 (en) | 2008-11-14 | 2011-05-16 | Communication device, communication method, and communication program product |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-291780 | 2008-11-14 | ||
JP2008291780A JP2010118976A (ja) | 2008-11-14 | 2008-11-14 | 通信装置、通信方法および通信プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/108,222 Continuation US20110310965A1 (en) | 2008-11-14 | 2011-05-16 | Communication device, communication method, and communication program product |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010055792A1 true WO2010055792A1 (ja) | 2010-05-20 |
Family
ID=42169927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/068800 WO2010055792A1 (ja) | 2008-11-14 | 2009-11-04 | 通信装置、通信方法および通信プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110310965A1 (ja) |
JP (1) | JP2010118976A (ja) |
WO (1) | WO2010055792A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013197998A (ja) * | 2012-03-21 | 2013-09-30 | Toshiba Corp | サーバ端末、画面転送システムおよび画面転送方法 |
WO2020090109A1 (ja) * | 2018-11-02 | 2020-05-07 | Necディスプレイソリューションズ株式会社 | 画像表示装置及び画像伝送方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011123127A (ja) * | 2009-12-08 | 2011-06-23 | Canon Inc | 画像処理装置、画像表示装置及び画像伝送システム |
JP5471903B2 (ja) | 2010-07-01 | 2014-04-16 | 富士通株式会社 | 情報処理装置、画像送信プログラム及び画像表示方法 |
JP5259683B2 (ja) | 2010-11-19 | 2013-08-07 | 株式会社東芝 | サーバ装置及びプログラム |
JP5664289B2 (ja) | 2011-01-31 | 2015-02-04 | 富士通株式会社 | 情報処理装置、画像送信プログラムおよび画像表示方法 |
JP5392661B2 (ja) * | 2011-12-16 | 2014-01-22 | シャープ株式会社 | 電子機器 |
JP5695597B2 (ja) * | 2012-03-29 | 2015-04-08 | 株式会社東芝 | 画面表示装置及び画面表示システム |
US8818119B2 (en) * | 2012-09-26 | 2014-08-26 | Agilent Technologies, Inc. | Dynamic creation of trend graph |
EP2938060A4 (en) * | 2012-12-24 | 2016-07-20 | Yulong Comp Telecomm Scient | DEVICE FOR THE DYNAMIC ADAPTATION OF A RECORDING RESOLUTION AND METHOD FOR DYNAMIC ADAPTATION AND FINAL DEVICE |
US9940904B2 (en) * | 2013-10-23 | 2018-04-10 | Intel Corporation | Techniques for determining an adjustment for a visual output |
JP6907888B2 (ja) | 2017-10-30 | 2021-07-21 | 富士通株式会社 | 情報処理システム、情報処理装置および情報処理プログラム |
CN114143534B (zh) * | 2021-11-26 | 2024-09-24 | 京东方科技集团股份有限公司 | 一种展示状态监测方法、装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006115470A (ja) * | 2004-09-16 | 2006-04-27 | Ntt Docomo Inc | 映像評価装置、フレームレート決定装置、映像処理装置、映像評価方法、および映像評価プログラム |
JP2007226635A (ja) * | 2006-02-24 | 2007-09-06 | Victor Co Of Japan Ltd | リモートデスクトップシステムのサーバ装置及びクライアント装置 |
JP2008016914A (ja) * | 2006-07-03 | 2008-01-24 | Matsushita Electric Ind Co Ltd | 複数映像同時記録における符号化用パラメータ制御装置および複数映像同時記録装置 |
JP2008022173A (ja) * | 2006-07-11 | 2008-01-31 | Toshiba Corp | 通信装置、表示端末および通信プログラム |
-
2008
- 2008-11-14 JP JP2008291780A patent/JP2010118976A/ja active Pending
-
2009
- 2009-11-04 WO PCT/JP2009/068800 patent/WO2010055792A1/ja active Application Filing
-
2011
- 2011-05-16 US US13/108,222 patent/US20110310965A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006115470A (ja) * | 2004-09-16 | 2006-04-27 | Ntt Docomo Inc | 映像評価装置、フレームレート決定装置、映像処理装置、映像評価方法、および映像評価プログラム |
JP2007226635A (ja) * | 2006-02-24 | 2007-09-06 | Victor Co Of Japan Ltd | リモートデスクトップシステムのサーバ装置及びクライアント装置 |
JP2008016914A (ja) * | 2006-07-03 | 2008-01-24 | Matsushita Electric Ind Co Ltd | 複数映像同時記録における符号化用パラメータ制御装置および複数映像同時記録装置 |
JP2008022173A (ja) * | 2006-07-11 | 2008-01-31 | Toshiba Corp | 通信装置、表示端末および通信プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013197998A (ja) * | 2012-03-21 | 2013-09-30 | Toshiba Corp | サーバ端末、画面転送システムおよび画面転送方法 |
WO2020090109A1 (ja) * | 2018-11-02 | 2020-05-07 | Necディスプレイソリューションズ株式会社 | 画像表示装置及び画像伝送方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110310965A1 (en) | 2011-12-22 |
JP2010118976A (ja) | 2010-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010055792A1 (ja) | 通信装置、通信方法および通信プログラム | |
US10192516B2 (en) | Method for wirelessly transmitting content from a source device to a sink device | |
US20170222826A1 (en) | Method and apparatus for sharing functions between devices via a network | |
KR20140111859A (ko) | 콘텐트 공유 방법 및 이를 위한 디바이스 | |
JP5974881B2 (ja) | 情報処理装置およびその制御方法 | |
US11202110B2 (en) | Information processing apparatus, control method of the same, and storage medium | |
KR101942270B1 (ko) | 재생 지연 방지 시스템을 포함하는 미디어 재생 장치 및 방법 | |
US20210218788A1 (en) | Media playback apparatus and method including delay prevention system | |
JP5717870B2 (ja) | 通信装置、通信方法及びプログラム | |
US20150026751A1 (en) | Information processing apparatus and control method thereof | |
KR101630638B1 (ko) | 화면 가상화 기반 어플리케이션 실행 시스템 및 방법 | |
JP2007274066A (ja) | コンテンツ配信システム | |
KR20160015123A (ko) | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
JP5136334B2 (ja) | リモートデスクトップシステム、クライアント装置、サーバ、通信方式選択方法、プログラム及び記録媒体 | |
JP6113525B2 (ja) | 情報分割送信装置、情報分割送信方法および情報分割送信処理プログラム | |
JP2010119030A (ja) | 通信装置、通信方法および通信プログラム | |
JP2010011287A (ja) | 映像伝送方法および端末装置 | |
JP5401877B2 (ja) | 情報処理装置、情報処理システム、省電力方法及びプログラム | |
JP6327809B2 (ja) | 受信装置、制御方法及びプログラム | |
US10075325B2 (en) | User terminal device and contents streaming method using the same | |
JP5407479B2 (ja) | 画像伝送システム、画像伝送装置、クライアント端末、画像伝送方法、及び、画像伝送プログラム | |
JP2003061080A (ja) | ネットワーク対応監視システム | |
JP5930562B1 (ja) | 動画表示支援プログラムおよび動画表示支援装置 | |
JP6603984B2 (ja) | 画像供給装置、画像供給方法およびプログラム | |
JP6272124B2 (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: 09826042 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: 09826042 Country of ref document: EP Kind code of ref document: A1 |