WO2017047006A1 - Content reproduction device and content reproduction method - Google Patents
Content reproduction device and content reproduction method Download PDFInfo
- Publication number
- WO2017047006A1 WO2017047006A1 PCT/JP2016/003803 JP2016003803W WO2017047006A1 WO 2017047006 A1 WO2017047006 A1 WO 2017047006A1 JP 2016003803 W JP2016003803 W JP 2016003803W WO 2017047006 A1 WO2017047006 A1 WO 2017047006A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- buffering
- data
- projector
- pieces
- condition
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000003139 buffering effect Effects 0.000 claims abstract description 155
- 238000004891 communication Methods 0.000 claims abstract description 55
- 230000010365 information processing Effects 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 13
- 230000015556 catabolic process Effects 0.000 description 11
- 238000006731 degradation reaction Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000001934 delay Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral 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/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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- 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/44004—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 video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6375—Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
-
- 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64776—Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
Definitions
- the present invention relates to a content reproduction device and a content reproduction method.
- a content reproduction device such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player, and an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone, are connected with each other, and the content reproduction device reproduces contents such as video and audio based on data such as image data and audio data transmitted from the information processing device.
- a content reproduction device such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player
- an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone
- the orders of data may be different between the transmitting end and the receiving end, in such a manner that the content reproduction device first receives the data of #3 and #4 and then receives the data of #1 and #2.
- the data that the content reproduction device has actually received next are the data of #1 and #2 although a content based on data of #5 and #6 is to be reproduced next.
- the content reproduction device can only reproduce contents according to the sequence numbers, the content cannot be reproduced after the content based on the data of #3 and #4 is reproduced.
- the content reproduction device when such a content reproduction device has received the data of #3 and #4 first and has then received the data of #1 and #2, the content reproduction device is configured to discard the data of #1 and #2 so as to prevent reproduction of contents from being stopped.
- a content reproduction device provided with a buffer for temporarily storing data and configured to store data received until a predetermined time (hereinafter referred to as a “buffering time”) elapses into the buffer and reassemble the data stored in the buffer according to sequence numbers after a lapse of the buffering time has been proposed and is already known (refer, for example, to Patent Literature 1).
- Such a content reproduction device of the related art as disclosed in PTL 1 has such a problem in which a content may not be reproduced at a timing when the content should be reproduced and a delay corresponding to the buffering time may occur in the timing of content reproduction.
- the present invention has been made to solve such problems, and an object thereof is to prevent degradation in the quality of content reproduction and reduce delays in content reproduction timing.
- a content reproduction device includes a communication unit, a data acquisition unit, a buffering controller, a buffering condition determining unit, a reassembling unit, and a content reproducing unit.
- the communication unit is configured to communicate with an information processing device.
- the data acquisition unit is configured to sequentially acquire pieces of data from the information processing device via the communication unit.
- the buffering controller is configured to buffer the acquired pieces of data in a storage unit.
- the buffering condition determining unit is configured to determine a buffering condition for buffering the acquired pieces of data in the storage unit, depending on a condition of communication with the information processing device.
- the reassembling unit is configured to reassemble the pieces of data buffered in the storage unit in a predetermined order when the determined buffering condition is satisfied.
- the content reproducing unit is configured to reproduce a content based on the reassembled pieces of data.
- Fig. 1 is a diagram illustrating a mode of operation of a content reproduction system according to an embodiment of the present invention.
- Fig. 2 is a diagram for explaining the order in which image data are transmitted in transmission of the image data from a client terminal to a projector in a video display system according to an embodiment of the present invention.
- Fig. 3 is a diagram for explaining processing of RTP packets received by a projector in a video display system of related art.
- Fig. 4 is a flowchart for explaining processing for reassembling RTP packets received by a projector in an order of sequence numbers in a video display system of related art.
- Fig. 5 is a block diagram schematically illustrating a hardware configuration of a projector according to an embodiment of the present invention.
- FIG. 6 is a block diagram schematically illustrating a functional configuration of a projector according to an embodiment of the present invention.
- Fig. 7 is a flowchart for explaining processing for reassembling RTP packets received by a projector in an order of sequence numbers in a video display system according to an embodiment of the present invention.
- Fig. 8 is a block diagram illustrating a functional configuration of a projector according to an embodiment of the present invention.
- Fig. 9 is a flowchart for explaining processing for reassembling RTP packets received by a projector in an order of sequence numbers in a video display system according to an embodiment of the present invention.
- Fig. 10 is a block diagram schematically illustrating a functional configuration of a projector according to an embodiment of the present invention.
- FIG. 11 is a table illustrating an example of a buffering time determination table stored by a buffering time storage unit according to an embodiment of the present invention.
- Fig. 12 is a flowchart for explaining processing for reassembling RTP packets received by a projector in an order of sequence numbers in a video display system according to an embodiment of the present invention.
- Fig. 13 is a flowchart for explaining processing for reassembling RTP packets received by a projector in an order of sequence numbers in a video display system according to an embodiment of the present invention.
- a content reproduction device such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player, and an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone, are connected with each other, and the content reproduction device reproduces contents such as video and audio based on data such as image data and audio data transmitted from the information processing device.
- a content reproduction device such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player
- an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone
- a video display system in which a video display device and an information processing device are connected with each other and the video display device displays video on the basis of image data transmitted from the information processing device will be described.
- Fig. 1 is a diagram illustrating a mode of operation of the video display system according to the present embodiment.
- the video display system includes a projector 1 and a client terminal 2 connected with each other in such a manner that the projector 1 and the client terminal 2 can communicate with each other.
- the projector 1 modulates light beams emitted from a light source according to input video signals to form optical images, and projects the formed projection images for display on a projection plane such as a wall or a screen in an enlarged manner.
- video is projected for display according to image data transmitted from the client terminal 2.
- the client terminal 2 is an information processing terminal operated by a user, and is constituted by an information processing device such as a PC (Personal Computer), a PDA (Personal Digital Assistant), a smart phone, or a tablet terminal.
- an information processing device such as a PC (Personal Computer), a PDA (Personal Digital Assistant), a smart phone, or a tablet terminal.
- the projector 1 and the client terminal 2 are connected using interfaces based on a standard such as LAN (Local Area Network), Ethernet (registered trademark), USB (Universal Serial Bus), Bluetooth (registered trademark), Wi-Fi (Wireless Fidelity) (registered trademark), FeliCa (registered trademark), PCIe (Peripheral Component Interconnect Express), VGA (Video Graphics Array), DVI (Digital Visual Interface), or IEEE (The Institute of Electrical and Electronics Engineers).
- LAN Local Area Network
- Ethernet registered trademark
- USB Universal Serial Bus
- Bluetooth registered trademark
- Wi-Fi Wireless Fidelity
- FeliCa registered trademark
- PCIe Peripheral Component Interconnect Express
- VGA Video Graphics Array
- DVI Digital Visual Interface
- IEEE The Institute of Electrical and Electronics Engineers.
- RTP Real-time Transport Protocol
- Fig. 2 is a diagram for explaining the order in which image data are transmitted in transmission of the image data from the client terminal 2 to the projector 1 in the video display system according to the present embodiment.
- the client terminal 2 in transmission/detection of image data using the RTP, packetizes image data in units of PESs (Packetized Elementary Streams) for transmission to the projector 1 (receiving end).
- PESs Packetized Elementary Streams
- each PES is constituted by a plurality of CCs (Continuity Counters).
- PESs into which image data are thus packetized in units of PESs in this process are referred to as PES#1, PES#2, ...
- the client terminal 2 (transmitting end) then divides each PES into a plurality of RTP packets for transmission to the projector 1 (receiving end). Assume here that the client terminal 2 (transmitting end) divides PES#1 into RTP#100 and RTP#101, and PES#2 into RTP#102 and RTP#103. Note that # ⁇ refers to a sequence number indicating the order in which RTP packets are transmitted by the client terminal 2.
- the RTP packets should reach the projector 1 in an order of RTP#100, RTP#101, RTP#102, and RTP#103.
- the order of the RTP packets may be different between the transmitting end and the receiving end and the RTP packets may reach the projector 1 in an order of RTP#102, RTP#103, RTP#100, and RTP#101 as illustrated in Fig. 2.
- packets to be reconstructed next by the projector 1 after reconstruction of RTP#102 and RTP#103 are RTP#104 and RTP#105
- the packets that are actually received by the projector 1 are RTP#100 and RTP#101.
- the projector 1 can only reconstruct RTP packets in the order of the sequence numbers, the projector 1 cannot reconstruct the RTP packets after reconstruction of RTP#102 and RTP#103. Thus, in this case, the projector 1 can no longer reproduce video at this point.
- the projector 1 may discard RTP packets that should have come previously but have actually come later in a different order so as not to stop reproduction of video. In this case, however, since RTP packets corresponding to video, which should have been reproduced, are discarded, part of the video is not reproduced and the quality of video reproduction is degraded.
- the projector is provided with a data buffer for temporarily storing data and configured to store RTP packets received until a predetermined time (hereinafter referred to as a “buffering time”) elapses in to the data buffer and reassemble the RTP packets stored in the data buffer according to sequence numbers after a lapse of the buffing time.
- a buffering time elapses in to the data buffer and reassemble the RTP packets stored in the data buffer according to sequence numbers after a lapse of the buffing time.
- Fig. 4 is a flowchart for explaining the processing for reassembling RTP packets received by the projector in the order of sequence numbers in the video display system of the related art.
- the projector first determines the buffering time in advance (S401).
- the projector Upon receiving RTP packets (S402), the projector then temporarily stores the RTP packets in to the data buffer (S403), and determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time (S404).
- the projector then repeats reception of RTP packets and storage of the received RTP packets into the data buffer (S402, S403) until the elapsed time reaches the buffering time (S404/NO).
- the projector When the elapsed time has reached the buffering time (S404/YES), the projector reassembles the RTP packets stored in the data buffer in the order of sequence numbers (S406) if the RTP packets are not in the order of sequence numbers (S405/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S405/YES).
- the projector then reconstructs image data from the RTP packets in the order of sequence numbers, and performs projection and display of video on the basis of the reconstructed image data.
- the projector is configured to determine the buffering time in advance and reassemble RTP packets stored in the data buffer until the buffering time elapses in the order of sequence numbers.
- the buffering time may be short or need not be set under such conditions where the communication between the projector and the client terminal is in good condition and where the order of RTP packets at the receiving end is only a little different or is not different from that at the transmitting end.
- the projector is provided with a constant buffering time regardless of the condition of communication with the client terminal as explained with reference to Fig. 4.
- the buffering time is unnecessarily long in a case where the communication between the projector and the client terminal is in good condition and where the order of RTP packets at the receiving end is only a little different or is not different from that at the transmitting end.
- the timing of video reproduction is delayed by the time corresponding to the constant buffing time even when the communication between the projector and the client terminal is in good condition.
- the projector 1 is therefore configured to determine the buffering time depending on the condition of communication with the client terminal 2.
- the projector 1 is configured to set a long buffering time when the condition of communication with the client terminal 2 is poor and set a short buffering time when the condition of communication with the client terminal 2 is good.
- the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests.
- the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2, determine that the condition of communication with the client terminal 2 is worse and set a longer buffering time as the number of connection requests is larger, and determine that the condition of communication with the client terminal 2 is better and set a shorter buffering time as the number of connection requests is smaller.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- FIG. 5 is a block diagram schematically illustrating a hardware configuration of the projector 1 according to the present embodiment. While a hardware configuration of the projector 1 is illustrated as an example in Fig. 5, similar configuration is applicable to the client terminal 2.
- the projector 1 includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 20, a ROM (Read Only Memory) 30, a HDD (Hard Disk Drive) 40, a projection device 50, an operation device 60, a display device 70, and a communication I/F 80, which are connected with one another via a bus 90.
- a CPU Central Processing Unit
- RAM Random Access Memory
- ROM Read Only Memory
- HDD Hard Disk Drive
- the CPU 10 is computing means that controls operation of the entire projector 1.
- the RAM 20 is a volatile storage medium from/into which information can be read and written at high speeds, and is used as a working area for the CPU 10 to process information.
- the ROM 30 is a read-only non-volatile storage medium and stores programs such as firmware.
- the HDD 40 is a non-volatile storage medium from/into which information can be read and written, and stores various data such as image data, an operating system (OS), various control programs, application programs such as content reproduction programs.
- OS operating system
- application programs such as content reproduction programs.
- the projection device 50 is hardware for implementing special functions of the projector 1. Specifically, the projection device 50 modulates light beams emitted from a light source to form optical images, and projects the formed projection images for display on a projection plane such as a wall or a screen in an enlarged manner. Note that the client terminal 2 need not include the projection device 50 since the client terminal 2 is an information processing terminal to be operated by a user.
- the operation device 60 is a user interface for inputting information to the projector 1, and is constituted by an input device such as a keyboard and a mouse, input buttons, and a touch panel.
- the display device 70 is a visual user interface for the user to check the state of the projector 1, and is constituted by a display device such as an LCD (Liquid Crystal Display) or an output device such as an LED (Light Emitting Diode).
- a display device such as an LCD (Liquid Crystal Display) or an output device such as an LED (Light Emitting Diode).
- the communication I/F 80 is an interface for the projector 1 to communicate with other devices, and is constituted by an interface based on a standard such as Ethernet (registered trademark), USB, Bluetooth (registered trademark), Wi-Fi (registered trademark), FeliCa (registered trademark), PCIe, or IEEE.
- Combination of the thus formed software controllers and hardware constitute functional blocks realizing the functions of the projector 1 and the client terminal 2 according to the present embodiment.
- Fig. 6 is a block diagram schematically illustrating the functional configuration of the projector 1 according to the present embodiment.
- the projector 1 includes a controller 100, an operation unit 110, a display unit 120, a network I/F 130, and a projection unit 140.
- the controller 100 includes a main controller 101, an operation display controller 102 an input/output controller 103, a projection controller 104, a data buffer 105, a connection request counter 106, and a calculation formula storage unit 107.
- the operation unit 110 is an input interface for the user to directly operate the projector 1 or to input information to the projector 1.
- the operation unit 110 is implemented by the operation device 60 illustrated in Fig. 5.
- the display unit 120 is an output interface for visually displaying the state of the projector 1 and also an input interface in a form of a touch panel for the user to directly operate the projector 1 or to input information to the projector 1.
- the display unit 120 includes a function of displaying an image for receiving user’s operation.
- the display unit 120 is implemented by the display device 70 illustrated in Fig. 5.
- the network I/F 130 is an interface for the projector 1 to communicate with other devices such as the client terminal 2 via a network, and is constituted by an interface based on a standard such as Ethernet (registered trademark), USB, Bluetooth (registered trademark), Wi-Fi (registered trademark), FeliCa (registered trademark), PCIe, or IEEE.
- the network I/F 130 is implemented by the communication I/F 80 illustrated in Fig. 5.
- the network I/F 130 functions as a communication unit.
- the projection unit 140 is an output interface for modulating light beams emitted from a light source to form optical images and projecting the formed projection images for display on a projection plane such as a wall or a screen in an enlarged manner.
- the projection unit 140 is implemented by the projection device 50 illustrated in Fig. 5.
- the controller 100 is implemented by combination of software and hardware.
- the controller 100 is constituted by software controllers, which are formed by loading programs stored in storage media such as the ROM 30 and the HDD 40 onto the RAM 20 and performing computation according to the programs by the CPU10, and hardware such as integrated circuits.
- the main controller 101 serves to control respective components included in the controller 100, and gives instructions to the respective components of the controller 100.
- the main controller 101 also controls the input/output controller 103 to access other devices via the network I/F 130.
- the operation display controller 102 displays screens on the display unit 120 under the control of the main controller 101 or inputs information, signals, and instructions input via the operation unit 110 to the main controller 101.
- the main controller 101 then gives instructions to the respective components of the controller 100 according to the information, signals, and instructions input from the operation display controller 102.
- the input/output controller 103 transmits information, signals, and instructions to other devices via the network I/F 130 under the control of the main controller 101 or inputs information, signals, and instructions input via the network I/F 130 to the main controller 101.
- the main controller 101 then gives instructions to the respective components of the controller 100 according to the information, signals, and instructions input from the input/output controller 103.
- the projection controller 104 controls or drives the projection unit 140 under the control of the main controller 101.
- the data buffer 105 temporarily stores image data transmitted from the client terminal 2.
- the connection request counter 106 counts the number of connection requests made by the projector 1 to the client terminal 2.
- the calculation formula storage unit 107 stores a calculation formula for calculating the buffering time.
- Fig. 7 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
- the main controller 101 first controls the input/output controller 103 to request connection to the client terminal 2 (S701).
- the main controller 101 determines whether or not a connection response is provided from the client terminal 2 in response to the connection request made in S701 before a lapse of a certain time from the connection request (S702).
- the projector 1 uses Wi-Fi (registered trademark) Direct as a communication path between the projector 1 and the client terminal 2 in the video display system according to the present embodiment.
- the projector 1 makes the connection request until the communication with the client terminal 2 is established, that is, until a connection request comes from the client terminal 2 by using CSMA/CA according to the specification of IEEE802.11 in a communication counterpart search phase using the Wi-Fi (registered trademark) Direct.
- the main controller 101 If no connection response has been provided until the certain time elapses after the connection request in the determination process in S702 (S702/NO), the main controller 101 then adds 1 to the count of the connection request counter 106 (S703).
- the main controller 101 calculates the buffering time on the basis of the count of the connection request counter 106 and the calculation formula stored in the calculation formula storage unit 107 (S704).
- the main controller 101 functions as a buffering condition determining unit to determine the buffering time as a buffering condition.
- T 1 and T 2 are given positive integers. Note that T 1 and T 2 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
- the main controller 101 Upon receiving RTP packets from the client terminal 2 (S705), the main controller 101 then temporarily stores the RTP packets in the data buffer 105 (S706).
- the main controller 101 also functions as a data acquisition unit and a buffering controller, and the data buffer 105 functions as a storage unit.
- the main controller 101 determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time calculated in S704 (S707).
- the main controller 101 then repeats reception of RTP packets and storage of the received RTP packets into the data buffer 105 (S705, S706) until the elapsed time reaches the buffering time calculated in S704 (S707/NO).
- the main controller 101 When the elapsed time has reached the buffering time calculated in S704 (S707/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S709) if the RTP packets are not in the order of sequence numbers (S708/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S708/YES).
- the main controller 101 functions as a reassembling unit.
- the main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
- the main controller 101 functions as a content reproducing unit.
- the main controller 101 then repeats the processing from S705 (S705, S706) until reception of RTP packets is terminated (S710/NO), and clears the count of the connection request counter 106 (S711) when reception of RTP packets is terminated (S710/YES).
- the projector 1 is configured to determine the buffering time depending on the condition of communication with the client terminal 2.
- the projector 1 is configured to set a long buffering time when the condition of communication with the client terminal 2 is poor and set a short buffering time when the condition of communication with the client terminal 2 is good.
- the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests.
- the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2, determine that the condition of communication with the client terminal 2 is worse and set a longer buffering time as the number of connection requests is larger, and determine that the condition of communication with the client terminal 2 is better and set a shorter buffering time as the number of connection requests is smaller.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- the projector 1 configured to determine the buffering time depending on the number of connection requests has been described.
- the projector 1 according to the present embodiment may be configured to determine the buffering tie depending on an elapsed time from a connection request to the client terminal 2 until a connection response from the client terminal 2, or may be configured to determine the buffering time depending on an elapsed time from start of a process for connection with the client terminal 2 until the connection is established.
- the projector 1 configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests has been described.
- a projector 1 configured to determine the buffering time depending on a bit rate of a communication path between the projector 1 and a client terminal 2 will be described.
- the projector 1 is configured to determine that the condition of communication with the client terminal 2 is worse and set a long buffering time as the bit rate of the communication path between the projector 1 and the client terminal 2 is lower, and determine that the condition of communication with the client terminal 2 is better and set a short buffering time as the bit rate is higher.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- Fig. 8 is a block diagram schematically illustrating the functional configuration of the projector 1 according to the present embodiment.
- the projector 1 includes a control parameter storage unit 108.
- the control parameter storage unit 108 stores the bit rate of the communication path between the projector 1 and the client terminal 2.
- Fig. 9 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
- the main controller 101 first acquires the bit rate of the communication path between the projector 1 and the client terminal 2 at predetermined time intervals, and stores the bit rates in the control parameter storage unit 108 (S901).
- the main controller 101 changes the predetermined time depending on a change in the bit rate in such a manner as to shorten the predetermined time when the bit rate of the communication path between the projector 1 and the client terminal 2 is determined to have changed greatly or to lengthen the predetermined time when the bit rate is determined to have changed gradually.
- the main controller 101 then calculates the buffering time on the basis of the bit rates stored in the control parameter storage unit 108 and the calculation formula stored in the calculation formula storage unit 107 (S902).
- T 3 , T 4 , and T 5 are given positive integers. Note that T 3 , T 4 , and T 5 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
- T 3 may be set to a maximum value of the bit rate of the communication path between the projector 1 and the client terminal 2 so that the buffering time is shortest when the actual bit rate is the maximum value.
- the main controller 101 Upon receiving RTP packets from the client terminal 2 (S903), the main controller 101 then temporarily stores the RTP packets in the data buffer 105 (S904).
- the main controller 101 determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time calculated in S902 (S905).
- the main controller 101 then repeats reception of RTP packets and storage of the received RTP packets into the data buffer 105 (S903, S904) until the elapsed time reaches the buffering time calculated in S902 (S905/NO).
- the main controller 101 When the elapsed time has reached the buffering time calculated in S902 (S905/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S907) if the RTP packets are not in the order of sequence numbers (S906/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S906/YES).
- the main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
- the main controller 101 then repeats the processing from S901 (S901 to S907) until reception of RTP packets is terminated (S908/NO), and clears the bit rates stored in the control parameter storage unit 108 (S909) when reception of RTP packets is terminated (S908/YES).
- the projector 1 is configured to determine the buffering time depending on the bit rate of the communication path between the projector 1 and the client terminal 2.
- the projector 1 is configured to determine that the condition of communication with the client terminal 2 is worse and set a long buffering time as the bit rate of the communication path between the projector 1 and the client terminal 2 is lower, and determine that the condition of communication with the client terminal 2 is better and set a short buffering time as the bit rate is higher.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- the projector 1 configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests has been described.
- the projector 1 configured to determine the buffering time depending on the bit rate of the communication path between the projector 1 and the client terminal 2 has been described.
- a projector 1 configured to determine the buffering time depending on the type of data (hereinafter referred to as a “data type”) transmitted from a client terminal 2 will be described.
- the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the data amount of data of a data type transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data of a data type is smaller.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- Fig. 10 is a block diagram schematically illustrating the functional configuration of the projector 1 according to the present embodiment.
- the projector 1 according to the present embodiment includes a buffering time storage unit 109.
- the buffering time storage unit 109 stores a buffering time determination table.
- Fig. 11 is a table illustrating an example of the buffering time determination table stored by the buffering time storage unit 109 according to the present embodiment.
- the data amounts of data compared using the same reproduction time satisfy the relation of audio ⁇ video ⁇ best effort ⁇ background.
- the buffering time is associated with each data type.
- T 6 , T 7 , T 8 , and T 9 are given positive integers satisfying the relation of T 6 ⁇ T 7 ⁇ T 8 ⁇ T 9 .
- T 6 , T 7 , T 8 , and T 9 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
- a data type whose data amount is smaller is associated with a shorter buffering time while a data type whose data amount is larger is associated with a longer buffering time.
- the projector 1 is configured to determine a buffering time associated with the same data type as the data type of data transmitted from the client terminal 2 to be a latest buffering time among the buffering times in the buffering time determination table.
- Fig. 12 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
- the main controller 101 upon receiving RTP packets (S1201) the main controller 101 first temporarily stores the RTP packets into data buffer 105 (S1202).
- the main controller 101 determines whether or not a predetermined time has elapsed from previous determination of the buffering time (S1203).
- the main controller 101 changes the predetermined time depending on a change in the data type in such a manner as to shorten the predetermined time when the data type is determined to have changed greatly or to lengthen the predetermined time when the data type is determined to have changed gradually.
- the main controller 101 determines the data type of the RTP packets received in S1201 (S1204).
- the main controller 101 determines a buffering time associated with the same data type as the data type determined in S1203 to be the latest buffering time among the buffering times in the buffering time determination table (S1205).
- the main controller 101 determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time determined in S1205 (S1206).
- the main controller 101 then repeats the processing of S1201 to S1205 until the elapsed time reaches the buffering time determined in S1205 (S1206/NO).
- the main controller 101 When the elapsed time has reached the buffering time determined in S1205 (S1206/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S1208) if the RTP packets are not in the order of sequence numbers (S1207/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S1207/YES).
- the main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
- the main controller 101 then repeats the processing from S1201 (S1201 to S1208) until reception of RTP packets is terminated (S1209/NO), and terminates the processing for reassembling RTP packets in the order of sequence numbers when reception of RTP packets is terminated (S1209/YES).
- the projector 1 is configured to determine the buffering time depending on the data type of data transmitted from the client terminal 2.
- the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the data amount of data of a data type transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data of a data type is smaller.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- the projector 1 configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests has been described.
- the projector 1 configured to determine the buffering time depending on the bit rate of the communication path between the projector 1 and the client terminal 2 has been described.
- the projector 1 configured to determine the buffering time depending on the data type of data transmitted from the client terminal 2 has been described.
- a projector 1 configured to determine the buffering time depending on the amount of data transmitted from a client terminal 2 will be described.
- the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the amount of data transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data is smaller.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- the projector 1 according to the present embodiment includes a control parameter storage unit 108.
- the control parameter storage unit 108 stores the amount of data the projector 1 receives from the client terminal 2.
- Fig. 13 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
- the main controller 101 first inquires of the client terminal 2 the amount of image data to be transmitted (S1301).
- the main controller 101 Upon acquiring the data amount from the client terminal 2 in response to the inquiry in S1301, the main controller 101 then stores the data amount in the control parameter storage unit 108 (S1302).
- the main controller 101 then calculates the buffering time on the basis of the data amount stored in the control parameter storage unit 108 and the calculation formula stored in the calculation formula storage unit 107 (S1303).
- T 11 , T 12 , and T 13 are given positive integers. Note that T 11 , T 12 , and T 13 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
- the main controller 101 Upon receiving RTP packets from the client terminal 2 (S1304), the main controller 101 then temporarily stores the RTP packets in the data buffer 105 (S1305).
- the main controller 101 determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time calculated in S1303 (S1306).
- the main controller 101 then repeats reception of RTP packets and storage of the received RTP packets into the data buffer 105 (S1304, S1305) until the elapsed time reaches the buffering time calculated in S1303 (S1306/NO).
- the main controller 101 When the elapsed time has reached the buffering time calculated in S1303 (S1306/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S1308) if the RTP packets are not in the order of sequence numbers (S1307/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S1307/YES).
- the main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
- the main controller 101 then repeats the processing from S1304 (S1304 to S1308) until reception of RTP packets is terminated (S1309/NO), and clears the data amount stored in the control parameter storage unit 108 (S1310) when reception of RTP packets is terminated (S1309/YES).
- the projector 1 is configured to determine the buffering time depending on the amount of data transmitted from the client terminal 2.
- the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the amount of data transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data is smaller.
- the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
- the projectors 1 configured to calculate or determine the buffering time depending on the number of connection requests, the bit rate, the data type, and the data amount, respectively, have been described.
- the projectors 1 according to the first to fourth embodiments may be configured to calculate or determine the buffering size depending on the number of connection requests, the bit rate, the data type, and the data mount, respectively.
- RTP packets corresponding to the calculated or determined buffering size are stored in the data buffer 105.
- the projectors 1 then reassemble the RTP packets stored in the data buffer 105 in the order of sequence numbers.
- Processing circuitry includes a programmed processor, as a processor includes circuitry.
- a processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA) and conventional circuit components arranged to perform the recited functions.
- ASIC application specific integrated circuit
- DSP digital signal processor
- FPGA field programmable gate array
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Controls And Circuits For Display Device (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
A content reproduction device includes a communication unit, a data acquisition unit, a buffering controller, a buffering condition determining unit, a reassembling unit, and a content reproducing unit. The communication unit is configured to communicate with an information processing device. The data acquisition unit is configured to sequentially acquire pieces of data from the information processing device via the communication unit. The buffering controller is configured to buffer the pieces of data in a storage unit. The buffering condition determining unit is configured to determine a buffering condition for buffering the pieces of data, depending on a condition of communication with the information processing device. The reassembling unit is configured to reassemble the pieces of data buffered in the storage unit in a predetermined order when the determined buffering condition is satisfied. The content reproducing unit is configured to reproduce a content based on the reassembled pieces of data.
Description
The present invention relates to a content reproduction device and a content reproduction method.
In recent years, content reproduction systems are known in which a content reproduction device, such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player, and an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone, are connected with each other, and the content reproduction device reproduces contents such as video and audio based on data such as image data and audio data transmitted from the information processing device.
In such a content reproduction system, assume a case in which the information processing device has first transmitted data of sequence numbers # 1 and #2 and has then transmitted data of sequence numbers #3 and #4 to the content reproduction device, for example.
In this case, depending on the condition of communication with the information processing device, the orders of data may be different between the transmitting end and the receiving end, in such a manner that the content reproduction device first receives the data of #3 and #4 and then receives the data of #1 and #2.
In such a case, after the content reproduction device reproduced a content based on the data of #3 and #4, the data that the content reproduction device has actually received next are the data of #1 and #2 although a content based on data of #5 and #6 is to be reproduced next.
Since, however, the content reproduction device can only reproduce contents according to the sequence numbers, the content cannot be reproduced after the content based on the data of #3 and #4 is reproduced.
Thus, content reproduction devices configured to discard data that should have come previously but have come later in a different order so as not to stop reproduction of contents are known.
For example, when such a content reproduction device has received the data of #3 and #4 first and has then received the data of #1 and #2, the content reproduction device is configured to discard the data of #1 and #2 so as to prevent reproduction of contents from being stopped.
In such a content reproduction device, however, since data corresponding to a content that should have been reproduced are discarded, part of the content is not reproduced, which leads to such a problem of degradation in content reproduction quality.
Thus, a content reproduction device provided with a buffer for temporarily storing data and configured to store data received until a predetermined time (hereinafter referred to as a “buffering time”) elapses into the buffer and reassemble the data stored in the buffer according to sequence numbers after a lapse of the buffering time has been proposed and is already known (refer, for example, to Patent Literature 1).
Such a content reproduction device of the related art as disclosed in PTL 1, however, has such a problem in which a content may not be reproduced at a timing when the content should be reproduced and a delay corresponding to the buffering time may occur in the timing of content reproduction.
The present invention has been made to solve such problems, and an object thereof is to prevent degradation in the quality of content reproduction and reduce delays in content reproduction timing.
According to one aspect of the present invention, a content reproduction device includes a communication unit, a data acquisition unit, a buffering controller, a buffering condition determining unit, a reassembling unit, and a content reproducing unit. The communication unit is configured to communicate with an information processing device. The data acquisition unit is configured to sequentially acquire pieces of data from the information processing device via the communication unit. The buffering controller is configured to buffer the acquired pieces of data in a storage unit. The buffering condition determining unit is configured to determine a buffering condition for buffering the acquired pieces of data in the storage unit, depending on a condition of communication with the information processing device. The reassembling unit is configured to reassemble the pieces of data buffered in the storage unit in a predetermined order when the determined buffering condition is satisfied. The content reproducing unit is configured to reproduce a content based on the reassembled pieces of data.
According to the present invention, degradation in the quality of content reproduction is prevented and delays in content reproduction timing are reduced.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention.
As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In describing preferred embodiments illustrated in the drawings, specific terminology may be employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that have the same function, operate in a similar manner, and achieve a similar result.
As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In describing preferred embodiments illustrated in the drawings, specific terminology may be employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that have the same function, operate in a similar manner, and achieve a similar result.
First Embodiment
An embodiment of the present invention is described in detail below with reference to the drawings. In the present embodiment, description will be given on a content reproduction system in which a content reproduction device, such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player, and an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone, are connected with each other, and the content reproduction device reproduces contents such as video and audio based on data such as image data and audio data transmitted from the information processing device.
An embodiment of the present invention is described in detail below with reference to the drawings. In the present embodiment, description will be given on a content reproduction system in which a content reproduction device, such as a video reproduction device such as a projector or a display and an audio reproduction device such as a music player or an audio player, and an information processing device such as a tablet terminal, a PC (Personal Computer), or a smart phone, are connected with each other, and the content reproduction device reproduces contents such as video and audio based on data such as image data and audio data transmitted from the information processing device.
In particular, in the present embodiment, a video display system in which a video display device and an information processing device are connected with each other and the video display device displays video on the basis of image data transmitted from the information processing device will be described.
First, a mode of operation of the video display system according to the present embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram illustrating a mode of operation of the video display system according to the present embodiment.
As illustrated in Fig. 1, the video display system according to the present embodiment includes a projector 1 and a client terminal 2 connected with each other in such a manner that the projector 1 and the client terminal 2 can communicate with each other.
The projector 1 modulates light beams emitted from a light source according to input video signals to form optical images, and projects the formed projection images for display on a projection plane such as a wall or a screen in an enlarged manner. In the present embodiment, video is projected for display according to image data transmitted from the client terminal 2.
The client terminal 2 is an information processing terminal operated by a user, and is constituted by an information processing device such as a PC (Personal Computer), a PDA (Personal Digital Assistant), a smart phone, or a tablet terminal.
The projector 1 and the client terminal 2 are connected using interfaces based on a standard such as LAN (Local Area Network), Ethernet (registered trademark), USB (Universal Serial Bus), Bluetooth (registered trademark), Wi-Fi (Wireless Fidelity) (registered trademark), FeliCa (registered trademark), PCIe (Peripheral Component Interconnect Express), VGA (Video Graphics Array), DVI (Digital Visual Interface), or IEEE (The Institute of Electrical and Electronics Engineers).
Note that an example in which the projector 1 and the client terminal 2 are in conformity with Wi-Fi (registered trademark) CERTIFIED Miracast and image data are transmitted and received with use of the Real-time Transport Protocol (hereinafter referred to as “RTP”) will be described in the present embodiment.
Next, the order in which image data are transmitted in transmission of the image data from the client terminal 2 to the projector 1 in the video display system according to the present embodiment will be described with reference to Fig. 2. Fig. 2 is a diagram for explaining the order in which image data are transmitted in transmission of the image data from the client terminal 2 to the projector 1 in the video display system according to the present embodiment.
As illustrated in Fig. 2, in transmission/detection of image data using the RTP, the client terminal 2 (transmitting end) packetizes image data in units of PESs (Packetized Elementary Streams) for transmission to the projector 1 (receiving end). Note that each PES is constituted by a plurality of CCs (Continuity Counters). PESs into which image data are thus packetized in units of PESs in this process are referred to as PES# 1, PES# 2, ...
The client terminal 2 (transmitting end) then divides each PES into a plurality of RTP packets for transmission to the projector 1 (receiving end). Assume here that the client terminal 2 (transmitting end) divides PES# 1 into RTP# 100 and RTP#101, and PES# 2 into RTP# 102 and RTP#103. Note that #○○ refers to a sequence number indicating the order in which RTP packets are transmitted by the client terminal 2.
In this case, the RTP packets should reach the projector 1 in an order of RTP# 100, RTP#101, RTP#102, and RTP#103. Depending on the condition of communication between the projector 1 (receiving end) and the client terminal 2 (transmitting end), however, the order of the RTP packets may be different between the transmitting end and the receiving end and the RTP packets may reach the projector 1 in an order of RTP# 102, RTP# 103, RTP# 100, and RTP# 101 as illustrated in Fig. 2.
In such a case, although packets to be reconstructed next by the projector 1 after reconstruction of RTP# 102 and RTP# 103 are RTP# 104 and RTP# 105, the packets that are actually received by the projector 1 are RTP# 100 and RTP# 101.
Since, however, the projector 1 can only reconstruct RTP packets in the order of the sequence numbers, the projector 1 cannot reconstruct the RTP packets after reconstruction of RTP# 102 and RTP# 103. Thus, in this case, the projector 1 can no longer reproduce video at this point.
In view of this, as illustrated in Fig. 3, the projector 1 may discard RTP packets that should have come previously but have actually come later in a different order so as not to stop reproduction of video. In this case, however, since RTP packets corresponding to video, which should have been reproduced, are discarded, part of the video is not reproduced and the quality of video reproduction is degraded.
Thus, in the video display system of the related art, the projector is provided with a data buffer for temporarily storing data and configured to store RTP packets received until a predetermined time (hereinafter referred to as a “buffering time”) elapses in to the data buffer and reassemble the RTP packets stored in the data buffer according to sequence numbers after a lapse of the buffing time.
Here, specific processing for reassembling RTP packets received by the projector in the order of sequence numbers in the video display system of the related art will be described with reference to Fig. 4. Fig. 4 is a flowchart for explaining the processing for reassembling RTP packets received by the projector in the order of sequence numbers in the video display system of the related art.
As illustrated in Fig. 4, for reassembling received RTP packets in the order of sequence numbers in the video display system of the related art, the projector first determines the buffering time in advance (S401).
Upon receiving RTP packets (S402), the projector then temporarily stores the RTP packets in to the data buffer (S403), and determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time (S404).
The projector then repeats reception of RTP packets and storage of the received RTP packets into the data buffer (S402, S403) until the elapsed time reaches the buffering time (S404/NO).
When the elapsed time has reached the buffering time (S404/YES), the projector reassembles the RTP packets stored in the data buffer in the order of sequence numbers (S406) if the RTP packets are not in the order of sequence numbers (S405/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S405/YES).
The projector then reconstructs image data from the RTP packets in the order of sequence numbers, and performs projection and display of video on the basis of the reconstructed image data.
As described above, in the video display system of the related art, the projector is configured to determine the buffering time in advance and reassemble RTP packets stored in the data buffer until the buffering time elapses in the order of sequence numbers.
Note that the buffering time may be short or need not be set under such conditions where the communication between the projector and the client terminal is in good condition and where the order of RTP packets at the receiving end is only a little different or is not different from that at the transmitting end.
In the video display system of the related art, however, the projector is provided with a constant buffering time regardless of the condition of communication with the client terminal as explained with reference to Fig. 4. Thus, in the video display system of the related art, the buffering time is unnecessarily long in a case where the communication between the projector and the client terminal is in good condition and where the order of RTP packets at the receiving end is only a little different or is not different from that at the transmitting end.
Consequently, in the video display system of the related art, the timing of video reproduction is delayed by the time corresponding to the constant buffing time even when the communication between the projector and the client terminal is in good condition.
In the video display system according to the present embodiment, the projector 1 is therefore configured to determine the buffering time depending on the condition of communication with the client terminal 2.
Specifically, in the video display system according to the present embodiment, the projector 1 is configured to set a long buffering time when the condition of communication with the client terminal 2 is poor and set a short buffering time when the condition of communication with the client terminal 2 is good.
More specifically, in the video display system according to the present embodiment, the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests.
In other words, in the video display system according to the present embodiment, the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2, determine that the condition of communication with the client terminal 2 is worse and set a longer buffering time as the number of connection requests is larger, and determine that the condition of communication with the client terminal 2 is better and set a shorter buffering time as the number of connection requests is smaller.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
Next, hardware configurations of the projector 1 and the client terminal 2 according to the present embodiment will be described with reference to Fig. 5. Fig. 5 is a block diagram schematically illustrating a hardware configuration of the projector 1 according to the present embodiment. While a hardware configuration of the projector 1 is illustrated as an example in Fig. 5, similar configuration is applicable to the client terminal 2.
As illustrated in Fig. 5, the projector 1 according to the present embodiment includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 20, a ROM (Read Only Memory) 30, a HDD (Hard Disk Drive) 40, a projection device 50, an operation device 60, a display device 70, and a communication I/F 80, which are connected with one another via a bus 90.
The CPU 10 is computing means that controls operation of the entire projector 1. The RAM 20 is a volatile storage medium from/into which information can be read and written at high speeds, and is used as a working area for the CPU 10 to process information. The ROM 30 is a read-only non-volatile storage medium and stores programs such as firmware.
The HDD 40 is a non-volatile storage medium from/into which information can be read and written, and stores various data such as image data, an operating system (OS), various control programs, application programs such as content reproduction programs.
The projection device 50 is hardware for implementing special functions of the projector 1. Specifically, the projection device 50 modulates light beams emitted from a light source to form optical images, and projects the formed projection images for display on a projection plane such as a wall or a screen in an enlarged manner. Note that the client terminal 2 need not include the projection device 50 since the client terminal 2 is an information processing terminal to be operated by a user.
The operation device 60 is a user interface for inputting information to the projector 1, and is constituted by an input device such as a keyboard and a mouse, input buttons, and a touch panel.
The display device 70 is a visual user interface for the user to check the state of the projector 1, and is constituted by a display device such as an LCD (Liquid Crystal Display) or an output device such as an LED (Light Emitting Diode).
The communication I/F 80 is an interface for the projector 1 to communicate with other devices, and is constituted by an interface based on a standard such as Ethernet (registered trademark), USB, Bluetooth (registered trademark), Wi-Fi (registered trademark), FeliCa (registered trademark), PCIe, or IEEE.
With such a hardware configuration, programs stored in storage media such as the ROM 30 and the HDD40 are read onto the RAM 20, and the CPU 10 performs computation according to the programs loaded onto the RAM 20 to form software controllers.
Combination of the thus formed software controllers and hardware constitute functional blocks realizing the functions of the projector 1 and the client terminal 2 according to the present embodiment.
Next, a functional configuration of the projector 1 according to the present embodiment will be described with reference to Fig. 6. Fig. 6 is a block diagram schematically illustrating the functional configuration of the projector 1 according to the present embodiment.
As illustrated in Fig. 6, the projector 1 according to the present embodiment includes a controller 100, an operation unit 110, a display unit 120, a network I/F 130, and a projection unit 140. The controller 100 includes a main controller 101, an operation display controller 102 an input/output controller 103, a projection controller 104, a data buffer 105, a connection request counter 106, and a calculation formula storage unit 107.
The operation unit 110 is an input interface for the user to directly operate the projector 1 or to input information to the projector 1. The operation unit 110 is implemented by the operation device 60 illustrated in Fig. 5.
The display unit 120 is an output interface for visually displaying the state of the projector 1 and also an input interface in a form of a touch panel for the user to directly operate the projector 1 or to input information to the projector 1. Thus, the display unit 120 includes a function of displaying an image for receiving user’s operation. The display unit 120 is implemented by the display device 70 illustrated in Fig. 5.
The network I/F 130 is an interface for the projector 1 to communicate with other devices such as the client terminal 2 via a network, and is constituted by an interface based on a standard such as Ethernet (registered trademark), USB, Bluetooth (registered trademark), Wi-Fi (registered trademark), FeliCa (registered trademark), PCIe, or IEEE. The network I/F 130 is implemented by the communication I/F 80 illustrated in Fig. 5. Thus, in the present embodiment, the network I/F 130 functions as a communication unit.
The projection unit 140 is an output interface for modulating light beams emitted from a light source to form optical images and projecting the formed projection images for display on a projection plane such as a wall or a screen in an enlarged manner. The projection unit 140 is implemented by the projection device 50 illustrated in Fig. 5.
The controller 100 is implemented by combination of software and hardware. Specifically, the controller 100 is constituted by software controllers, which are formed by loading programs stored in storage media such as the ROM 30 and the HDD 40 onto the RAM 20 and performing computation according to the programs by the CPU10, and hardware such as integrated circuits.
The main controller 101 serves to control respective components included in the controller 100, and gives instructions to the respective components of the controller 100. The main controller 101 also controls the input/output controller 103 to access other devices via the network I/F 130.
The operation display controller 102 displays screens on the display unit 120 under the control of the main controller 101 or inputs information, signals, and instructions input via the operation unit 110 to the main controller 101. The main controller 101 then gives instructions to the respective components of the controller 100 according to the information, signals, and instructions input from the operation display controller 102.
The input/output controller 103 transmits information, signals, and instructions to other devices via the network I/F 130 under the control of the main controller 101 or inputs information, signals, and instructions input via the network I/F 130 to the main controller 101. The main controller 101 then gives instructions to the respective components of the controller 100 according to the information, signals, and instructions input from the input/output controller 103.
The projection controller 104 controls or drives the projection unit 140 under the control of the main controller 101. The data buffer 105 temporarily stores image data transmitted from the client terminal 2.
The connection request counter 106 counts the number of connection requests made by the projector 1 to the client terminal 2. The calculation formula storage unit 107 stores a calculation formula for calculating the buffering time.
Next, specific processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
As illustrated in Fig. 7, for reassembling RTP packets received by the projector 1 in the order of the sequence numbers in the video display system according to the present embodiment, the main controller 101 first controls the input/output controller 103 to request connection to the client terminal 2 (S701).
The main controller 101 then determines whether or not a connection response is provided from the client terminal 2 in response to the connection request made in S701 before a lapse of a certain time from the connection request (S702).
Note that the projector 1 uses Wi-Fi (registered trademark) Direct as a communication path between the projector 1 and the client terminal 2 in the video display system according to the present embodiment. The projector 1 makes the connection request until the communication with the client terminal 2 is established, that is, until a connection request comes from the client terminal 2 by using CSMA/CA according to the specification of IEEE802.11 in a communication counterpart search phase using the Wi-Fi (registered trademark) Direct.
If no connection response has been provided until the certain time elapses after the connection request in the determination process in S702 (S702/NO), the main controller 101 then adds 1 to the count of the connection request counter 106 (S703).
If a connection response is provided before the certain time elapses after the connection request in the determination process in S702 (S702/YES), the main controller 101 calculates the buffering time on the basis of the count of the connection request counter 106 and the calculation formula stored in the calculation formula storage unit 107 (S704). Thus, in the present embodiment, the main controller 101 functions as a buffering condition determining unit to determine the buffering time as a buffering condition.
In this process, the main controller 101 calculates the buffering time by a calculation formula “buffering time = T1 + count × T2” stored in the calculation formula storage unit 107. In the formula, T1 and T2 are given positive integers. Note that T1 and T2 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
Upon receiving RTP packets from the client terminal 2 (S705), the main controller 101 then temporarily stores the RTP packets in the data buffer 105 (S706). Thus, in the present embodiment, the main controller 101 also functions as a data acquisition unit and a buffering controller, and the data buffer 105 functions as a storage unit.
The main controller 101 then determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time calculated in S704 (S707).
The main controller 101 then repeats reception of RTP packets and storage of the received RTP packets into the data buffer 105 (S705, S706) until the elapsed time reaches the buffering time calculated in S704 (S707/NO).
When the elapsed time has reached the buffering time calculated in S704 (S707/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S709) if the RTP packets are not in the order of sequence numbers (S708/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S708/YES). Thus, in the present embodiment, the main controller 101 functions as a reassembling unit.
The main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data. Thus, in the present embodiment, the main controller 101 functions as a content reproducing unit.
The main controller 101 then repeats the processing from S705 (S705, S706) until reception of RTP packets is terminated (S710/NO), and clears the count of the connection request counter 106 (S711) when reception of RTP packets is terminated (S710/YES).
As described above, in the video display system according to the present embodiment, the projector 1 is configured to determine the buffering time depending on the condition of communication with the client terminal 2.
Specifically, in the video display system according to the present embodiment, the projector 1 is configured to set a long buffering time when the condition of communication with the client terminal 2 is poor and set a short buffering time when the condition of communication with the client terminal 2 is good.
More specifically, in the video display system according to the present embodiment, the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests.
In other words, in the video display system according to the present embodiment, the projector 1 is configured to repeat requesting connection until a connection response is provided from the client terminal 2, determine that the condition of communication with the client terminal 2 is worse and set a longer buffering time as the number of connection requests is larger, and determine that the condition of communication with the client terminal 2 is better and set a shorter buffering time as the number of connection requests is smaller.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
In the present embodiment, the projector 1 configured to determine the buffering time depending on the number of connection requests has been described. Alternatively, the projector 1 according to the present embodiment may be configured to determine the buffering tie depending on an elapsed time from a connection request to the client terminal 2 until a connection response from the client terminal 2, or may be configured to determine the buffering time depending on an elapsed time from start of a process for connection with the client terminal 2 until the connection is established.
Second Embodiment
In the first embodiment, theprojector 1 configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests has been described.
In the first embodiment, the
In contrast, in the present embodiment, a projector 1 configured to determine the buffering time depending on a bit rate of a communication path between the projector 1 and a client terminal 2 will be described.
Specifically, in a video display system according to the present embodiment, the projector 1 is configured to determine that the condition of communication with the client terminal 2 is worse and set a long buffering time as the bit rate of the communication path between the projector 1 and the client terminal 2 is lower, and determine that the condition of communication with the client terminal 2 is better and set a short buffering time as the bit rate is higher.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
An embodiment of the present invention will be described in detail below with reference to the drawings. Note that components designated by the same reference numerals as those in the first embodiment are the same or corresponding components, and detailed description thereof will not be repeated.
First, a functional configuration of the projector 1 according to the present embodiment will be described with reference to Fig. 8. Fig. 8 is a block diagram schematically illustrating the functional configuration of the projector 1 according to the present embodiment.
As illustrated in Fig. 8, the projector 1 according to the present embodiment includes a control parameter storage unit 108. The control parameter storage unit 108 stores the bit rate of the communication path between the projector 1 and the client terminal 2.
Next, specific processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment will be described with reference to Fig. 9. Fig. 9 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
As illustrated in Fig. 9, for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment, the main controller 101 first acquires the bit rate of the communication path between the projector 1 and the client terminal 2 at predetermined time intervals, and stores the bit rates in the control parameter storage unit 108 (S901).
In this process, the main controller 101 changes the predetermined time depending on a change in the bit rate in such a manner as to shorten the predetermined time when the bit rate of the communication path between the projector 1 and the client terminal 2 is determined to have changed greatly or to lengthen the predetermined time when the bit rate is determined to have changed gradually.
The main controller 101 then calculates the buffering time on the basis of the bit rates stored in the control parameter storage unit 108 and the calculation formula stored in the calculation formula storage unit 107 (S902).
In this process, the main controller 101 calculates the buffering time by a calculation formula “buffering time = T1 + (T3 - bit rate) × T4” or “buffering time = T1 + {(T3/bit rate) - 1} × T5” stored in the calculation formula storage unit 107. In the formulae, T3, T4, and T5 are given positive integers. Note that T3, T4, and T5 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
Furthermore, T3 may be set to a maximum value of the bit rate of the communication path between the projector 1 and the client terminal 2 so that the buffering time is shortest when the actual bit rate is the maximum value.
Upon receiving RTP packets from the client terminal 2 (S903), the main controller 101 then temporarily stores the RTP packets in the data buffer 105 (S904).
The main controller 101 then determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time calculated in S902 (S905).
The main controller 101 then repeats reception of RTP packets and storage of the received RTP packets into the data buffer 105 (S903, S904) until the elapsed time reaches the buffering time calculated in S902 (S905/NO).
When the elapsed time has reached the buffering time calculated in S902 (S905/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S907) if the RTP packets are not in the order of sequence numbers (S906/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S906/YES).
The main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
The main controller 101 then repeats the processing from S901 (S901 to S907) until reception of RTP packets is terminated (S908/NO), and clears the bit rates stored in the control parameter storage unit 108 (S909) when reception of RTP packets is terminated (S908/YES).
As described above, in the video display system according to the present embodiment, the projector 1 is configured to determine the buffering time depending on the bit rate of the communication path between the projector 1 and the client terminal 2.
Specifically, in a video display system according to the present embodiment, the projector 1 is configured to determine that the condition of communication with the client terminal 2 is worse and set a long buffering time as the bit rate of the communication path between the projector 1 and the client terminal 2 is lower, and determine that the condition of communication with the client terminal 2 is better and set a short buffering time as the bit rate is higher.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
Third Embodiment
In the first embodiment, theprojector 1 configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests has been described. In the second embodiment, the projector 1 configured to determine the buffering time depending on the bit rate of the communication path between the projector 1 and the client terminal 2 has been described.
In the first embodiment, the
In contrast, in the present embodiment, a projector 1 configured to determine the buffering time depending on the type of data (hereinafter referred to as a “data type”) transmitted from a client terminal 2 will be described.
Specifically, in a video display system according to the present embodiment, the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the data amount of data of a data type transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data of a data type is smaller.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
An embodiment of the present invention is described in detail below with reference to the drawings. Note that components designated by the same reference numerals as those in the first and second embodiments are the same or corresponding components, and detailed description thereof will not be repeated.
First, a functional configuration of the projector 1 according to the present embodiment will be described with reference to Fig. 10. Fig. 10 is a block diagram schematically illustrating the functional configuration of the projector 1 according to the present embodiment. As illustrated in Fig. 10, the projector 1 according to the present embodiment includes a buffering time storage unit 109. The buffering time storage unit 109 stores a buffering time determination table.
Here, the buffering time determination table stored in the buffering time storage unit 109 according to the present embodiment will be described with reference to Fig. 11. Fig. 11 is a table illustrating an example of the buffering time determination table stored by the buffering time storage unit 109 according to the present embodiment. In the description below, assume that the data amounts of data compared using the same reproduction time satisfy the relation of audio < video < best effort < background.
As illustrated in Fig. 11, in the buffering time determination table stored by the buffering time storage unit 109 according to the present embodiment, the buffering time is associated with each data type. In Fig. 11, T6, T7, T8, and T9 are given positive integers satisfying the relation of T6 < T7 < T8 < T9. Note that T6, T7, T8, and T9 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
As described above, in the buffering time determination table in the present embodiment, a data type whose data amount is smaller is associated with a shorter buffering time while a data type whose data amount is larger is associated with a longer buffering time.
In addition, in the video display system according to the present embodiment, the projector 1 is configured to determine a buffering time associated with the same data type as the data type of data transmitted from the client terminal 2 to be a latest buffering time among the buffering times in the buffering time determination table.
This is because the order of RTP packets is more likely to be different between the receiving end and the transmitting end and the buffering time thus needs to be longer as the data amount of data of a data type transmitted from the client terminal 2 is larger, while the order of RTP packets is less likely to be different between the receiving end and the transmitting end and the buffering time may be shorter as the data amount of data of a data type is smaller.
Next, specific processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment will be described with reference to Fig. 12. Fig. 12 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
As illustrated in Fig. 12, for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment, upon receiving RTP packets (S1201) the main controller 101 first temporarily stores the RTP packets into data buffer 105 (S1202).
The main controller 101 then determines whether or not a predetermined time has elapsed from previous determination of the buffering time (S1203).
In this process, the main controller 101 changes the predetermined time depending on a change in the data type in such a manner as to shorten the predetermined time when the data type is determined to have changed greatly or to lengthen the predetermined time when the data type is determined to have changed gradually.
If the predetermined time is determined to have elapsed In the determination process in S1203 (S1203/YES), the main controller 101 then determines the data type of the RTP packets received in S1201 (S1204).
The main controller 101 then determines a buffering time associated with the same data type as the data type determined in S1203 to be the latest buffering time among the buffering times in the buffering time determination table (S1205).
If the predetermined time is determined not to have elapsed in the determination process in S1203 (S1203/NO) or after the buffering time is determined in S1205, the main controller 101 then determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time determined in S1205 (S1206).
The main controller 101 then repeats the processing of S1201 to S1205 until the elapsed time reaches the buffering time determined in S1205 (S1206/NO).
When the elapsed time has reached the buffering time determined in S1205 (S1206/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S1208) if the RTP packets are not in the order of sequence numbers (S1207/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S1207/YES).
The main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
The main controller 101 then repeats the processing from S1201 (S1201 to S1208) until reception of RTP packets is terminated (S1209/NO), and terminates the processing for reassembling RTP packets in the order of sequence numbers when reception of RTP packets is terminated (S1209/YES).
As described above, in the video display system according to the present embodiment, the projector 1 is configured to determine the buffering time depending on the data type of data transmitted from the client terminal 2.
Specifically, in a video display system according to the present embodiment, the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the data amount of data of a data type transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data of a data type is smaller.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
Fourth Embodiment
In the first embodiment, theprojector 1 configured to repeat requesting connection until a connection response is provided from the client terminal 2 and determine the buffering time depending on the number of connection requests has been described. In the second embodiment, the projector 1 configured to determine the buffering time depending on the bit rate of the communication path between the projector 1 and the client terminal 2 has been described. In the third embodiment, the projector 1 configured to determine the buffering time depending on the data type of data transmitted from the client terminal 2 has been described.
In the first embodiment, the
In contrast, in the present embodiment, a projector 1 configured to determine the buffering time depending on the amount of data transmitted from a client terminal 2 will be described.
Specifically, in a video display system according to the present embodiment, the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the amount of data transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data is smaller.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
An embodiment of the present invention is described in detail below with reference to the drawings. Note that components designated by the same reference numerals as those in the first to third embodiments are the same or corresponding components, and detailed description thereof will not be repeated.
First, a functional configuration of the projector 1 according to the present embodiment will be described with reference to Fig. 8 again. As illustrated in Fig. 8, the projector 1 according to the present embodiment includes a control parameter storage unit 108. The control parameter storage unit 108 stores the amount of data the projector 1 receives from the client terminal 2.
Next, specific processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment will be described with reference to Fig. 13. Fig. 13 is a flowchart for explaining the processing for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment.
As illustrated in Fig. 13, for reassembling RTP packets received by the projector 1 in the order of sequence numbers in the video display system according to the present embodiment, the main controller 101 first inquires of the client terminal 2 the amount of image data to be transmitted (S1301).
Upon acquiring the data amount from the client terminal 2 in response to the inquiry in S1301, the main controller 101 then stores the data amount in the control parameter storage unit 108 (S1302).
The main controller 101 then calculates the buffering time on the basis of the data amount stored in the control parameter storage unit 108 and the calculation formula stored in the calculation formula storage unit 107 (S1303).
In this process, the main controller 101 calculates the buffering time by a calculation formula “buffering time = T1 + (data amount - T11) × T12” or “buffering time = T1 + {1 - (T11/data amount)} × T13” stored in the calculation formula storage unit 107. In the formulae, T11, T12, and T13 are given positive integers. Note that T11, T12, and T13 may be fixed values or may be values set by the user in the projector 1 according to the present embodiment.
Upon receiving RTP packets from the client terminal 2 (S1304), the main controller 101 then temporarily stores the RTP packets in the data buffer 105 (S1305).
The main controller 101 then determines whether or not the time elapsed from reception of the first RTP packet has reached the buffering time calculated in S1303 (S1306).
The main controller 101 then repeats reception of RTP packets and storage of the received RTP packets into the data buffer 105 (S1304, S1305) until the elapsed time reaches the buffering time calculated in S1303 (S1306/NO).
When the elapsed time has reached the buffering time calculated in S1303 (S1306/YES), the main controller 101 then reassembles the RTP packets stored in the data buffer 105 in the order of sequence numbers (S1308) if the RTP packets are not in the order of sequence numbers (S1307/NO) or does not reassemble the RTP packets if the RTP packets are in the order of sequence numbers (S1307/YES).
The main controller 101 then reconstructs image data from the RTP packets in the order of sequence numbers, and controls the projection controller 104 to project and display video from the projection unit 140 on the basis of the reconstructed image data.
The main controller 101 then repeats the processing from S1304 (S1304 to S1308) until reception of RTP packets is terminated (S1309/NO), and clears the data amount stored in the control parameter storage unit 108 (S1310) when reception of RTP packets is terminated (S1309/YES).
As described above, in the video display system according to the present embodiment, the projector 1 is configured to determine the buffering time depending on the amount of data transmitted from the client terminal 2.
Specifically, in a video display system according to the present embodiment, the projector 1 is configured to determine that the order of RTP packets is more likely to be different between the receiving end and the transmitting end and set a longer buffering time as the amount of data transmitted from the client terminal 2 is larger, and determine that the order of RTP packets is less likely to be different between the receiving end and the transmitting end and set a shorter buffering time as the amount of data is smaller.
In the video display system according to the present embodiment, the projector 1 configured as described above is capable of preventing degradation in the quality of video reproduction and reducing delays in video reproduction timing.
In the first to fourth embodiments, the projectors 1 configured to calculate or determine the buffering time depending on the number of connection requests, the bit rate, the data type, and the data amount, respectively, have been described. Alternatively, the projectors 1 according to the first to fourth embodiments may be configured to calculate or determine the buffering size depending on the number of connection requests, the bit rate, the data type, and the data mount, respectively.
When the projectors 1 according to the first to fourth embodiments are thus configured, RTP packets corresponding to the calculated or determined buffering size are stored in the data buffer 105. When the data size of the RTP packets stored in the data buffer 105 reaches the buffering size, the projectors 1 then reassemble the RTP packets stored in the data buffer 105 in the order of sequence numbers.
The above-described embodiments are illustrative and do not limit the present invention. Thus, numerous additional modifications and variations are possible in light of the above teachings. For example, at least one element of different illustrative and exemplary embodiments herein may be combined with each other or substituted for each other within the scope of this disclosure and appended claims. Further, features of components of the embodiments, such as the number, the position, and the shape are not limited the embodiments and thus may be preferably set. It is therefore to be understood that within the scope of the appended claims, the disclosure of the present invention may be practiced otherwise than as specifically described herein.
The method steps, processes, or operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance or clearly identified through the context. It is also to be understood that additional or alternative steps may be employed.
Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA) and conventional circuit components arranged to perform the recited functions.
1 Projector
2 Client terminal
10 CPU
20 RAM
30 ROM
40 HDD
50 Projection device
60 Operation device
70 Display device
80 Communication I/F
90 Bus
100 Controller
101 Main controller
102 Operation display controller
103 Input/output controller
104 Projection controller
105 Data buffer
106 Connection request counter
107 Calculation formula storage unit
108 Control parameter storage unit
109 Buffering time storage unit
110 Operation unit
120 Display unit
130 Network I/F
140 Projection unit
2 Client terminal
10 CPU
20 RAM
30 ROM
40 HDD
50 Projection device
60 Operation device
70 Display device
80 Communication I/F
90 Bus
100 Controller
101 Main controller
102 Operation display controller
103 Input/output controller
104 Projection controller
105 Data buffer
106 Connection request counter
107 Calculation formula storage unit
108 Control parameter storage unit
109 Buffering time storage unit
110 Operation unit
120 Display unit
130 Network I/F
140 Projection unit
Claims (9)
- A content reproduction device comprising:
a communication unit configured to communicate with an information processing device;
a data acquisition unit configured to sequentially acquire pieces of data from the information processing device via the communication unit;
a buffering controller configured to buffer the acquired pieces of data in a storage unit;
a buffering condition determining unit configured to determine a buffering condition for buffering the acquired pieces of data in the storage unit, depending on a condition of communication with the information processing device;
a reassembling unit configured to reassemble the pieces of data buffered in the storage unit in a predetermined order when the determined buffering condition is satisfied; and
a content reproducing unit configured to reproduce a content based on the reassembled pieces of data. - The content reproduction device according to claim 1, wherein the buffering condition determining unit determines the buffering condition depending on number of retransmission requests or connection requests made to the information processing device.
- The content reproduction device according to claim 1 or 2, wherein the buffering condition determining unit determines the buffering condition depending on an elapsed time from start of a process for connection with the information processing device until the connection is established.
- The content reproduction device according to any one of claims 1 to 3, wherein the buffering condition determining unit determines the buffering condition depending on a bit rate of a communication path to/from the information processing device.
- The content reproduction device according to any one of claims 1 to 4, wherein the buffering condition determining unit determines the buffering condition depending on a data type of the acquired pieces of data.
- The content reproduction device according to any one of claims 1 to 5, wherein the buffering condition determining unit determines the buffering condition depending on an amount of the acquired pieces of data.
- The content reproduction device according to any one of claims 1 to 6, wherein
the buffering condition determining unit determines a buffering time for buffering the acquired pieces of data in the storage unit depending on a condition of communication with the information processing device, and
when a time elapsed from start of the buffering of the acquired pieces of data in the storage unit has reached the determined buffering time, the reassembling unit reassembles the pieces of data buffered in the storage unit in a predetermined order. - The content reproduction device according to any one of claims 1 to 7, wherein
the buffering condition determining unit determines a buffering size for buffering the acquired pieces of data in the storage unit depending on a condition of communication with the information processing device, and
when a data size of the pieces of data buffered in the storage unit has reached the determined buffering size, the reassembling unit reassembles the pieces of data buffered in the storage unit in a predetermined order. - A content reproduction method comprising:
communicating with an information processing device via a communication unit;
determining a buffering condition for buffering pieces of data acquired from the information processing device in a storage unit, depending on a condition of communication with the information processing device;
sequentially acquiring pieces of data from the information processing device via the communication unit;
buffering the acquired pieces of data in the storage unit;
reassembling the pieces of data buffered in the storage unit in a predetermined order when the determined buffering condition is satisfied; and
reproducing a content based on the reassembled pieces of data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16845884.2A EP3351006A4 (en) | 2015-09-15 | 2016-08-22 | Content reproduction device and content reproduction method |
US15/914,187 US10382813B2 (en) | 2015-09-15 | 2018-03-07 | Content reproduction device and content reproduction method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015181591A JP6593053B2 (en) | 2015-09-15 | 2015-09-15 | Content playback apparatus, content playback method, and content playback program |
JP2015-181591 | 2015-09-15 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/914,187 Continuation US10382813B2 (en) | 2015-09-15 | 2018-03-07 | Content reproduction device and content reproduction method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017047006A1 true WO2017047006A1 (en) | 2017-03-23 |
Family
ID=58288448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/003803 WO2017047006A1 (en) | 2015-09-15 | 2016-08-22 | Content reproduction device and content reproduction method |
Country Status (4)
Country | Link |
---|---|
US (1) | US10382813B2 (en) |
EP (1) | EP3351006A4 (en) |
JP (1) | JP6593053B2 (en) |
WO (1) | WO2017047006A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015016716A1 (en) * | 2015-12-22 | 2017-06-22 | Giesecke & Devrient Gmbh | Method for transmitting transmission data from a transmitting device to a receiving device for processing the transmission data and means for carrying out the method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011146998A (en) * | 2010-01-15 | 2011-07-28 | Hitachi Consumer Electronics Co Ltd | Content receiver, and method of processing reception packet data in the same |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3240017B2 (en) * | 1993-01-11 | 2001-12-17 | ソニー株式会社 | MPEG signal recording method and MPEG signal reproducing method |
JP2001189755A (en) * | 1999-12-28 | 2001-07-10 | Toshiba Corp | Packet communication equipment, packet communication method and storage medium |
US7471298B1 (en) * | 2000-06-26 | 2008-12-30 | S3 Graphics Co., Ltd. | Fetching pixel data with reduced memory bandwidth requirement |
US20020003112A1 (en) * | 2000-07-07 | 2002-01-10 | Golden Josh H. | Process and apparatus for removal of heavy metals from wastewater |
JP4532980B2 (en) * | 2004-05-12 | 2010-08-25 | キヤノン株式会社 | Moving picture coding apparatus and method, computer program, and computer-readable storage medium |
JP4699187B2 (en) | 2005-11-29 | 2011-06-08 | シャープ株式会社 | Receiving device, communication system, and control program for receiving device |
US8069260B2 (en) * | 2007-01-12 | 2011-11-29 | Microsoft Corporation | Dynamic buffer settings for media playback |
US8468427B2 (en) * | 2007-10-02 | 2013-06-18 | Lantiq Deutschland Gmbh | Retransmission scheme for communication systems |
FR2922401B1 (en) * | 2007-10-10 | 2010-04-16 | Sagem Comm | DEVICE FOR CONTINUOUSLY RECEIVING AUDIO AND / OR VIDEO DATA PACKETS |
US9420475B2 (en) * | 2013-02-08 | 2016-08-16 | Intel Deutschland Gmbh | Radio communication devices and methods for controlling a radio communication device |
JP2014157243A (en) | 2013-02-15 | 2014-08-28 | Ricoh Co Ltd | Information processing device and image projection system |
-
2015
- 2015-09-15 JP JP2015181591A patent/JP6593053B2/en not_active Expired - Fee Related
-
2016
- 2016-08-22 WO PCT/JP2016/003803 patent/WO2017047006A1/en active Application Filing
- 2016-08-22 EP EP16845884.2A patent/EP3351006A4/en not_active Ceased
-
2018
- 2018-03-07 US US15/914,187 patent/US10382813B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011146998A (en) * | 2010-01-15 | 2011-07-28 | Hitachi Consumer Electronics Co Ltd | Content receiver, and method of processing reception packet data in the same |
Non-Patent Citations (1)
Title |
---|
See also references of EP3351006A4 * |
Also Published As
Publication number | Publication date |
---|---|
JP6593053B2 (en) | 2019-10-23 |
EP3351006A4 (en) | 2018-08-01 |
US20180199096A1 (en) | 2018-07-12 |
US10382813B2 (en) | 2019-08-13 |
JP2017059930A (en) | 2017-03-23 |
EP3351006A1 (en) | 2018-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102154800B1 (en) | Data streaming method of electronic apparatus and electronic apparatus thereof | |
US10192516B2 (en) | Method for wirelessly transmitting content from a source device to a sink device | |
KR102133531B1 (en) | Method for reproducing a content, terminal thereof, and system thereof | |
US10313256B2 (en) | Apparatus and methods for adaptive data compression | |
US20150067521A1 (en) | Method and apparatus for presenting content using electronic devices | |
US10785676B2 (en) | Electronic device and traffic control method thereof | |
US10911514B2 (en) | Synchronized wireless and video operations | |
US10277652B2 (en) | Transmission apparatus, transmission method, and program | |
KR102530551B1 (en) | Advertisement display method, advertisement display device, and advertisement display program | |
KR20190132434A (en) | Method and apparatus for transmitting virtual reality images | |
US20170371614A1 (en) | Method, apparatus, and storage medium | |
KR20140018235A (en) | Mechanism for clock recovery for streaming content being communicated over a packetized communication network | |
JP5335354B2 (en) | Information transmitting apparatus, information transmitting apparatus control method, and computer program | |
WO2017047006A1 (en) | Content reproduction device and content reproduction method | |
US9471093B2 (en) | Controlling data amounts distributed to terminal devices | |
CN107211018A (en) | Adjust the credit rating of media fluidisation | |
US10075325B2 (en) | User terminal device and contents streaming method using the same | |
CN110583019A (en) | Video frame codec architecture | |
US20170048532A1 (en) | Processing encoded bitstreams to improve memory utilization | |
US20150106733A1 (en) | Terminal device, thin client system, display method, and recording medium | |
US20140267322A1 (en) | Display signal buffer | |
WO2018090587A1 (en) | Data display method, apparatus and system | |
US20090129744A1 (en) | Video processing apparatus, method, and storage medium | |
JP5231533B2 (en) | Packet structure for mobile display digital interface | |
JP2008233310A (en) | Presentation system and presentation method using projector having network function |
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: 16845884 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016845884 Country of ref document: EP |