This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2005-024453, filed on Jan. 31, 2005; the entire contents of which are incorporated herein by reference.
1. Field
One embodiment of the invention relates to a data transmitter for transmitting stream data of moving image data, etc., a program for controlling the data transmitter, and a data transmission system for transmitting stream data of moving image data, etc.
2. Description of the Related Art
At present, data transfer of image data, audio data, etc., through various communication media such as the Internet and a LAN (Local Area Network) is briskly executed. Particularly, a stream-type transmission system is becoming pervasive with improvement of the recent network transmission speed. The stream-type transmission system is a system of reproducing reception data in parallel with transferring data from a transmitter to a reception terminal. At this time, for example, the transmitter once stores an MPEG stream created by performing MPEG compression processing of image data in a buffer and then transmits the MPEG stream as an IP (Internet Protocol) packet, and the reception terminal buffers the MPEG streams received as IP packets until the MPEG streams (IP packets) become data required for decoding, and decodes the data in sequence. As such processing is performed, the delay from reception of data to reproduce of the data in the reception terminal is lessened and reproduce almost in real time is made possible. (For example, refer to JP-A-2003-169040.)
A general architecture that implements the various features of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.
Various embodiments according to the invention will be described hereinafter with reference to the accompanying drawings.
A data transmitter and a program according to an embodiment of the invention will be described with reference to the accompanying drawings.
The wireless TV tuner 20 has a control section 21, a content information management section 22 (data composition unit determination section), a tuner 23 for receiving terrestrial analog broadcasts, BS digital broadcasts, and terrestrial digital broadcasts, an encoder 24 (data supply section) for encoding the received analog video data, a stream buffer 25 for temporarily storing the data supplied from the encoder 24, and a communication section 26 for transmitting data to the PC 10. The content information management section 22, the tuner 23, the encoder 24, the stream buffer 25, and the communication section 26 are connected to the control section 21.
The control section 21 is made up of a CPU (Central Processing Unit) and memory for controlling the whole operation of the wireless TV tuner 20.
The content information management section 22 has content information 22a and media information 22b and manages information concerning data transmitted from the communication section 26 to the PC 10.
The content name is the name of content data presented to the user. In the example in
The URL is a URL used in accessing the content data from the PC 10. For example, analog 1ch is assigned URL “http://192.168.1.1/A1ch.mpg” and BS digital 1ch is assigned URL “http://192.168.1.1/BSD1ch.mpg.”
The MIME TYPE serves as an identifier to inform the PC 10 of the media type. For example, when MIME TYPE is “video/mpeg” as in analog 1ch in
The media format defines the media format in the case of transmitting of the content data. In the example in
Referring again to
The encoder 24 encodes a TV broadcast signal received in the tuner 23 to a predetermined media format. The encoder 24 encodes a terrestrial analog broadcast to MPEG2-PS and a BS digital broadcast and a terrestrial digital broadcast to DTCP-IP as described above according to the media format defined in the media information 22b that the content information management section 22 has.
The stream buffer 25 is a buffer for temporarily storing the content data provided by the encoder 24. The stream buffer 25 changes the management method depending on the media format of the content data according to the media information 22b that the content information management section 22 has. Specifically, when the media format is MPEG2-PS, the data is managed in pack units; when the media format is DTCP-IP, the data is managed in PCP units, as described later in detail.
The communication section 26 is a communication interface of the wireless TV tuner 20. The communication section 26 transmits the content data read from the stream buffer 25 to the PC 10 through the LAN 1 as an IP packet. At this time, the communication section 26 notifies the control section 21 of the data amount of the data transmitted to the PC 10.
The PC 10 is made up of a communication section 11, a buffer 12, a decoder 13, and the above-mentioned display section 14. The PC 10 also has a control section for controlling the whole operation, an operation section for the user to select content, and the like although not shown in
The communication section 11 is a communication interface for receiving content data from the wireless TV tuner 20. The communication section 11 receives the content data as an IP packet and passes it to the buffer 12.
The buffer 12 temporarily stores the content data received through the communication section 11 until the content data becomes the data amount required for decoding. When the content data stored in the buffer 12 reaches the data amount required for decoding, the decoder 13 decodes the data in sequence. For example, when the media format of the content data is MPEG2-PS, the decoder 13 generally decodes the data in pack units; when the media format is DTCP-IP, the decoder 13 decodes the data in PCP units. Thus, when the data stored in the buffer 12 reaches the composition unit, the decoder 13 decodes the data in sequence. The display section 14 displays video provided as the decoder 13 decodes the content data.
Next, a flow of a program executed by the control section 21 when content data is transmitted from the wireless TV tuner 20 to the PC 10 will be described by taking transmission of analog 1ch as an example.
To begin with, the wireless TV tuner 20 receives a data request from the PC 10 at the communication section 26 (step 41). At this time, each content is specified by the URL from the PC 10. The control section 21 can determine each content by referencing the URL accessed by the PC 10 and the content information 22a that the content information management section 22 has. More specifically, in the example in
Next, the control section 21 acquires MIME TYPE, media format, and composition unit information required for transmitting the content data (step 42). When analog 1ch is applied, the control section 21 can know that MIME TYPE for transmitting the content data using HTTP (Hypertext Transfer Protocol) is “video/mpeg” and that the media format to encode to is MPEG2-PS by referencing the content information 22a. Further, the control section 21 can know that the composition unit of MPEG2-PS is pack by referencing the media information 22b.
The program generates an HTTP header containing MIME TYPE (here, “video/mpeg”) based on the acquired information and transmits the HTTP header to the data receiver from the communication section 26 (step 43). As the PC 10 receives the HTTP header, it can know that the media format of the content data to be received is MPEG, and can perform processing accordingly.
Further, the control section 21 specifies the media format to encode to for the encoder 24 (step 44). When analog 1ch is applied, the encoder 24 encodes the terrestrial analog broadcast received from the TV tuner 23 to MPEG2-PS.
The control section 21 also notifies the stream buffer 25 of the data composition unit (step 45). When the media format is MPEG2-PS, the data composition unit is pack.
As shown in
After such processing is performed, transmitting the content data of analog 1ch to the PC 10 is started (step 46).
Next, write control into the stream buffer 25 while the content data of analog 1ch is being transmitted will be discussed.
When transmitting the content data of analog 1ch to the PC 10 is started (step 46), the encoder 24 encodes the analog signal of analog 1ch received from the tuner 23 to the MPEG-PS format in sequence. The control section 21 writes the data provided by the encoder 24 into the untransmitted data storage area 25a in sequence (step 71). At this time, the control section 21 determines whether or not a buffer overflow occurs, namely, whether or not the data can be written into the untransmitted data storage area 25a (step 72). When a buffer overflow occurs (YES at step 72), the control section 21 discards one pack (namely, 2048 bytes) of the data supplied from the encoder 24 (step 73). After the control section 21 discards the data or when a buffer overflow does not occur (NO at step 72), the control section 21 further writes new data (step 71).
Subsequently, a processing flow for the communication section 26 for transmitting the data of analog 1ch from the communication section 26 to the PC 10 will be discussed.
To begin with, the control section 21 reads the next data to be transmitted in pack units from the untransmitted data storage area 25a and also creates a copy of the data in the data-being-transmitted storage area 25b (step 81). At this time, the area in the untransmitted data storage area 25a storing the read data in the pack unit becomes available and new data from the encoder 24 can be written thereinto.
Next, the control section 21 converts the read data into IP packets and causes the communication section 26 to transmit the IP packets through the LAN 1 to the PC 10 in sequence (step 82). After the data is transmitted, the control section 21 is notified of the transmitted data amount from the communication section 26 (step 83). The control section 21 determines whether or not the data amount matches the read data amount at step 81, namely, whether or not the transmitted data amount is 2048 bytes (step 84). When the data amount matches the read data amount (YES at step 84), the control section 21 goes to step 81 for performing transmission processing of he next pack.
When the read data amount at step 81 does not match the data amount reported from the communication section 26 (NO at step 84), the control section 21 determines that the communications between the wireless TV tuner 20 and the PC 10 are discontinued, and goes to step 85 for performing processing after discontinuation.
Processing of the program executed in the control section 21 after discontinuation of communications with the PC 10 will be discussed with reference to
When the communications are discontinued (step 85), the control section 21 determines whether or not communications between the PC 10 and the communication section 26 are resumed (step 91). When communications are not resumed (NO at step 91), the control section 21 waits for resumption of communications. When communications are resumed (YES at step 91), the control section 21 transmits untransmitted data of the data stored in the data-being-transmitted storage area 25b from the communication section 26 to the PC 10 (step 92).
Subsequently, the case where the content data sent from the wireless TV tuner 20 to the PC 10 is BS digital 1ch will be discussed. When the content data is BS digital 1ch, data is transferred according to DTCP-IP. DTCP-IP is a digital rights management technique on the network having features for machine authentication and key exchange processing, CCI (Copy Control Information) setting processing, content encryption processing, exclusion of unauthorized machines, etc., and is a standard aiming at a home AV network, etc. In DTCP-IP, content data is encrypted using a cipher key for transmission. In the description to follow, it is assumed that the wireless TV tuner 20 and the PC 10 previously have cipher key.
To transmit BS digital 1ch, the processing flow involved in connection in
Thus, the control section 21 specifies the media format DTCP-IP for the encoder 24 at step 44, the encoder 24 encodes the data of BS digital 1ch received from the tuner 23 (broadcast in MPEG2-TS format) to the PCP format.
As the control section 21 specifies the data composition unit PCP at step 45, the stream buffer 25 changes the configuration accordingly.
When data is written from the encoder 24, data is written into the untransmitted data storage area 25a, the PCP data size and pointer are written into the PCP table 25c. Accordingly, the location of each PCP 110 area in the untransmitted data storage area 25a can be recognized. Since the PCP 110 is not of fixed length as described above, unless such a table is provided, the location of each PCP 110 cannot be recognized.
The processing flows after data transmission and involved in data transmission resumption after discontinuation of communications shown in
As described above, according to the embodiment, when communications are discontinued during the operation, the untransmitted data is stored in the data-being-transmitted storage area 25b and after communications are resumed, the data is transmitted to the PC 10, so that the correct data composition unit (pack or PCP 110) is stored in the buffer 12 in the PC 10. Accordingly, when the decoder 13 of the PC 10 decodes the data, occurrence of an anomaly can be suppressed. Particularly, when the data composition unit is PCP 110, the top position cannot be recognized in PC 10 and thus once the composition unit is lost, there is a possibility that the PC may be unable to decode all later signals. In the embodiment, however, the risk or fear can be removed.
In the embodiment, when a buffer overflow occurs in the stream buffer 25, the data to be discarded is discarded in the pack or PCP units, so that the embodiment also contributes to maintaining the data structure of the transmitted content data.
It is to be understood that the invention is not limited to the specific embodiment described above and that the invention can be embodied with the components modified without departing from the spirit and scope of the invention. The invention can be embodied in various forms according to appropriate combinations of the components disclosed in the embodiment described above. For example, some components may be deleted from all components shown in the embodiment. Further, the components in different embodiments may be used appropriately in combination.
In addition, a program for attaining the functions in the embodiments may be recorded in a computer-readable recording medium. In this case, the program recorded in the recording medium is read and executed by a computer system. Incidentally, the “computer system” mentioned here includes an operation system or hardware such as peripheral equipment.
In addition, the “computer system” includes a homepage providing environment (or display environment) when it uses a WWW system.
On the other hand, the “computer-readable recording medium” means a portable medium such as a flexible disk, a magneto-optical disk, a ROM or a CD-ROM, or a storage unit such as a hard disk included in the computer system. Further the “computer-readable recording medium” includes a medium for holding the program for a predetermined time, such as a volatile memory (RAM) in a computer system as a server or a client when the program is transmitted through a network such as the Internet or a communication circuit such as a telephone circuit.
In addition, the program may be transmitted from a computer system storing the program in a storage unit or the like to another computer system through a transmission medium or by a transmitted wave in the transmission medium. Here, the “transmission medium” for transmitting the program means a medium having a function of transmitting information, including a network (communication circuit) such as the Internet or a communication circuit (communication line) such as a phone line.
In addition, the program may be prepared for attaining a part of the aforementioned functions. Further, the program may be a so-called difference file (difference program) which can attain the aforementioned functions in combination with a program which has been already recorded in the computer system.
Further, these modifications may be used selectively and suitably in combination.
The invention is not limited to the foregoing embodiments but various changes and modifications of its components may be made without departing from the scope of the present invention. Also, the components disclosed in the embodiments may be assembled in any combination for embodying the invention. For example, some of the components may be omitted from all the components disclosed in the embodiments. Further, components in different embodiments may be appropriately combined.
Number | Date | Country | Kind |
---|---|---|---|
P2005-024453 | Jan 2005 | JP | national |