The above and other aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, in which:
Hereinafter, the present invention will be described in detail by explaining exemplary embodiments of the invention with reference to the attached drawings.
Referring to
The packetized frame is an accessible basic unit of a stream transmitted through a sub-transport frame according to an exemplary embodiment of the present invention. The packetized frame may be one of various types of data, such as an Internet Protocol (IP) packet or a single frame of audio or video.
A transport frame according to an exemplary embodiment of the present invention provides compatibility with the MPEG-2 packet length using an MPEG-2 Transport Stream (TS) synchronization symbol, i.e., a sync byte. Thus, a TS stream can be protected from errors by using an outer coding scheme of TS 102427.
Referring to
The length of a last segment of a packetized frame is abbreviated to “LLS (Length of Last Segment)”. According to the current exemplary embodiment, in the case of 141 bytes<LLS<188 bytes, a sub-transport frame is generated so as to have the length of 188 bytes. In the case of 94 bytes<LLS<141 bytes, a sub-transport frame is generated so as to have the length of 141 bytes. In the case of 47 bytes<LLS<94 bytes, a sub-transport frame is generated so as to have the length of 94 bytes. In the case of LLS<47 bytes, a sub-transport frame is generated so as to have the length of 47 bytes.
A sub-transport frame according to the current exemplary embodiment may have one of the four different frame modes as described above and may have one of two different types of operation modes distinguished according to whether the sub-transport frame includes stuffing data, i.e., a stuffing mode in which stuffing data is included and a non-stuffing mode in which no stuffing data is included.
In the stuffing mode, a sub-transport frame includes a segment of only one packetized frame, and if a remaining space exists, stuffing data fills up the remaining space. In the non-stuffing mode, a sub-transport frame includes segment(s) of at least one packetized frame. Thus, in the non-stuffing mode, if the last segment of one packetized frame is included in a sub-transport frame, not stuffing data but the first segment of a new packetized frame may be included in the remaining space of the sub-transport frame.
When a transport frame used to transmit the packetized frame is generated, the operation mode of a sub-transport frame is selected to optimize transmission of a packetized frame by minimizing stuffing overhead due to the amount of stuffing data and a header. The operation mode is predicted and selected for every sub-transport frame. For example, the operation mode of a sub-transport frame may be selected according to a characteristic of media contained in a packetized frame or a characteristic of a multiplexing system in which a packetized frame is transmitted.
A case where the operation mode is selected according to a characteristic of media will now be described. For temporally predictable time-constant media such as audio or video, it is pertinent to generate sub-transport frames in the non-stuffing mode. A sub-transport frame in the non-stuffing mode may include the last segment of a current packetized frame (nth frame) and the first segment of a subsequent packetized frame ((n+1)th frame). Thus, the sub-transport frame can be generated when the subsequent packetized frame is received.
However, for temporally non-predictable time-variable media such as images or text, if sub-transport frames in the non-stuffing mode are transmitted, input timing of a subsequent packetized frame ((n+1)th frame) cannot be predicted, and thus a sub-transport frame of a current packetized frame (nth frame) may not be transmitted due to non-completeness thereof Thus, for time-variable media, it is efficient to generate and transmit sub-transport frames in the stuffing mode.
A case where the operation mode is selected according to a characteristic of a multiplexing system will now be described. For example, when an MPEG-2 TS is compared to a Real-time Transport Protocol (RTP), the MPEG-2 TS is transmitted with accurate time information, but the RTP has a delay due to an Internet network. Thus, the RTP has lower accuracy than the MPEG-2 TS. In the case of the MPEG-2 TS for which transmission must be performed by multiplexing data based on accurate time information, if the non-stuffing mode is used, the first segment of a packetized frame included in a sub-transport frame in the non-stuffing mode may not be delayed. Thus, in this case, it is efficient to use a sub-transport frame in the stuffing mode. In addition, the stuffing mode may have to be used for time-constant media, such as audio or video, according to a multiplexing characteristic.
In addition, the operation mode of a sub-transport frame may be set to the non-stuffing mode in a general case and changed to the stuffing mode in a particular case.
For example, if a sub-transport frame in the non-stuffing mode includes two packetized frames and is transmitted in an erroneous environment, even if an error occurs in the sub-transport frame, both of the two packetized frames are erroneous. Thus, in this case, the operation mode of a sub-transport frame is changed to the stuffing mode. In another example, when a sub-transport frame in the non-stuffing mode is transmitted, if it is determined that it is more appropriate to generate the sub-transport frame in the stuffing mode as a result obtained by predicting the length of the sub-transport frame and generating a header thereof, the operation mode may be changed to the stuffing mode.
Referring to
Referring to
Referring to
A frame length mode flag LEN is a 2-bit flag indicating the length of the sub-transport frame. Table 1 shows 4 values of the frame length mode flag LEN and the corresponding frame lengths.
A packetized frame start indicator flag S is a 1-bit flag having important meaning for a sub-transport frame delivering a packetized frame PF. A value ‘1’ of the packetized frame start indicator flag S indicates that a payload of the sub-transport frame includes the first byte of a packetized frame PF, and a value ‘0’ indicates that there are no first bytes of a packetized frame PF included in the sub-transport frame.
A frame delimiter field FR_DELIM is a 5-bit field indicating an identifier (ID) of data stored in the payload of the sub-transport frame, e.g., a packet ID (PID).
An extension field mode flag M is a 1-bit flag indicating an operation mode of the sub-transport frame. A value ‘1’ of the extension field mode flag M indicates the non-stuffing mode, and a value ‘0’ indicates the stuffing mode.
An extension flag X is a 1-bit flag indicating the existence of an extension field. A value ‘1’ of the extension flag X indicates that the extension field exists, and a value ‘0’ indicates that no extension field exists. The extension field includes an extension field length field EXT_LEN, a clock reference flag C, a reserved field R, a clock reference field CR, and stuffing data STUFF.
A reserved field R is a 2-bit field reserved for future use.
A continuity counter field CC is a 4-bit field having a value increasing for each sub-transport frame having the same frame delimiter field FR_DELIM. A value of the continuity counter field CC returns to 0 after the maximum value.
A packetized frame length field PF_LEN is a 16-bit field indicating the length of the packetized frame PF. The packetized frame length field PF_LEN exists only if the packetized frame start indicator flag S is set to ‘1’.
The extension field length field EXT_LEN is a 6-bit field indicating the length of the extension field.
The clock reference flag C is a 1-bit flag indicating the existence of the clock reference field CR. A value ‘1’ of the clock reference flag C indicates that the clock reference field CR exists, and a value ‘0’ indicates that the clock reference field CR does not exist.
The reserved field R in the extension field is a 1-bit field reserved for future use.
The clock reference field CR is a 32-bit field indicating a clock reference.
The stuffing data STUFF is filled with an 8-bit value such as ‘11111111’, which can be inserted by an encoder and removed by a decoder.
A pointer field POINT is an 8-bit field indicating the number of bytes following the pointer field POINT up to the first byte of a subsequent packetized frame. Thus, a value ‘0x00’ of the pointer field POINT indicates that a packetized frame starts immediately after the pointer field POINT. If at least one packetized frame starts in a given transport frame, the packetized frame start indicator flag S is set to 1, and the first byte of a payload of the transport frame includes the pointer field POINT.
A sub-transport frame in the stuffing mode uses the extension field, and if the last segment of a packetized frame is included in the sub-transport frame, the sub-transport frame is completely constituted. In the stuffing mode, the pointer field POINT is not used.
If the last segment of a packetized frame is included in a sub-transport frame in the non-stuffing mode, the sub-transport frame represents the start point of a subsequent packetized frame using the pointer field POINT. In the non-stuffing mode, the extension field is not used.
Referring to
Each sub-transport frame is generated based on the operation mode in operation S620. Each sub-transport frame may have a length of 47 bytes, 94 bytes, 141 bytes, or 188 bytes, depending on the length of the packetized frame.
Each sub-transport frame is generated by predicting the length of the packetized frame, selecting the length of a sub-transport frame based on the predicted length of the packetized frame, and forming a header according to the selected operation mode.
If the operation mode that is selected is the non-stuffing mode, stuffing data is not included in a sub-transport frame in the non-stuffing mode. If the last segment of the packetized frame is included in a sub-transport frame in the non-stuffing mode, the first segment of a new packetized frame is added to the sub-transport frame. In this case, a pointer field POINT is set in the sub-transport frame in order to indicate that the new packetized frame follows the pointer field POINT.
A transport frame is generated using the sub-transport frame(s) in operation S630. A transport frame having the same length, i.e., 188 bytes, as an MPEG-2 TS packet is generated by adding a sync byte thereto.
Referring to
The packetized frame buffer 710 receives and stores packetized frames generated by packetizing data such as audio, video, or IP packets.
The operation mode selector 720 selects an operation mode of a sub-transport frame suitable for transmitting each of the packetized frames. The operation mode is predicted and selected for each sub-transport frame. The operation mode is distinguished according to whether stuffing data is included in each sub-transport frame. The operation mode is selected to efficiently transmit each packetized frame by minimizing stuffing overhead. The operation mode can be selected according to a characteristic of media included in the packetized frame or a characteristic of a multiplexing system for multiplexing the packetized frame.
The sub-transport frame generator 730 generates a sub-transport frame based on the selected operation mode. The sub-transport frame generator 730 includes a length predictor 731 and a header generator 733.
The length predictor 731 predicts the length of the sub-transport frame to be generated, according to the length of a packetized frame. That is, the length of the sub-transport frame is selected from among lengths of 47 bytes, 94 bytes, 141 bytes, and 188 bytes, depending on the length of a packetized frame.
The header generator 733 forms a header based on the predicted length and the operation mode. The header of the sub-transport frame can be constituted as illustrated in
If the operation mode that is selected is the non-stuffing mode, the sub-transport frame generator 730 generates a sub-transport frame by adding the first segment of a new packetized frame immediately after the last segment of a current packetized frame without stuffing data. In the non-stuffing mode, the header generator 733 represents that the new packetized frame begins immediately after a pointer field POINT by setting the pointer field POINT in the sub-transport frame.
The sub-transport frame generator 730 determines whether the generated sub-transport frame is optimized to transmit the packetized frame(s). When the sub-transport frame generator 730 determines that it is appropriate to generate a sub-transport frame in another operation mode instead of the selected operation mode, the sub-transport frame generator 730 outputs a control signal to the operation mode selector 720 to select another operation mode. For example, based on information on that a transport frame must be transmitted in an erroneous environment, even if generation of a sub-transport frame in the non-stuffing mode is in progress, the sub-transport frame generator 730 can control the operation mode selector 720 to select the stuffing mode so that a transport frame in the stuffing mode is generated.
The transport frame generator 740 receives sub-transport frames and generates a transport frame using the received sub-transport frames. The transport frame generator 740 inserts a synchronization symbol into each transport frame after checking synchronization in every length of the transport frame the same as the length of an MPEG-2 TS packet, i.e., 188 bytes.
A transport stream formed with the transport frames that have been processed with respect to synchronization symbols is buffered and transmitted. The generated transport stream is multiplexed according to a transmission path, such as a broadcasting network, a satellite network, or an Internet network, and transmitted to a receiver end.
Referring to
An operation mode of each sub-transport frame included in a transport frame is detected in operation S820. According to an exemplary embodiment of the present invention, the operation mode can be detected using an extension mode field M of each sub-transport frame.
A packetized frame is generated by processing each sub-transport frame according to the detected operation mode in operation S830. Information on a configuration of each sub-transport frame can be determined by analyzing a header of each sub-transport frame, and a packetized frame can be generated by processing each sub-transport frame based on the information. When the packetized frame is generated by processing each sub-transport frame in operation S830, the length of each sub-transport frame is detected as 47 bytes, 94 bytes, 141 bytes, or 188 bytes.
If the detected operation mode is the non-stuffing mode, a pointer field POINT is detected in a sub-transport frame, and in this case, a new packetized frame coming subsequent to the pointer field POINT is processed.
In addition, the method according to the current exemplary embodiment may further include determining by checking a continuity counter field CC of a sub-transport frame whether an error has occurred in the sub-transport frame. If it is determined that an error has occurred in the sub-transport frame, a buffer storing packetized frames having the same frame delimiter field FR_DELIM as that of the sub-transport frame can be initialized.
Referring to
The transport frame receiver 910 stores a received transport stream and generates transport frames from the transport stream. Each of the transport frames can be generated by detecting a synchronization symbol in the transport stream.
The operation mode detector 920 determines a processing method of each sub-transport frame included in a transport frame by detecting an operation mode of the sub-transport frame.
The sub-transport frame processing unit 930 processes a sub-transport frame according to the detected operation mode of the sub-transport frame. The sub-transport frame processing unit 930 includes a header processing unit 933 to perform this process.
The header processing unit 933 processes a sub-transport frame header. As a result of the processing by the header processing unit 933, the length of each sub-transport frame and information on a configuration of the sub-transport frame can be ascertained. The length of each sub-transport frame is detected as 47 bytes, 94 bytes, 141 bytes, or 188 bytes.
If a pointer field POINT is detected by the header processing unit 933, the sub-transport frame processing unit 930 processes a new packetized frame coming subsequent to the pointer field POINT. The sub-transport frame processing unit 930 determines whether one of a plurality of sub-transport frames having the same value in their frame delimiter fields FR_DELIM has been damaged.
The packetized frame buffer 940 stores a packetized frame, such as an audio frame, a video frame, or an IP packet, generated from each sub-transport frame. The packetized frame buffer 940 can be configured to have a buffer space to store a packetized frame every time a frame delimiter field FR_DELIM is detected. If information indicating that a sub-transport frame has been damaged is received from the sub-transport frame processing unit 930, the packetized frame buffer 940 can initialize a buffer space in which a packetized frame having the same frame delimiter field FR_DELIM as that of the damaged sub-transport frame was stored.
In
While an IP packet is transmitted at 410.00 Kbps, the IP packet is transmitted at 441.69 Kbps in the packet mode of a DAB system, and thus stuffing overhead of 7.73% is generated compared to the original size of the IP packet. If the IP packet is transmitted using an MPEG-2 TS packet having the fixed length of 188 bytes, stuffing overhead of 12.18% is generated. If the IP packet is transmitted in a variable length mode of the stuffing mode, stuffing overhead of 4.54% is generated.
The invention can also be embodied as computer readable codes on a computer readable recording medium. Also, functional programs, codes, and code segments for accomplishing the exemplary embodiments of the present invention can be easily construed by programmers skilled in the art to which the present invention pertains. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
As described above, according to the exemplary embodiments of the present invention, by generating a transport frame using sub-transport frame(s) having a variable length, overhead bits due to stuffing data and header data can be reduced. In addition, a packetized frame can be efficiently transmitted using sub-transport frames having an operation mode which is a stuffing mode or a non-stuffing mode.
In addition, since the total length of a transport frame is fixed to 188 bytes, an error correction method which can be applied to an MPEG-2 TS packet can be applied.
Thus, a transport frame used to more efficiently transmit various types of data than an MPEG-2 TS packet can be provided.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2006-0103141 | Oct 2006 | KR | national |
This application claims priority from Korean Patent Application No. 10-2006-0103141, filed on Oct. 23, 2006, in the Korean Intellectual Property Office, and U.S. Provisional Patent Application No. 60/790,554, filed on Apr. 10, 2006, in the U.S. Patent and Trademark Office, the disclosures of which are incorporated herein in their entirety by reference.
Number | Date | Country | |
---|---|---|---|
60790554 | Apr 2006 | US |