WO2004012402A1 - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents

情報処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
WO2004012402A1
WO2004012402A1 PCT/JP2003/008692 JP0308692W WO2004012402A1 WO 2004012402 A1 WO2004012402 A1 WO 2004012402A1 JP 0308692 W JP0308692 W JP 0308692W WO 2004012402 A1 WO2004012402 A1 WO 2004012402A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
difference
stream data
interval
extraction
Prior art date
Application number
PCT/JP2003/008692
Other languages
English (en)
French (fr)
Inventor
Satoshi Miyazawa
Shinji Minamihama
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP03741289A priority Critical patent/EP1528724A4/en
Priority to US10/523,173 priority patent/US7558868B2/en
Publication of WO2004012402A1 publication Critical patent/WO2004012402A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Definitions

  • the present invention relates to an information processing apparatus and method, a recording medium, and a program, and particularly relates to a method for receiving stream data via a network, which is generated by receiving stream data from a time stamp attached to the stream data.
  • the present invention relates to an information processing apparatus and method, a recording medium, and a program capable of adjusting and correcting an error. Background art
  • IP Internet Protocol
  • the transmission / reception processing of stream data via a network is applied to, for example, live (simultaneous live broadcast) broadcast, transfer of recorded distance learning images, and television broadcast to a personal computer via an IP network.
  • Such stream data transmission / reception processing is generally executed via the Internet.
  • data communication via the Internet for example, TCP P
  • Pull J mode Use a communication method called “pull J mode", which is designed to be optimal for data transfer.
  • the transmitting device and the receiving device communicate with each other, and when the receiving device buffers the data transmitted from the transmitting device and overflows, the transmitting device sends the data.
  • communication is performed so that the state required for buffering can be maintained, such as reducing the speed and increasing the communication speed when the receiving device is about to underflow.
  • the Internet between point-to-point connected terminals must be In the communication process via the network, even if a delay may occur during the transfer of the stream data, no trouble occurs in the reproduction of the stream data between the receiving device and the transmitting device.
  • the push mode indicates a mode in which the transmitting device unilaterally transmits data to the receiving device.
  • the transmitting device and the receiving device each have a clock required for their own operation, but generally, the receiving device (such as a client computer) does not guarantee clock accuracy.
  • the receiving device such as a client computer
  • cell jitter is generated by the cell switch in order to avoid cell collision.
  • This cell jitter is less than 1.5 ms in Japan and 2 to 3 ms or less internationally.
  • line jitter is reduced by devising a PLL (Phase Locked Loop) that is usually adopted by MPEG decoders. It is possible to absorb c
  • PLL Phase Locked Loop
  • LAN Local Area Network
  • the present invention has been made in view of such a situation, and a device that transmits stream data via a network corrects a clock used when encoding the stream data by a device on the receiving side. , So that it can be reproduced more accurately.
  • a first information processing apparatus is configured to extract a reproduction time from stream data.
  • 1 extraction means for extracting the reception time of the stream data
  • calculation means for calculating the difference between the reception time and the reproduction time
  • adjustment means for adjusting the reproduction time based on the difference It is characterized by the following.
  • the second information processing apparatus of the present invention comprises: a first extraction unit for extracting an interval of a reproduction time between buckets of stream data; and a second extraction unit for extracting an interval of a reception time between packets of the stream data. And a calculating means for calculating a difference between the playback time interval and the reception time interval, and an adjusting means for adjusting the playback time based on the difference.
  • the reproduction time may be a time stamp.
  • Second integration means for integrating the reception time intervals to obtain a second time may be further provided, and the arithmetic means is configured to calculate the difference between the first time and the second time. You can do so.
  • a smoothing means for smoothing a difference between the first time and the second time may be further provided.
  • the adjusting means adds the time of one clock to the reproduction time for each number of buckets in which the difference between the first time and the second time smoothed by the smoothing means is shifted by one clock, Alternatively, the reproduction time information can be adjusted by subtraction.
  • a first information processing method includes a first extraction step of extracting a reproduction time from stream data, a second extraction step of extracting a reception time of stream data, and a difference between the reception time and the reproduction time. And an adjustment step of adjusting the reproduction time based on the difference.
  • a first extraction step of extracting a reproduction time interval between buckets of stream data A second extraction step of extracting a reception time interval of the received time, a calculation step of calculating a difference between the reception time interval and the reproduction time, and an adjustment step of adjusting the reproduction time based on the difference.
  • the playback time may be a time stamp.
  • the method may further include a smoothing step for smoothing a difference between the first time and the second time.
  • the adjusting step includes, for each bucket number in which the difference between the first time and the second time smoothed in the smoothing step is shifted by one clock, the time for one clock at the playback time.
  • the playback time information can be adjusted by adding or subtracting.
  • the first recording medium of the present invention comprises: a first extraction control step for controlling extraction of a reproduction time from stream data; a second extraction control step for controlling extraction of a stream data reception time; A program for executing a calculation control step for controlling the calculation of the difference between the reproduction times and an adjustment control step for controlling the adjustment of the reproduction time based on the difference is recorded and readable by a computer. I do.
  • a second recording medium comprises: a first extraction control step for controlling extraction of a reproduction time interval between packets of stream data; and controlling extraction of a reception time interval between packets of stream data.
  • a second extraction control step a calculation control step of controlling the calculation of the difference between the reception time interval and the playback time, and an adjustment control step of controlling the adjustment of the playback time based on the difference. Is recorded and readable by a computer.
  • the reproduction time may be a time stamp.
  • a second integration control step of controlling the integration of the reception time intervals between packets and obtaining a second time can be further included.
  • the arithmetic control step includes the first time and the second time. The calculation of the difference from the time of 2 can be controlled.
  • the method may further include a smoothing control step of controlling smoothing of a difference between the first time and the second time.
  • the adjustment control step includes, for each bucket number at which the difference between the first time and the second time in which the smoothing is controlled by the smoothing control step is shifted by one clock, one clock at the time of reproduction.
  • the adjustment of the reproduction time information can be controlled by adding or subtracting the time.
  • a first program according to the present invention includes: a first extraction control step for controlling extraction of a reproduction time from stream data; a second extraction control step for controlling extraction of a reception time of stream data;
  • the present invention is characterized by causing a computer to execute an arithmetic control step for controlling the calculation of the time difference and an adjustment control step for controlling the adjustment of the reproduction time based on the difference.
  • a second program of the present invention includes a first extraction control step for controlling extraction of a reproduction time interval between packets of stream data, and a second extraction control step for controlling extraction of a reception time interval between packets of stream data.
  • the computer is made to execute an extraction control step, an arithmetic control step for controlling the calculation of the difference between the reception time interpal and the reproduction time, and an adjustment control step for controlling the adjustment of the reproduction time based on the difference.
  • the reproduction time may be a time stamp.
  • the reproduction time between a predetermined number of consecutive buckets is input.
  • a second integration control step to be obtained can be further included, and the calculation control step can control calculation of a difference between the first time and the second time.
  • the method may further include a smoothing control step of controlling smoothing of a difference between the first time and the second time.
  • the adjustment control step includes, for each clock number at which the difference between the first time and the second time in which the smoothing is controlled by the smoothing control step is shifted by one clock, one clock at the playback time.
  • the adjustment of the reproduction time information can be controlled by adding or subtracting the time.
  • a reproduction time is extracted from stream data, a reception time of stream data is extracted, a difference between the reception time and the reproduction time is calculated, and the difference is calculated.
  • the reproduction time is adjusted based on the reproduction time.
  • an interval of a reproduction time between packets of stream data is extracted, an interval of a reception time between packets of stream data is extracted, The difference between the playback time interval and the reception time interval is calculated, and the playback time is adjusted based on the difference.
  • FIG. 1 is a block diagram of an image display device to which the present invention is applied.
  • FIG. 2 is a diagram illustrating a Tx interval and an Rx interval of a TS packet.
  • FIG. 3 is a diagram illustrating the Tx interpal and Rx interval of a TS packet.
  • FIG. 4 is a diagram for explaining the Tx interval and the Rx interval of a TS packet. You.
  • FIG. 5 is a flowchart illustrating a TS display process.
  • FIG. 6 is a flowchart illustrating a TS display process.
  • FIG. 7 is a diagram illustrating a process of adjusting the Tx interval of the TS bucket.
  • FIG. 8 is a diagram for explaining the process of adjusting the interpal of the TS bucket.
  • FIG. 9 is a diagram for explaining the process of adjusting the interval of the TS bucket.
  • FIG. 10 is a diagram for explaining the process of adjusting the interval of the TS bucket.
  • FIG. 11 is a diagram for explaining the process of adjusting the interval of the TS bucket.
  • FIG. 12 is a diagram illustrating a medium. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a diagram showing a configuration of an embodiment of an image display device 2 according to the present invention.
  • the image display device according to the present invention includes a transport stream (hereinafter, also referred to as TS) compressed and distributed by stream data distributed over a network, such as MPEG (Moving Picture Experts Group) 2 or the like. Is received in real time and displayed on the display unit 29.
  • TS transport stream
  • MPEG Motion Picture Experts Group
  • the I / F (interface) 11 receives a TS transmitted from a server that distributes contents and the like via the network 1 and outputs the TS to a direct memory access controller (DMA) 12.
  • the DMA 12 stores the TS input from the I / F 11 in the RAM I 4 or controls the TS stored in the RAM 14 in the time stamp extraction unit 1 while appropriately controlling the switch 13. 5. Output to enable signal extractor 20 and buffer 27.
  • the time stamp extraction unit 15 extracts the time stamp Tx included in the TS in units of TS packets, and outputs the extracted time stamp Tx to the Tx interval calculation unit 16 and the adjustment unit 25.
  • the time stamp Tx used here is the MPEG PCR (Program Clock
  • This PCR is equivalent to a time stamp in the RTP (Real Time Protocol), so in this explanation And will be referred to collectively as
  • the Tx interval calculation unit 16 calculates the interval of the time stamp between successive TS buckets from the information of the time stamp of the input TS packet, ie, the time information of the time stamp of the continuous TS bucket. Calculate the time (hereinafter referred to as Tx interval) that is the difference between and ⁇ , and output it to the Tx interval integration counter 17 and ⁇ interpal counter 18.
  • the interval integration counter (17) receives the TS number from the interval calculator (16). ⁇ The intervals are sequentially input for each packet. ⁇ The intervals are integrated, and the integrated value is read at the timing when the sampling period signal is input from the sampling period signal generating section 30 and output to the subtractor 19.
  • the interval counter 18 counts the number of intervals output from the interval calculator 16 and counts the number of intervals at the timing when the sampling cycle signal is input from the sampling cycle signal generator 30. Output to Div (divider) 24.
  • the enable signal extractor 20 extracts an enable signal from the TS supplied from the switch 13 and outputs the enable signal to the Rx interval calculator 21.
  • the Rx interval calculator 21 receives a plurality of continuous TS packets based on the time Rx at which the TS bucket is received, which is the timing of the enable signal supplied from the enable signal extractor 20. An interval between the times (hereinafter referred to as an Rx interval) is obtained and output to the Rx interval integration counter 22.
  • the Rx interval accumulation counter 22 receives the TS number from the Rx interval calculation unit 21.
  • the Rx intervals sequentially input for each packet are integrated, and the integrated value is read at the timing when the sampling period signal is input from the sampling period signal generation section 30 and output to the subtractor 19.
  • the subtractor 19 calculates the Rx input from the ⁇ ⁇ interval integrated value (hereinafter also referred to as ⁇ (Tx (i + 1) -Tx (i))) input from the Tx interval integration counter 17 Two
  • the LPF 23 smoothes the difference ⁇ ⁇ sequentially output from the subtractor 19 at the generation interval of the sampling period signal ⁇ and outputs the result to the Div (divider) 24.
  • the Div (divider) 24 calculates the adjustment bucket number C by dividing the difference ⁇ input from the LPF 23 by the number of Tx intervals input from the Tx interval counter 18. 2 Output to 5.
  • the adjustment unit 25 obtains an adjustment packet number S to be adjusted based on the adjustment packet number C input from the Div 24, and adjusts the TS packets subsequent to the TS packet corresponding to the adjustment bucket number S.
  • the time difference between the time stamp Tx and the reception time of the TS packet is adjusted by adding or subtracting the time of the number of clocks corresponding to the value of the addition coefficient A to or from the time stamp Tx. 6 and when the addition coefficient A is incremented or decremented by 1, the Tx interval integration counter 17, Rx interval integration counter 22, and Tx interval counter 18 are reset.
  • the addition coefficient A, the adjustment bucket number S, and the completion adjustment packet number are stored in its own memory 25a. The method of adjusting the time stamp Tx will be described later in detail.
  • the read signal generation unit 26 generates a read signal of the corresponding TS packet at the corresponding time based on the time information of the time stamp Tx input from the adjustment unit 25, and outputs the signal to the buffer 27.
  • the buffer 27 temporarily stores the TS packet input from the switch 13 and when a read signal is input from the read signal generation unit 26, The corresponding TS bucket is read and output to the decoding unit 28.
  • the decoding unit 28 decodes the TS based on the TS packet input from the buffer 27 using a predetermined method such as the MPEG-2 method and displays the TS on the display unit 29.
  • the sampling cycle signal generator 30 indicates the timing at which the values stored in the Tx interval counter 18, Tx interval integration counter 17, and Rx interval integration power counter 22 are read out at predetermined time intervals. Outputs the signal at the specified sampling cycle. Note that this sampling period may be substantially the same as the timing at which the enable signal is input, so that the enable signal may be substituted.
  • Tx (m) — Tx (n) Rx (m) -Rx (n).
  • a TS packet received by communication via a network such as the Internet may be shifted due to various factors as described above.
  • the number of TS buckets that generate an error for one clock is obtained as the number of adjustment buckets C, and the time stamp Tx is adjusted by adding or subtracting the time of one clock for each number of adjustment packets C. .
  • the number of adjustment packets C is the reciprocal of the error CLK (IPKT) as shown by the following equation (2).
  • the adjusted bucket number C is obtained by dividing the number of packets N-PKT by the value obtained by subtracting the integrated value of the Rx interval from the integrated value of the Tx interval, that is, the difference ⁇ .
  • step S1 the adjustment unit 25 initializes the addition coefficient A of the memory 25a to 0.
  • the Tx interval counter 18, the Tx interval integration counter 17, and the Rx interval integration counter 22 are also initialized to 0.
  • the adjustment packet number S and the completion adjustment packet number T are initialized to 1.
  • step S2 the I / F 11 sequentially receives the TS packets transmitted via the network 1 and outputs the TS packets to the DMA 12.
  • step S3 the DMA 12 sequentially outputs the input TS to the switch 13, and in step S4, controls the switch to use the RAM I 4 as appropriate to sequentially buffer the buffer 27 and the time. Output to the stamp extraction unit 15 and the enable signal extraction unit 20.
  • step S5 the buffer 27 sequentially stores TS packets input via the switch 13.
  • step S6 the time stamp extraction unit 15 extracts the time stamp Tx from the TS bucket and outputs the time stamp Tx to the Tx interval calculation unit 16 and the adjustment unit 25.
  • step S7 the Tx interval calculator 16 calculates a Tx interval from the input time stamp Tx, and outputs the calculated Tx interval to the Tx interpulse integration counter 17 and the Tx interval counter 18. That is, for example, when each time stamp Tx of each TS packet (1) to (1 2) is a time stamp time Tx (1) to Tx (1 2) as shown in the upper part of FIG. The turn in Katsuko Is the packet number), the Tx interval of packet (1) and packet (2) is calculated as Tx (2) -Tx (1), and packet (2) and packet (2)
  • the Tx interval of (3) is calculated as Tx (3) -Tx (2), and the Tx interval is calculated in the same manner.
  • the upper part of FIG. 7 shows the relationship between the time stamp Tx and the Tx interval
  • the lower part of FIG. 7 shows the relationship between the reception time Rx of the TS packet and the Rx interval. This is the number of the TS packet, and will be similarly shown in the following.
  • step S8 the Tx interval integration counter 17 integrates and stores the input Tx interval. That is, for example, when the packet (2) is input, the Tx interval integration counter 17 stores the Tx interpal (Tx (2) -Tx (1)), and when the packet (3) is input, the Tx The interval (Tx (3)-Tx (2)) is input and is added to the value stored up to that point, so the Tx interval integration counter 17 stores the Tx interval (Tx (2) -Tx (1)) + (Tx (3) -Tx (2)) is stored.
  • step S9 the enable signal extraction unit 20 extracts an enable signal from the TS packet, obtains a reception time Rx of the TS bucket from the enable signal, and outputs it to the Rx interval calculation unit 21.
  • step S10 the Rx interval calculation unit 21 obtains an Rx interpanel from a difference between times Rx at which the TS bucket is received.
  • step S11 the Rx interval integration counter 22 integrates and stores the input Rx interval. That is, when the packet (2) is received as described above, the Rx interval integration counter 22 stores only the input Rx interval (Rx (2) -Rx (1)). Become. Similarly, at the timing when the packet (3) is continuously input, the difference (Rx (3) -Rx (2)) is accumulated and (Rx (2) -Rx (1)) + (Rx (3) One Rx
  • step S12 the Tx interval counter 18 counts and stores the number of intervals input from the interval calculation unit 16.
  • step S13 the sampling period signal generator 30 outputs the sampling period signal and determines whether or not it has been input to ⁇ interval counter 18; 8interval integration counter 17; and Rx interpulse integration counter 22. Is determined, and if the sampling period signal is not input, the process returns to step S1, and the processes of steps S2 to S13 are repeated until the sampling period signal is output.
  • step S14 the Tx interval integrated power counter 17 is the integrated value of the interval of the interval ⁇ (Tx (i + 1) _Tx (i)) is output to the subtractor 19, and the Rx interval integration counter 22 outputs the integrated value of the Rx interval ⁇ (Rx (i + 1) -Rx (i)) to the subtractor 19, Further, the Tx interval counter 18 outputs to the Div 24 the number of Tx intervals that are stored as a force.
  • the sampling is performed at the timing when every other TS packet is received.
  • the Tx interval integration counter 17 stores packets (1) to
  • step S 16 LPF 23 smoothes the input difference ⁇ T and outputs the result to Div 24. That is, since the actual Rx interval does not become a constant interval as shown in the lower part of FIG. 7, the difference ⁇ similarly changes, so that the smoothing process is performed. As a result, even if the Rx interval varies, a stable value of the difference ⁇ can be set.
  • step S17 Div 24 executes the operation shown in equation (4) by dividing the number of Tx intervals N-PKT input from Tx interval counter 18 by the difference ⁇ smoothed by LPF23. Then, the number of adjustment packets C is obtained and output to the adjustment unit 25.
  • step S18 the adjusting unit 25 obtains the adjustment packet number S based on the obtained number of adjustment packets C. That is, the adjustment unit 25 adds the absolute value of the current adjustment bucket number C to the completed adjustment bucket number, which has begun to add the time for one clock, and the adjustment packet number S for which adjustment is actually performed. Ask for.
  • step S20 the adjustment unit 25 adds the time of the clock number X addition coefficient A to the time stamp Tx supplied from the time stamp extraction unit 15 on and after this timing.
  • the addition coefficient A is ⁇
  • it is output to the readout signal generation unit 26 without any adjustment of the time stamp Tx. That is, in step S 19, the fact that the time stamp Tx is not an adjustment packet number means that the difference between the time stamp Tx and the time Rx at which the TS bucket was received is less than one clock, and thus the adjustment of the time stamp Tx Not done.
  • step S21 the read signal generator 26 outputs the read signal to the buffer 27 at the timing of the input time stamp Tx.
  • the 03 008692 the 03 008692
  • the filter 27 outputs a corresponding TS bucket to the decoding unit 28 at the timing when the read signal is input.
  • step S23 the decoder 28 decodes the read TS packet and displays it on the display unit 29.
  • step S24 it is determined whether or not the transport stream continues thereafter. If it is determined that the transport stream continues, the process returns to step S2, and if it is determined that the transport stream does not continue, The process ends.
  • step S25 the adjustment unit 25 determines whether or not the adjustment bucket number C is a negative value. For example, in the case of FIG. 7, since the number of adjustment packets C is 1 to 3, the number of adjustment packets C is determined to be a negative value, and the process proceeds to step S26.
  • step S26 the adjustment unit 25 increments the addition coefficient A of the memory 25a by one.
  • the addition coefficient is incremented to 1 so that in the subsequent processing, the time corresponding to one clock is added to the time stamp Tx obtained from the time stamp extraction unit 15 and read. Output to signal generator 26.
  • step S27 the adjusting unit 25 resets the Tx interval integration counter 17, the Rx interval integration counter 22 and the Tx interval pal counter 18.
  • step S28 the completion adjustment bucket number T is updated to the adjustment bucket number S. That is, in this case, the completion adjustment packet number T is updated from 1 to 4 which is the value of the adjustment packet number S.
  • the number of adjusted packets C is calculated assuming that the difference ⁇ ⁇ between the integrated value of the received TS bucket time and the integrated value of the TS bucket time stamp Tx corresponds to one clock.
  • the difference (deviation) from the received Rx interval is one clock (in the case of Fig. 7, One clock and one Tx interval are the same). Therefore, at the timing when the TS bucket corresponding to the adjusted packet number C is counted, as shown in the upper part of FIG. 8, the time of the number of clocks corresponding to the addition coefficient ⁇ is added to all subsequent timestamps ⁇ . Is added to correct the deviation from the reception time.
  • the time stamp! ⁇ '(4) to Tx, (10) are times when the time of one clock is added to each of the time stamps ⁇ (4) to ⁇ (10).
  • step S20 the process proceeds to step S20. become.
  • the arithmetic coefficient 1 is further incremented by 1 to 2, so that the time stamps Tx ′ (8) to Tx ′ (10) of the TS packet 8 and thereafter are obtained as shown in FIG.
  • step S25 if the number of adjustment packets C is not negative, that is, if it is a value equal to or greater than 0, in step S29, the adjustment unit 25 sets the power of the memory 25a to [I 8692
  • the TS packet (5) it is determined in step S19 that the packet number is the adjustment packet number, and in step S20, it is determined that the adjustment packet number C is positive. It will advance to S29.
  • the completion adjustment packet number T is updated to 5 by the first processing, so the packet in FIG.
  • Time stamp Tx '' (9) is subtracted from (9). In this case, the time is substantially the same as the time stamp Tx '(8) of the TS packet (8).
  • the Tx interval is usually a plurality of clocks, and as shown in the upper part of Fig. 11, the TS packet before correction does not disappear and only correction for one clock is performed. Will be done.
  • the difference between the actually received timing and the time stamp is kept at most one clock or less, so that the jitter is removed and the clock used in the transmitting device is removed.
  • Stream data can be played with a high degree of accuracy.
  • the stream data is temporarily stored in the buffer, and then the reproduction time is not adjusted before the processing of storing the data in the buffer is performed. Since accumulation is performed, the time for accumulation in the buffer can be shortened, and the delay of the entire system can be reduced.
  • the present invention can be used for real-time distribution processing of stream data having a function according to the power time stamp described in the example using the MPEG TS.
  • the series of processes described above can be executed by hardware, but can also be executed by software.
  • the programs that make up the software execute various functions by installing a computer built into a dedicated hardware or by installing various programs. For example, it is installed from a recording medium to a general-purpose personal computer or the like.
  • FIG. 12 shows a configuration of an embodiment of a personal computer when the image display device 2 is realized by software.
  • Personal computer CPU 101 controls the entire operation of the personal computer.
  • the CPU 101 responds to a command input from the input unit 106 including a keyboard and a mouse from the user via the bus 104 and the input / output interface 105.
  • the CPU 101 reads from the magnetic disk 111, the optical disk 112, the magneto-optical disk 113, or the semiconductor memory 114 connected to the drive 110, and stores the read data.
  • the program installed in 108 is loaded into RAM (Random Access Memory) 103 and executed.
  • the functions of the image processing apparatus described above are realized by software.
  • the CPU 101 controls the communication unit 109 to communicate with the outside and exchange data.
  • the recording medium on which the program is recorded is a magnetic disk 1 1 1 (a flexible disk, on which the program is recorded) distributed to provide the program to the user separately from the computer.
  • Optical disk 1 1 2 including CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)), magneto-optical disk 1 1 3 (including MD (Mini-Disc)) R0M102, which is provided not only with package media consisting of semiconductor memory 114, but also provided to the user in a state in which it is pre-installed in a computer, and a storage unit 1 It consists of hard disks included in 08.
  • a step of describing a program recorded on a recording medium is not limited to processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. Alternatively, it includes processing executed individually.
  • ADVANTAGE OF THE INVENTION it becomes possible to reproduce

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関する。図3の上段の各TSパケットの受信時刻RxのRxインターバルの積算値Σ(Rx(i+1)−Rx(i))と、各TSパケットのタイムスタンプTxの積算値Σ(Tx(i+1)−Tx(i))(=t)との間には、差分ΔTで示す実質的な誤差が生じる。この誤差ΔTが1クロック分となるときのTSパケット数毎に、それ以降のTSパケットのタイムスタンプTxに1クロック分の時間を加算、または、減算して、タイムスタンプTxを調整することで、TSパケットの受信時刻Rxとの時間のずれを補正する。本発明は、特に、ストリームデータの送受信装置に適用することができる。

Description

明細書
情報処理装置おょぴ方法、 記録媒体、 並びにプログラム 技術分野
本発明は、 情報処理装置および方法、 記録媒体、 並びにプログラムに関し、 特 に、 ストリ一ムデータを、 ネットワークを介して受信する際に生じる、 ス トリー ムデータに付されたタイムスタンプとのク口ック誤差を調整して、 補正できるよ うにした情報処理装置および方法、 記録媒体、 並びにプログラムに関する。 背景技術
インターネットぉょぴ IP (Internet Protocol)関連などのネットワーク技術 の継続成長によって、 IPベースのネットワークを介したストリームデータの送 受信の要求が高まりつつある。
ネットワークを介したストリームデータの送受信処理は、 例えば、 ライブ(同 時実況)中継放送、 または録画した遠隔学習用画像の転送、 IPネットワークを介 したパーソナルコンピュータへのテレビ放送などに応用される。 このような、 ス トリームデータの送受信処理は、 一般に、 インターネットを介して実行される。 ところで、 インターネットを介したデータの通信、 例えば、 TCP P
(Transmis sion Control Protocol/ Internet Protocol) と (?は、 「プル (pul l) J モードと呼ばれる通信方法が使用されており、 データを転送するのに 最適となるように設計されている。 プルモードとは、 送信側の装置と受信側の装 置が相互に通信し、 送信側の装置から送信されてくるデータを受信側の装置がバ ッファリングする際、 オーバーフローしそうになると、 送信側の装置が送信速度 を低下させ、 受信側の装置がアンダーフローしそうになると送信側の装置が通信 速度を上げるなど、 バッファリングに必要な状態を維持できるように通信させる モードである。
このため、 ポイント · トウ ·ポイントで接続された端末間のインタ ネッ トを 介した通信処理においては、 ストリームデータの転送中に遅延が生じることがあ つても、 受信側の装置と送信側の装置との間でストリームデータの再生に障害が 発生しない構成となっている。
しかしながら、 デジタル A/V放送サービスなどでは、 リアルタイムでのスト リームデータの配信を目指しているため、 大容量の送信チャンネルと必要最小容 量の戻りチャンネル (または戻りチャンネルのない) からなる 「プッシュ
(push)」 モードの通信が要求される。 ここでいう、 プッシュモードとは、 送信 側の装置が一方的に、 受信側の装置にデータを送信するモードを示す。
このため、 送信側の装置と、 受信側の装置間では、 ストリームデータの再生に 必要とされるタイムスタンプに記録された再生時刻と、 実際にストリームデータ が受信された受信時刻との間にジッタが生じてしまう。 結果として、 このジッタ によりバッファオーバーフローやバッファアンダーフローが発生してしまい、 通 常のデコーダでストリームデータをデコードすることができなくなってしまうと いう課題があった。
また、 送信側の装置と受信側の装置が、 それぞれに自らの動作に必要なクロッ クを備えているが、 一般に、 受信側の装置 (クライアントコンピュータなど) は、 クロック精度が保証されていないため、 送信側の装置で符号化されたストリーム データに含まれる再生時刻の情報と、 受信側の装置でストリームデータを受信し たときの受信時刻を比較した場合、 一致しないと言ったことが生じてしまうこと があり、 受信側の装置において、 ストリームデータを正確に復号できない恐れが あると言う課題があった。
さらに、 SONET/SDH (Synchronous Opti cal Network/Synchronous Digital Hierarchy) などのクロックの同期が管理された回線では、 データ伝送に係るジ ッタは、 ほぼ 0に管理されているが、 クロックが非同期となっている ATM
(Asynchronous Transfer Mode) では、 セルの衝突を回避させる目的で、 セル の交換機によるセルジッタが発生する。 このセルジッタは、 国内では 1. 5ms以 下、 国際的に見ても 2乃至 3ms以下に抑えられている。 この程度のジッタであ れば、 例えば、 MPEG (Moving Picture Experts Group) などで定められている 500ns以下のジッタ補正を行うために、 MPEGデコーダが通常採用している PLL (Phase Locked Loop) などを工夫して回線ジッタを吸収することが可能である c しかしながら、 IPベースのデータ転送においては、 バックボーンと、 その末 端に存在する装置とを結ぶ LAN (Local Area Network) スィッチや IPルータな どで大きなジッタが発生する。 また、 LANスィッチや IPルータなどの接続数が 増えるに連れて (ホップ数が増えるに連れて) 、 ジッタは大きくなる。
こういった問題が存在するため、 LANスィツチに代表される機器の性能は向上 されてきており、 スィツチング自体がハードウエアにより高速で行えるようにさ れてきているが、 複数のポート入力からパケットの衝突が起きた場合、 ファース トインファース トアゥトの原則に基づいて、 バッファに一時的に蓄えられる時間 さらに、 スイッチングにおいて、 ソフトウェアの処理が含まれている場合、 そ の処理に費やされる時間が定まらないため、 さらにジッタが増加する。 結果とし て、 低遅延のリアルタイムでのストリームデータの転送を考えた場合、 ある程度 管理された回線を利用する必要があるが、 実際のジッタは、 10ms乃至 lsec程度 となるので、 従来の PLLを用いた方法では、 ジッタの補正が行えず、 符号化を 行った送信側の装置のクロックを受信側の装置で再現することができない。 結果 として、 受信側の装置では、 ストリームデータを正確に再生させることができな いという課題があった。 発明の開示
本発明はこのような状況に鑑みてなされたものであり、 ネットワークを介して ストリームデータを送信する側の装置が、 ストリームデータを符号化するときに 使用したクロックを、 受信側の装置で補正し、 より正確に再現できるようにする ものである。
本発明の第 1の情報処理装置は、 ストリームデータより再生時刻を抽出する第 1の抽出手段と、 ストリームデータの受信時刻を抽出する第 2の抽出手段と、 受 信時刻と再生時刻の差分を演算する演算手段と、 差分に基づいて再生時刻を調整 する調整手段とを含むことを特徴とする。
本発明の第 2の情報処理装置は、 ストリームデータのバケツト間の再生時刻の インターバルを抽出する第 1の抽出手段と、 ストリームデータのパケット間の 受信時刻のィンターバルを抽出する第 2の抽出手段と、 再生時刻のィンターパル と受信時刻のィンターバルの差分を演算する演算手段と、 差分に基づいて再生時 刻を調整する調整手段とを備えることを特徴とする。
前記再生時刻は、 タイムスタンプとするようにさせることができる。
前記ストリームデータのうち、 所定数の連続するパケット間の再生時刻のイン ターパルを積算し、 第 1の時間を求める第 1の積算手段と、 ス トリームデータ のうち、 所定数の連続するパケット間の受信時刻のインターバルを積算し、 第 2 の時間を求める第 2の積算手段とをさらに設けるようにさせることができ、 演算 手段には、 第 1の時間と第 2の時間との差分を演算させるようにすることができ る。
前記第 1の時間と第 2の時間との差分を平滑化する平滑化手段をさらに設ける ようにさせることができる。
前記調整手段には、 平滑化手段により平滑化された第 1の時間と第 2の時間と の差分が 1クロック分のずれとなるバケツト数毎に、 再生時刻に 1クロック分の 時間を加算、 または、 減算して再生時刻情報を調整させるようにすることができ る。
本発明の第 1の情報処理方法は、 ストリームデータより再生時刻を抽出する第 1の抽出ステップと、 ス トリームデータの受信時刻を抽出する第 2の抽出ステツ プと、 受信時刻と再生時刻の差分を演算する演算ステップと、 差分に基づいて再 生時刻を調整する調整ステップとを含むことを特徴とする。
本発明の第 2の情報処理方法は、 ストリームデータのバケツト間の再生時刻ィ ンターバルを抽出する第 1の抽出ステップと、 ストリームデータのバケツト間 の受信時刻インターバルを抽出する第 2の抽出ステップと、 受信時刻のインター バルと再生時刻の差分を演算する演算ステップと、 差分に基づいて再生時刻を調 整する調整ステップとを含むことを特徴とする。 ' 前記再生時刻は、 タイムスタンプとするようにさせることができる。
前記ストリームデータのうち、 所定数の連続するバケツト間の再生時刻のイン ターパルを積算し、 第 1の時間を求める第 1の積算ステップと、 ストリームデ ータのうち、 所定数の連続するパケット間の受信時刻のインターバルを積算し、 第 2の時間を求める第 2の積算ステップとをさらに含ませるようにすることがで き、 演算ステップには、 第 1の時間と第 2の時間との差分を演算させるようにす ることができる。
前記第 1の時間と第 2の時間との差分を平滑化する平滑化ステツプをさらに含' ませるようにすることができる。
前記調整ステツプには、 平滑化ステップにより平滑化された第 1の時間と第 2 の時間との差分が 1クロック分のずれとなるバケツト数毎に、 再生時刻に 1クロ ック分の時間を加算、 または、 減算して再生時刻情報を調整させるようにするこ とができる。
本発明の第 1の記録媒体は、 ス トリームデータより再生時刻の抽出を制御する 第 1の抽出制御ステップと、 ストリームデータの受信時刻の抽出を制御する第 2の抽出制御ステップと、 受信時刻と再生時刻の差分の演算を制御する演算制御 ステップと、 差分に基づいて再生時刻の調整を制御する調整制御ステップとを実 行させるためのプログラムが記録されてコンピュータが読み取り可能であること を特徴とする。
本発明の第 2の記録媒体は、 ストリームデータのパケット間の再生時刻インタ 一バルの抽出を制御する第 1の抽出制御ステップと、 ストリームデータのパケ ット間の受信時刻インターバルの抽出を制御する第 2の抽出制御ステップと、 受 信時刻のインターバルと再生時刻の差分の演算を制御する演算制御ステップと、 差分に基づいて再生時刻の調整を制御する調整制御ステップとを実行させるため のプログラムが記録されてコンピュータに読み取り可能であることを特徴とする。 前記再生時刻は、 タイムスタンプとするようにさせることができる。
前記ストリームデータのうち、 所定数の連続するパケット間の再生時刻のイン ターパルの積算を制御レ、 第 1の時間を求める第 1の積算制御ステップと、 ス トリームデータのうち、 所定数の連続するパケット間の受信時刻のインターバル の積算を制御し、 第 2の時間を求める第 2の積算制御ステップとをさらに含ませ るようにすることができ、 演算制御ステップには、 第 1の時間と第 2の時間との 差分の演算を制御させるようにすることができる。
前記第 1の時間と第 2の時間との差分の平滑化を制御する平滑化制御ステップ をさらに含ませるようにすることができる。
調整制御ステップには、 平滑化制御ステップにより平滑化が制御された第 1の 時間と第 2の時間との差分が 1クロック分のずれとなるバケツト数毎に、 再生時 刻に 1クロック分の時間を加算、 または、 減算して再生時刻情報の調整を制御さ せるようにすることができる。
本発明の第 1のプログラムは、 ストリームデータより再生時刻の抽出を制御す る第 1の抽出制御ステップと、 ストリームデータの受信時刻の抽出を制御する 第 2の抽出制御ステップと、 受信時刻と再生時刻の差分の演算を制御する演算制 御ステップと、 差分に基づいて再生時刻の調整を制御する調整制御ステップとを コンピュータに実行させることを特徴とする。
本発明の第 2のプログラムは、 ストリームデータのパケット間の再生時刻イン ターバルの抽出を制御する第 1の抽出制御ステップと、 ストリームデータのパ ケット間の受信時刻インターバルの抽出を制御する第 2の抽出制御ステップと、 受信時刻のィンターパルと再生時刻の差分の演算を制御する演算制御ステップと、 差分に基づいて再生時刻の調整を制御する調整制御ステツプとをコンピュータに 実行させることを特徴とする。
前記再生時刻は、 タイムスタンプとするようにさせることができる。
前記ストリームデータのうち、 所定数の連続するバケツト間の再生時刻のイン ターバルの積算を制御し、 第 1の時間を求める第 1 の積算制御ステップと、 ス トリームデータのうち、 所定数の連続するバケツト間の受信時刻のインターバル の積算を制御し、 第 2の時間を求める第 2の積算制御ステップとをさらに含ませ るようにさせることができ、 演算制御ステップには、 第 1の時間と第 2の時間と の差分の演算を制御させるようにすることができる。
前記第 1の時間と第 2の時間との差分の平滑化を制御する平滑化制御ステップ をさらに含ませるようにすることができる。
前記調整制御ステップには、 平滑化制御ステップにより平滑化が制御された第 1の時間と第 2の時間との差分が 1クロック分のずれとなるパケット数毎に、 再 生時刻に 1クロック分の時間を加算、 または、 減算して再生時刻情報の調整を制 御させるようにすることができる。
本発明の第 1の情報処理装置および方法、 並びにプログラムにおいては、 ス ト リームデータより再生時刻が抽出され、 ストリームデータの受信時刻が抽出され、 受信時刻と再生時刻の差分が演算され、 差分に基づいて再生時刻が調整される。 本発明の第 2の情報処理装置おょぴ方法、 並びにプログラムにおいては、 スト リームデータのパケット間の再生時刻のインターバルが抽出され、 ストリームデ ータのパケット間の受信時刻のインターバルが抽出され、 再生時刻のインターパ ルと受信時刻のインターバルの差分が演算され、 差分に基づいて再生時刻が調整 される。 図面の簡単な説明
図 1は、 本発明を適用した画像表示装置のプロック図である。
図 2は、 TSパケットの Txィンターバルと Rxィンターバルを説明する図であ る。
図 3は、 TSパケットの Txインターパルと Rxインターバルを説明する図であ る。
図 4は、 TSパケットの Txインターバルと Rxインターバルを説明する図であ る。
図 5は、 TSの表示処理を説明するフローチャートである。
図 6は、 TSの表示処理を説明するフローチャートである。
図 7は、 TSバケツトの Txインターバルを調整する処理を説明する図である。 図 8は、 TSバケツトの Τχィンターパルを調整する処理を説明する図である。 図 9は、 TSバケツトの Τχインターバルを調整する処理を説明する図である。 図 1 0は、 TSバケツトの Τχインターバルを調整する処理を説明する図である。 図 1 1は、 TSバケツトの Τχィンターバルを調整する処理を説明する図である。 図 1 2は、 媒体を説明する図である。 発明を実施するための最良の形態
図 1は、 本発明に係る画像表示装置 2の一実施の形態の構成を示す図である。 本発明の画像表示装置は、 ネットワークを介して配信されてくるストリームデ ータ、 例えば、 MPEG (Moving Picture Experts Group) 2などで圧縮されて配 信されるトランスポートス トリーム (以下、 TSとも称する) をリアルタイムで 受信して、 表示部 2 9に表示させるものである。
I/F (インターフェース) 1 1は、 ネットワーク 1を介してコンテンツなどを 配信するサーバより送信されてくる TSを受信し、 DMA (Direct Memory Access control ler) 1 2に出力する。 DMA 1 2は、 スィッチ 1 3を適宜制御しながら、 I/F 1 1から入力されてくる TSを RAM I 4に記憶させたり、 または、 RAM 1 4に 記憶された TSをタイムスタンプ抽出部 1 5、 ィネーブル信号抽出部 2 0、 およ ぴバッファ 2 7に出力する。
タイムスタンプ抽出部 1 5は、 TSに含まれているタイムスタンプ Txを TSパ ケッ ト単位で抽出し、 Txインターバル演算部 1 6、 および、 調整部 2 5に出力 する。 ここでいうタイムスタンプ Txは、 MPEGの PCR (Program Clock
Reference) に対応するものである。 この PCRは、 RTP (Real Time Protocol) でいうタイムスタンプと同等のものであるので、 本説明においては、 タイムスタ ンプに統一して称するものとする。
Txインターバル演算部 1 6は、 入力された TSパケットのタイムスタンプ Τχ の情報から連続する TSバケツト間のタイムスタンプ Τχのィンターバル、 すな わち、 連続する TSバケツ トの持つタイムスタンプ Τχの時刻情報の差分となる 時間 (以下、 Txインターバルと称する) を求め、 Txインターバル積算カウンタ 1 7、 および、 Τχインターパルカウンタ 1 8に出力する。
Τχインターバル積算カウンタ 1 7は、 Τχインターバル演算部 1 6より TS ノヽ。 ケット毎に順次入力される Τχインターバルを積算し、 サンプリング周期信号発 生部 3 0よりサンプリング周期信号が入力されるタイミングでその積算値を読み 出して、 減算器 1 9に出力する。
Τχィンターパルカウンタ 1 8は、 Τχィンターバル演算部 1 6より出力される Τχィンターバルの個数をカウントし、 サンプリング周期信号発生部 3 0よりサ ンプリング周期信号が入力されるタイミングで Τχィンターバルの個数を Di v (割算器) 2 4に出力する。
ィネーブル信号抽出部 2 0は、 スィッチ 1 3より供給される TSからイネーブ ル信号を抽出して Rxィンターバル演算部 2 1に出力する。
Rxインターバル演算部 2 1は、 イネ一プル信号抽出部 2 0より供給されてく るィネーブル信号のタイミングである、 TSバケツトが受信された時刻 Rxに基づ いて、 連続する複数の TSパケットの受信された時刻間のインターバル (以下、 Rxインターバルと称する〉 を求め、 Rxインターバル積算カウンタ 2 2に出力す る。
Rxィンターバル積算カウンタ 2 2は、 Rxィンターバル演算部 2 1より TS ノヽ。 ケット毎に順次入力される Rxインターバルを積算し、 サンプリング周期信号発 生部 3 0よりサンプリング周期信号が入力されるタイミングでその積算値を読み 出して、 減算器 1 9に出力する。
減算器 1 9は、 Txインターバル積算カウンタ 1 7より入力される Τχインター バルの積算値 (以下、 ∑ (Tx ( i + 1 ) - Tx ( i ) ) とも称する) から、 Rxィ 2
10
ンターパル積算カウンタ 2 2より入力される Rxインターバルの積算値 (以下、 ∑ (Rx ( i + 1 ) — Rx ( i ) ) とも称する) を減算して、 その差分 Δ Τ ( =∑ (Tx ( i + 1 ) - Tx ( i ) ) 一∑ (Rx ( i + 1 ) -Rx ( i ) ) ) を LPF 2 3に 出力する。
LPF 2 3は、 減算器 1 9からサンプリング周期信^の発生間隔で順次出力され る差分 Δ Τを平滑化して Div (割算器) 2 4に出力する。
Div (割算器) 2 4は、 LPF 2 3より入力されてくる差分 Δ Τを Txインターパ ルカウンタ 1 8から入力されてくる Txインターバルの個数で除して調整バケツ ト数 Cを求めて調整部 2 5に出力する。
調整部 2 5は、 Div 2 4から入力された調整パケット数 Cに基づいて、 調整し ようとする調整パケット番号 Sを求め、 その調整バケツト番号 Sに対応する TS パケット以降の TSバケツトに対して、 加算係数 Aの値に対応するクロック数の 時間をタイムスタンプ Txに加算、 または、 減算してずらすことによりタイムス タンプ Txと TSパケットの受信時刻とのずれを調整して、 読出信号生成部 2 6 に出力すると共に、 加算係数 Aを 1インクリメント、 または、 1デクリメントし たとき、 Tx インターバル積算カウンタ 1 7、 Rx インターバル積算カウンタ 2 2、 および、 Txインターバルカウンタ 1 8をリセットする。 また、 調整バケツト番 号 Sに基づいて、 調整がなされた場合、 その値を完了調整パケット番号 Tとして 更新し、 さらに、 その完了調整パケット番号 Tに、 新たな調整パケット数 Cを加 算することにより、 新たな調整パケット番号 Sを求める。 尚、 加算係数 A、 調整 バケツト番号 S、 および、 完了調整パケット番号は、 自らのメモリ 2 5 aに記憶 されている。 また、 このタイムスタンプ Txの調整方法については詳細を後述す る。
読出信号生成部 2 6は、 調整部 2 5より入力されるタイムスタンプ Txの時刻 情報に基づいて、 対応する TSパケットの読出信号を対応する時刻に生成してバ ッファ 2 7に出力する。 バッファ 2 7は、 スィッチ 1 3から入力された TSパケ ットを一時的に記億して、 読出信号生成部 2 6より読出信号が入力されるとき、 対応する TSバケツトを読み出してデコード部 28に出力する。 デコード部 28 は、 バッファ 2 7より入力された TSパケットに基づいて、 MPEG 2方式などの所 定の方式で TSを復号して表示部 29に表示させる。
サンプリング周期信号発生部 30は、 所定の時間間隔で Txインターバルカウ ンタ 1 8、 Txインターバル積算カウンタ 1 7、 および、 Rxインターバル積算力 ゥンタ 22に対して記憶されている値を読み出させるタイミングを示す信号を所 定のサンプリング周期で出力する。 尚、 このサンプリング周期は、 実質的に、 ィ ネーブル信号が入力されるタイミングと同じであってもよいので、 イネ一プル信 号で代用するようにしてもよい。
次に、 タイムスタンプ Txの調整について説明する。
図 2で示すように、 TSパケット PKT (m) , PKT (m + l) , PKT (m +
2) · ■ · PKT (n- 2) , PKT (n— 1) , PKT (n) が連続的に存在するものと する。 尚、 ここでパケット PKT (m) のタイムスタンプ (再生が指定されている 時刻) は Tx (m) で示されており、 また、 パケット PKT (n) のタイムスタン プは Tx (11 ) で示されている。
理想的な状態では、 パケット PKT (m) が受信される時刻 Rx (m) とバケツ ト PKT (n) が受信される時刻 Rx (n) との関係は、 Tx (m) — Tx (n) =Rx (m) -Rx (n) となるはずである。
しかしながら、 実際には、 インターネットなどのネットワークを介した通信に より受信される TSパケットは、 上述のような様々な要因によりずれが生じるこ とがある。 この場合、 時間の関係は、 例えば、 図 3で示すようになる。 すなわち、 上段の各 TSパケットの受信時刻 Rxの Rxィンターバルの積算ィ直∑ (Rx ( i + 1) -Rx ( i ) ) =111乃至11ー 1 :以下においても同じ) と、 各 TSバケツ トのタイムスタンプ Txの積算値∑ (Tx ( i + 1) — Tx ( i ) ) (= t) ( i = m乃至 n— 1 :以下においても同じ) との間には、 差分 ΔΤで示す実質的な誤 差が生じる。
図 3で示す関係から、 単位時間当りの誤差 (1クロック当りの誤差) は ΔΤ/ tで示されることになる。 したがって、 ITSパケットあたりの誤差 CLK(IPKT) は、 以下の式 (1) で示すような関係となる。 (Tx(i+1)-Tx(i)) ' · · (1)
Figure imgf000013_0001
結果として、 図 4で示すように、 ITSパケット毎に受信時刻のインターバル Rx ( i ) から実際の式 (1) で求めることができる誤差 CLK(IPKT)となる時間 を調整することで、 正確なタイムスタンプ Txに補正することが可能となる。 ところが、 ハードウェアの処理は、 時間の最小単位であるクロックの時間幅よ りも短い時間での処理を実行することができない。 このため、 式 (1) の処理に より小数点以下の値が生じる場合、 すなわち、 割り切れない場合、 1個の TSパ ケット毎に、 図 4で示すように式 (1) を用いてタイムスタンプ Txを調整する ことができない。
そこで、 1ク口ック分の誤差が生じる TSバケツト数を調整バケツト数 Cとし て求め、 調整パケット数 C毎に 1クロック分の時間を加算、 または、 減算する ことでタイムスタンプ Txを調整する。
ここで、 調整パケット数 Cは、 以下に示す式 (2) で示すように、 誤差 CLK(IPKT)の逆数となる。
Q— 1 —( ! ] , . · (2、
ix(Tx(i+1)— Tx(i)) lk(IPKT)ノ
Figure imgf000013_0002
Nρκτ … (4)
∑(Tx(i+1)-Tx(i))-∑(Rx(i+1)-Rx(i)) さらに、 この式 (2) は、 式 (3) で示すように変形することができる < で、 N - PKTは、 積算される Τχインターバルが図 3の時間 t となるときのバケツ ト数である。 さらに、 式 (3 ) の Txインターバル (Tx ( i + 1 ) - Tx ( i ) ) をキャンセルすると、 式 (4 ) で示すような関係が得られる。
式 (4 ) で示すように、 パケット数 N- PKTを Txインターバルの積算値から Rx インターバルの積算値を減じた値、 すなわち、 差分 Δ Τで除することにより調 整バケツト数 Cが求められる。
ここで、 図 5, 図 6のフローチャートを参照して、 図 1の画像表示装置による 画像表示処理について説明する。
ステップ S 1において、 調整部 2 5は、 メモリ 2 5 aの加算係数 Aを 0に初期 化する。 このとき、 Txインターバルカウンタ 1 8、 Txインターバル積算カウン タ 1 7、 および、 Rxインターバル積算カウンタ 2 2も初期化されて 0となる。 また、 調整パケット番号 S、 および、 完了調整パケット番号 Tは 1に初期化され る。
ステップ S 2において、 I /F 1 1は、 ネットワーク 1を介して送信されてくる TSパケットを順次受信し、 DMA 1 2に出力する。 ステップ S 3において、 DMA 1 2は、 入力された TSを順次スィツチ 1 3に出力し、 ステップ S 4において、 そ のスィッチを制御して適宜 RAM I 4を使用しながら、 順次バッファ 2 7、 タイム スタンプ抽出部 1 5、 および、 ィネーブル信号抽出部 2 0に出力する。
ステップ S 5において、 バッファ 2 7は、 スィツチ 1 3を介して入力される TSパケットを順次記憶する。 ステップ S 6において、 タイムスタンプ抽出部 1 5は、 TSバケツトからタイムスタンプ Txを抽出して Txィンターバル演算部 1 6および調整部 2 5に出力する。
ステップ S 7において、 Txインターバル演算部 1 6は、 入力されたタイムス タンプ Txから Txインターバルを演算し、 Txインターパル積算カウンタ 1 7、 および、 Txィンターバルカウンタ 1 8に出力する。 すなわち、 例えば、 図 7上 段で示すように各 TSパケット ( 1 ) 乃至 ( 1 2 ) の各タイムスタンプ Txが、 タイムスタンプ時刻 Tx ( 1 ) 乃至 Tx ( 1 2 ) である場合 (尚、 各カツコ内の番 号はパケットの番号である) 、 パケット (1) とパケット (2) の Txインター バルは、 Tx (2) -Tx ( 1) として演算され、 パケット (2) とパケット
(3) の Txインターバルは、 Tx (3) -Tx (2) として演算され、 順次同様に して Txインターバルを演算する。 尚、 図 7上段は、 タイムスタンプ Txと Txィ ンターバルの関係を示し、 図 7下段は、 TSパケットの受信時刻 Rxと Rxインタ 一バルの関係を示しており、 各 () 内の番号は、 TSパケットの番号であり、 以 降においても同様に示す。
ステップ S 8において、 Txインターバル積算カウンタ 1 7は、 入力された Tx インターバルを積算して記憶する。 すなわち、 例えば、 Txインターバル積算力 ゥンタ 1 7は、 パケット (2) が入力される場合、 Txィンターパル (Tx (2) -Tx ( 1 ) ) が記憶され、 パケット (3) が入力されるとき Txインターバル (Tx (3) 一 Tx (2) ) が入力されると共に、 それまでに記憶されていた値に 積算されるので、 Txインターバル積算カウンタ 1 7には、 Txインターバル (Tx (2) -Tx (1) ) + (Tx (3) -Tx (2) ) が記憶される。
ステップ S 9において、 ィネーブル信号抽出部 20は、 TSパケットからイネ 一ブル信号抽出し、 そのイネ一プル信号から TSバケツトの受信時刻 Rxを求め て、 Rxインターバル演算部 2 1に出力する。 ステップ S 1 0において、 Rxイン ターバル演算部 2 1は、 TSバケツトが受信された時刻 Rx間の差分から Rxイン ターパノレを求める。
すなわち、 図 7下段で示すように各 TSパケット (1) 乃至 (9) を受信した 時刻を Rx ( 1) 乃至 Rx (9) で示す場合、 例えば、 TSパケット (2) が受信さ れるとき、 TSパケット (2) が受信された時刻 Rx (2) と、 その前に受信され ている TSパケット (1 ) が受信された時刻 Rx ( 1 ) との Rxインターバルが (Rx (2) -Rx ( 1 ) ) として求められ、 この値が Rxインターバル積算カウン タ 2 2に出力される。
また、 その次のタイミングで、 図 7下段のパケット (3) でイネ一プル信号が 検出された場合、 その前のパケット (2) が受信された時刻 Rx (2) とバケツ ト (3) が受信された時刻 Rx (3) の差分 (Rx (3) -Rx (2) ) が Rxインタ 一パルとして求められて、 これが Rxィンターバル積算カウンタ 2 2に出力され る。 さらに、 同様の処理がなされる。 尚、 ィネーブル信号は、 実際には、 所定数 の複数の TSバケツトが受信される毎に出力されるものである。
ステップ S 1 1において、 Rxインターバル積算カウンタ 2 2は、 入力された Rxインターバルを積算して記憶する。 すなわち、 上述のようにパケット (2) が受信された場合、 Rxインターバル積算カウンタ 2 2は、 入力された Rxインタ 一バル (Rx (2) -Rx ( 1) ) のみを記憶していることになる。 また、 同様に して、 引き続きパケット (3) が入力されたタイミングでは、 差分 (Rx (3) -Rx (2) ) が積算されて、 (Rx (2) -Rx ( 1) ) + (Rx (3) 一 Rx
(2) ) が記憶されることになる。 以下、 順次同様の処理が繰り返されることに なる。
ステップ S 1 2において、 Txインターバルカウンタ 1 8は、 Τχィンターバル 演算部 1 6より入力されてくる Τχ ィンターバルの個数をカウントして記憶する。 ステップ S 1 3において、 サンプリング周期信号発生部 3 0がサンプリング周 期信号を出力し、 Τχインターバルカウンタ 1 8、 Τχインターバル積算カウンタ 1 7、 および、 Rxインターパル積算カウンタ 2 2に入力されたか否かが判定さ れ、 サンプリング周期信号が入力されなかった場合、 その処理は、 ステップ S 1 に戻り、 サンプリング周期信号が出力されるまでステップ S 2乃至 S 1 3の処理 が繰り返される。
ステップ S 1 3において、 サンプリング周期信号が発生されたと判定された場 合、 ステップ S 1 4において、 Txィンターバル積算力ゥンタ 1 7は、 Τχィンタ 一バルの積算値∑ (Tx ( i + 1 ) _Tx ( i ) ) を減算器 1 9に出力し、 Rxイン ターバル積算カウンタ 2 2は、 Rxインターバルの積算値∑ (Rx ( i + 1) -Rx ( i ) ) を減算器 1 9に出力し、 さらに、 Txインターバルカウンタ 1 8は、 力 ゥントして記憶されている Txィンターバルの個数を Div24に出力する。
例えば、 図 7の場合、 TSパケットが 1個おきに受信されるタイミングでサン 2
16
プリング周期信号が入力されるとき、 例えば、 最初に TSパケッ ト 2が受信され るタイミングでサンプリング周期信号が入力されるものとすると、 Txインター バル積算カウンタ 1 7には、 パケット (1) , (2) のタイムスタンプ Tx
(2) と Tx (1) との差分 (Txインターバル) が記憶されていることになるの で、 ∑ (Tx ( i + 1 ) 一 Tx ( i ) ) = (Tx (2) -Tx (1) ) が Txインターバ ル積算カウンタ 1 7から出力されることになる。 また、 Rxインターバル積算力 ゥンタ 22には、 パケット (1) , (2) の受信時刻 Rx (1) と Rx (2) との 差分 (Rxインターバル) が加算されていることになるので、 ∑ (Rx ( i + 1 ) -Rx ( i ) ) = (Rx (2) -Rx (1) ) が Rxインターバル積算カウンタ 22か ら出力されることになる。
また、 TSバケツト 4が受信されるタイミングでサンプリング周期信号が受信 される場合、 Txインターバル積算カウンタ 1 7には、 パケット (1) 乃至
(4) のタイムスタンプ Tx (1) 乃至 Tx (4) の各差分 (Txインターバル) が 加算されていることになるので、 ∑ (Tx ( i + 1 ) -Tx ( i ) ) = (Tx (2) -Tx (1) ) + (Tx (3) -Tx (2) + (Tx (4) 一 Tx (3) ) = (Tx (4) -Tx (1) ) が減算器 1 9に出力されることになる。 同様にして、 Rxインター バル積算カウンタ 22には、 パケット 1乃至 4の受信時刻の各差分 (Rxインタ —バル) が加算されていることになるので、 ∑ (Rx ( i + 1) -Rx ( i ) ) = (Rx (2) 一 Rx (1) ) + (Rx (3) 一 Rx (2) + (Rx (4) 一 Rx (3) ) = (Rx (4) -Rx (1) ) が Rxインターパル積算カウンタ 22から出力されるこ とになる。
ステップ S 1 5において、 減算器 1 9は、 Txインターバルの積算値∑ (Tx ( i + 1) -Tx ( i ) ) から Rxインターバルの積算値∑ (Rx ( i + 1) — Rx ( i) ) を減算し、 差分 ΔΤ (=∑ (Tx ( i + 1 ) -Tx ( i ) ) 一∑ (Rx ( i + 1) -Rx ( i ) ) ) を求めて LPF23に出力する。
すなわち、 例えば、 図 7の場合、 TSパケット (2) が受信されるタイミング では、 Txインターパル積算カウンタ 1 7から出力される ∑ (Tx ( i + 1 ) 一 Tx ( i ) ) = (Tx (2) -Tx ( 1 ) ) から ∑ (Rx ( i + 1 ) -Rx ( i ) = (Rx (2) -Rx (1) ) が減算されて、 差分 ΔΤが出力される (ΔΤのクロック数が 出力される) 。 尚、 説明を簡単にするため、 図 7上段では、 1個の Txインター バルが 1クロックになるものとし、 さらに、 Txインターバルの 4倍が Rxインタ 一バルの 3倍に等しいものとする。 この場合、 差分 ΔΤは、 ΔΤ=Σ (Tx ( i + 1) -Tx ( i ) ) -∑ (Rx ( i + 1) -Rx ( i ) ) = (Tx (2) -Tx ( 1 ) ) 一 (Rx (2) -Rx ( 1) ) = 1 -4/3=- 1/3 (クロック) となる。
同様にして、 TSバケツト 4が受信されるタイミングでサンプリング周期信号 が受信される場合、 差分 ΔΤは、 ΔΤ= (Tx (4) -Tx (1) ) ― (Rx (4) 一 Rx (1) ) = 3-4=- 1 (クロック) となる。 以降についても、 同様にして 求められる。
ステップ S 1 6 (図 6) において、 LPF23は、 入力された差分 Δ Tを平滑化 して Div 24に出力する。 すなわち、 実際の Rxインターバルは、 図 7下段で示 すような一定の間隔とはならないので、 差分 ΔΤについても同様に変化ことに なるため、 平滑化処理を行う。 結果として、 Rxインターバルにばらつきが発生 しても、 安定した差分 ΔΤの値を設定することができる。
ステップ S 1 7において、 Div 24は、 LPF23により平滑化された差分 ΔΤ で、 Txインターバルカウンタ 1 8より入力された Txインターバルの個数 N- PKT を割ることにより式 (4) で示した演算を実行し、 調整パケット数 Cを求め調 整部 2 5に出力する。
すなわち、 上述のように図 7の場合、 パケット (2) が入力されるとき、 差分 ΔΤ は一 1/3 (クロック) となり、 Tx ィンターバルの数は、 バケツト ( 1 ) , (2) 間の 1個であるので調整パケット数 Cは、 C=lZ (- 1/3) =ー 3個 となる。
同様にして、 パケット (4) が入力されるとき、 差分 ΔΤは 1 (クロック) と なり、 Txィンターバルの数は、 パケット (1) , (2) 間, パケット (2) , ( 3 ) 間, パケット ( 3 ) , (4) 間の 3個であるので調整パケット数 Cは、 C = 3 / (一 1 ) =ー 3個となる。
図 7の場合、 Txインターバルと Rxインターバルの関係が変化しないので、 い ずれのタイミングでも調整パケット数は、 同一となるが、 実際には、 Rxインタ 一バルが変化するので、 調整パケット数 Cは、 一定とはならないこともある。 ステップ S 1 8において、 調整部 2 5は、 求められた調整パケット数 Cに基づ いて、 調整パケット番号 Sを求める。 すなわち、 調整部 2 5は、 1クロック分の 時間を加算し始めた完了調整バケツト番号丁に、 今現在の調整バケツト数 Cの絶 対値を加算して、 実際に調整を行う調整パケット番号 Sを求める。 例えば、 最初 の処理の場合、 その前に 1クロック分の時間が加算される調整がなされた TSパ ケットが存在しないが、 処理が開始されるとき TSパケット (1 ) では、 調整が なされていることになるので、 初期値として S = 1が設定されるので、 求められ た調整パケット数 Cを加算することにより、 調整パケット番号 S = 4 ( = 1 + 3 ) となる。
ステップ S 1 9において、 調整部 2 5は、 今現在の TSバケツトが、 調整パケ ット番号に対応する TSパケットであるか否かを判定する。 すなわち、 図 7の場 合、 調整パケット番号 S = 4であるが、 図 7下段のパケット 2が入力されるタイ ミングでは、 調整パケット番号 S = 4ではないと判定され、 その処理は、 ステツ プ S 2 0に進む。 .
ステップ S 2 0において、 調整部 2 5は、 タイムスタンプ抽出部 1 5よりこの タイミング以降に供給されてくるタイムスタンプ Txにクロック数 X加算係数 A の時間を加算する。 今の場合、 加算係数 Aは◦であるので、 実質的にタイムスタ ンプ Txを調整することなく、 そのまま読出信号生成部 2 6に出力する。 すなわ ち、 ステップ S 1 9において、 調整パケット番号ではないということは、 タイム スタンプ Txと TSバケツトの受信された時刻 Rxのずれが 1クロック未満である ことになるので、 タイムスタンプ Txの調整は行われない。
ステップ S 2 1において、 読出信号生成部 2 6は、 入力されたタイムスタンプ Txのタイミングでバッファ 2 7に出力する。 ステップ S 2 2において、 ノ ッフ 03 008692
19
ァ 2 7は、 読出信号が入力されたタイミングで対応する TSバケツトをデコード 部 2 8に出力する。
ステップ S 2 3において、 デコーダ 2 8は、 読み出された TSパケットをデコ 一ドして表示部 2 9に表示させる。
ステップ S 2 4において、 トランスポートストリームがその後も続いているか 否かが判定され、 続いていると判定された場合、 その処理は、 ステップ S 2に戻 り、 続いていないと判定された場合、 その処理は、 終了する。
ステップ S 1 9において、 図 7の場合、 調整パケット番号 S = 4であるが、 例 えば、 図 7下段のパケット (4 ) が入力されると、 調整パケット番号 S = 4に対 応する TSパケットであると判定され、 その処理は、 ステップ S 2 5に進む。
ステップ S 2 5において、 調整部 2 5は、 調整バケツト数 Cが負の値である か否かを判定する。 例えば、 図 7の場合、 調整パケット数 Cは、 一 3であるの で調整パケット数 Cは、 負の値であると判定され、 その処理は、 ステップ S 2 6に進む。
ステップ S 2 6において、 調整部 2 5は、 メモリ 2 5 aの加算係数 Aを 1イン クリメントする。 すなわち、 今の場合、 加算係数がィンクリメントされて 1にな るので、 これ以降の処理においては、 タイムスタンプ抽出部 1 5から取得されて いるタイムスタンプ Txに 1クロック分の時間を加算して読出信号生成部 2 6に 出力する。
ステップ S 2 7において、 調整部 2 5は、 Tx インターバル積算カウンタ 1 7、 Rxィンターバル積算カウンタ 2 2、 および、 Txィンターパルカウンタ 1 8をリ セットする。
ステップ S 2 8において、 完了調整バケツト番号 Tを調整バケツト番号 Sに更 新する。 すなわち、 今の場合、 完了調整パケット番号 Tが 1から調整パケット番 号 Sの値であった 4に更新される。
すなわち、 調整パケット数 Cは、 受信される TSバケツトの時刻の積算値と TS バケツトのタイムスタンプ Txの積算値の差分 Δ Τが 1クロック分に相当すると きの Txインターバルの個数を示しているので、 図 7で示すように、 Τχインター バルが 3個になると、 受信される Rxインターバルとの差分 (ずれ) が 1クロッ ク分 (図 7の場合、 1クロックと 1個の Tx インターバルが同じである) となる。 そこで、 調整パケット数 Cに相当する TSバケツトがカウントされたタイミング で、 図 8上段で示すように、 それ以降のタイムスタンプ Τχの値の全てに加算係 数 Αに対応する数のクロック数の時間を加算するようにして、 受信時刻とのずれ を補正する。 図 8上段においては、 タイムスタンプ!^' (4) 乃至 Tx, (1 0) は、 タイムスタンプ Τχ (4) 乃至 Τχ ( 1 0) のそれぞれに 1クロック分の時間 が加算された時刻となる。
また、 完了調整パケッ ト番号 Τ = 4に更新された後、 上述の処理により調整パ ケット数 Cに変化が生じない場合、 図 8下段で示すように、 TSパケット 4以降 の TSパケットが受信されるタイミングでは、 ステップ S 1 8において、 完了調 整パケット番号 Τ =: 4に調整パケット数 Cの絶対値 = 3が加算されることにより、 調整パケット番号 S = 7となる。 この状態で、 TSパケット (5) , (6) が受 信されるタイミングでは、 ステップ S 1 9において、 調整パケット番号 Sの TS パケットが受信されないので、 その処理は、 ステップ S 2 0に進むことになる。 さらに、 TSパケット (7) が受信されるタイミングでは、 タイムスタンプ Tx との差分が 1クロック分となり、 調整パケット番号 S = 7のパケットが受信され ることになるので、 ステップ S 2 5, S 2 6の処理が実行されることにより、 力 [1 算係数 Αがさらに 1インクリメントされて 2となるので、 TSパケット 8以降の タイムスタンプ Tx' (8) 乃至 Tx' ( 1 0) は、 図 9で示すように、 タイムスタ ンプ Tx', (8) 乃至 Tx' ' (1 0) に変更される。 すなわち、 タイムスタンプ Tx' ' (8) 乃至 Τχ,' (1 0) は、 元のタイムスタンプ Tx (8) 乃至 Tx (1 0 ) に加算係数 A = 2 Xクロック分の時間を加算して調整されることで補正され ることになる。
ステップ S 2 5において、 調整パケット数 Cが負ではない、 すなわち、 0以上 の値であった場合、 ステップ S 2 9において、 調整部 2 5は、 メモリ 2 5 aの力 [I 8692
21
算係数 Aを 1デクリメントする。
すなわち、 例えば、 図 10で示すように、 Txインターバル 1回分が 1クロッ クであり、 かつ、 Τχインターバル 3回分で Rxインターバル 4回分である場合、 バケツト 5が受信されたタイミングでサンプリング周期信号が受信されると、 ス テツプ S 1 7の処理により調整パケット数 Cは、 C= 3Z (3-9/4) =4と なるので、 ステップ S 1 8の処理により、 調整パケット番号 Sは、 最初の処理の 場合、 調整パケット番号は 1 (=前回調整パケット番号 T) +4 (=調整バケツ ト数 C) = 5となる。 そこで、 TSパケット (5) が入力されると、 ステップ S 1 9において、 調整パケット番号であると判定され、 ステップ S 20において、 調整パケット数 Cが正であると判定され、 その処理は、 ステップ S 29に進むこ とになる。
ステップ S 29において、 加算係数 Aが 1デクリメントされることにより、 ス テツプ S 20の処理により、 TSパケットのタイムスタンプ Txから 1クロック分 の時間が減算される。 すなわち、 図 1 1上段で示すように、 TSパケッ ト (1) 乃至 (4) までカウントされると、 その次の TSパケット (5) のタイムスタン プ Tx (5) は、 加算係数 A (= 1) Xクロック数分だけ減算されたタイムスタ ンプ Tx' (5) となる。 図 1 1上段の場合、 1回の Txインターバルが 1クロッ クとなっているので、 実質的には、 TSパケット 4のタイムスタンプ Tx (4) と TSパケット 5のタイムスタンプ Tx' (5) は、 同一となり、 後から再生される TSパケット (5) のみが再生されることになる。
また、 調整パケット数 Cが変化することがない場合、 最初の処理により、 完 了調整パケット番号 Tは、 5に更新されることになるので、 図 1 1のパケット
(9) が入力されるタイミングでは、 ステップ S 1 8の処理で、 調整パケット番 号 Sは、 5 (=完了調整パケット番号 T) +4 (=調整パケッ ト数 C) =9とな るのでパケット (9) が入力されるタイミングで、 加算係数 Aはさらに 1デクリ メントされることになるので、 加算係数 A (= (一 2) ) Xクロック分の時間が
(9) から減じられてタイムスタンプ Tx' ' (9) となり、 こ のときも実質的に、 TSパケット (8 ) のタイムスタンプ Tx' ( 8 ) と同一の時 刻となる。
しかしながら、 実際には、 Txインターバルは、 複数のクロックであることが 常であり、 図 1 1上段で示すように、 補正前の TSパケットが消滅するようなこ とはなく 1クロック分の補正のみがなされることになる。
したがって、 この処理により、 実際に受信されるタイミングとタイムスタンプ との差分は、 最大でも 1クロック以下に維持されることになるので、 ジッタを除 去すると共に送信側の装置で使用されていたク口ック精度でストリームデータを 再生することが可能となる。
また、 上述の処理においては、 ス トリームデータを一時的にバッファに蓄積し た後、 再生時間を調整するのではなく、 バッファに記憶させる処理を行う前に、 順次再生タイミングを調整した後にバッファに蓄積させるようにしているので、 バッファに蓄積させる時間を短くさせることができ、 システム全体としての遅延 を低減させることができる。
さらに、 上述においては、 MPEGの TSを用いた場合の例について説明してきた 力 タイムスタンプに準じた機能を有したストリームデータのリアルタイムでの 配信処理にも使用することができる。
また、 IPベースのネットワークに限らず、 その他のネッ トワークにも利用す ることが可能である。
上述した一連の処理は、 ハードウェアにより実行させることもできるが、 ソフ トウエアにより実行させることもできる。 一連の処理をソフトウエアにより実行 させる場合には、 そのソフトウェアを構成するプログラムが、 専用のハードゥエ ァに組み込まれているコンピュータ、 または、 各種のプログラムをインス トール することで、 各種の機能を実行させることが可能な、 例えば汎用のパーソナルコ ンピュータなどに記録媒体からインストールされる。
図 1 2は、 画像表示装置 2をソフトウエアにより実現する場合のパーソナルコ ンピュータの一実施の形態の構成を示している。 パーソナルコンピュータの CPU 1 0 1は、 パーソナルコンピュータの動作の全体を制御する。 また、 CPU 1 0 1 は、 バス 1 0 4および入出力ィンターフェース 1 0 5を介してユーザからキーポ ードゃマウスなどからなる入力部 1 0 6から指令が入力されると、 それに対応し X ROM (Read Only Memory) 1 0 2に格納されているプログラムを実行する。 あ るいはまた、 CPU 1 0 1は、 ドライブ 1 1 0に接続された磁気ディスク 1 1 1、 光ディスク 1 1 2、 光磁気ディスク 1 1 3、 または半導体メモリ 1 1 4から読み 出され、 記憶部 1 0 8にインス トールされたプログラムを、 RAM (Random Access Memory) 1 0 3にロードして実行する。 これにより、 上述した画像処理装置の機 能が、 ソフトウェアにより実現されている。 さらに、 CPU 1 0 1は、 通信部 1 0 9を制御して、 外部と通信し、 データの授受を実行する。
プログラムが記録されている記録媒体は、 図 1 2に示すように、 コンピュータ とは別に、 ユーザにプログラムを提供するために配布される、 プログラムが記録 されている磁気ディスク 1 1 1 (フレキシブルディスクを含む) 、 光ディスク 1 1 2 (CD-ROM (Compact Disc-Read Only Memory) , DVD (Di gi tal Versat i l e Disc) を含む) 、 光磁気ディスク 1 1 3 (MD (Mini-Di sc) を含む) 、 もしくは 半導体メモリ 1 1 4などよりなるパッケージメディアにより構成されるだけでな く、 コンピュータに予め組み込まれた状態でユーザに提供される、 プログラムが 記録されている R0M 1 0 2や、 記憶部 1 0 8に含まれるハードディスクなどで構 成される。
尚、 本明細書において、 記録媒体に記録されるプログラムを記述するステップ は、 記載された順序に沿って時系列的に行われる処理は、 もちろん、 必ずしも時 系列的に処理されなくとも、 並列的あるいは個別に実行される処理を含むもので ある。 産業上の利用可能性
本発明によれば、 ジッタを除去すると共に送信側のクロック精度でストリーム データを再生することが可能となる。 また、 バッファに蓄積させる時間を短くさ せることができ、 システム全体としての遅延を低減させることができる。

Claims

請求の範囲
1 . ス トリームデータより再生時刻を抽出する第 1の抽出手段と、
前記ストリームデータの受信時刻を抽出する第 2の抽出手段と、
前記受信時刻と前記再生時刻の差分を演算する演算手段と、
前記差分に基づいて再生時刻を調整する調整手段と
を含むことを特徴とする情報処理装置。
2 . ストリームデータのバケツト間の再生時刻のインターバルを抽出する第 1 の抽出手段と、
前記ストリームデータのバケツト間の受信時刻のインターバルを抽出する第 2 の抽出手段と、
前記再生時刻のィンターパルと前記受信時刻のインターバルの差分を演算する 演算手段と、
前記差分に基づいて再生時刻を調整する調整手段と
を備えることを特徴とする情報処理装置。
3 . 前記再生時刻は、 タイムスタンプである
ことを特徴とする請求の範囲第 2項に記載の情報処理装置。
4 . 前記ストリームデータのうち、 所定数の連続するバケツト間の再生時刻の ィンターバルを積算し、 第 1の時間を求める第 1の積算手段と、
前記ストリームデータのうち、 前記所定数の連続するバケツト間の前記受信時 刻のィンターバルを積算し、 第 2の時間を求める第 2の積算手段とをさらに備え、 前記演算手段は、 前記第 1の時間と前記第 2の時間との差分を演算する ことを特徴とする請求の範囲第 2項に記載の情報処理装置。
5 . 前記第 1の時間と前記第 2の時間との差分を平滑化する平滑化手段をさら に備える
ことを特徴とする請求の範囲第 4項に記載の情報処理装置。
6 . 前記調整手段は、 前記平滑化手段により平滑化された前記第 1の時間と前 記第 2の時間との差分が 1クロック分のずれとなるバケツト数毎に、 前記再生時 刻に 1クロック分の時間を加算、 または、 減算して再生時刻情報を調整する ことを特徴とする請求の範囲第 5項に記載の情報処理装置。
7 . ストリームデータより再生時刻を抽出する第 1の抽出ステップと、
前記ストリームデータの受信時刻を抽出する第 2の抽出ステップと、
前記受信時刻と前記再生時刻の差分を演算する演算ステップと、
前記差分に基づいて再生時刻を調整する調整ステップと
を含むことを特徴とする情報処理方法。
8 . ストリームデータのパケット間の再生時刻インターバルを抽出する第 1 の抽出ステップと、
前記ストリームデータのバケツト間の受信時刻インターバルを抽出する第 2の 抽出ステップと、
前記受信時刻のィンターパルと前記再生時刻の差分を演算する演算ステップと、 前記差分に基づいて再生時刻を調整する調整ステップと
を含むことを特徴とする情報処理方法。
9 . 前記再生時刻は、 タイムスタンプである
ことを特徴とする請求の範囲第 8項に記載の情報処理方法。
1 0 . 前記ストリームデータのうち、 所定数の連続するバケツト間の再生時刻 のインターバルを積算し、 第 1の時間を求める第 1の積算ステップと、
前記ストリームデータのうち、 前記所定数の連続するバケツト間の前記受信時 刻のインターバルを積算し、 第 2の時間を求める第 2の積算ステップとをさらに 含み、
前記演算ステツプは、 前記第 1の時間と前記第 2の時間との差分を演算する ことを特徴とする請求の範囲第 8項に記載の情報処理方法。
1 1 . 前記第 1の時間と前記第 2の時間との差分を平滑化する平滑化ステップ をさらに含む
ことを特徴とする請求の範囲第 1 0項に記載の情報処理方法。
1 2 . 前記調整ステップは、 前記平滑化ステップにより平滑化された前記第 1 の時間と前記第 2の時間との差分が 1クロック分のずれとなるパケット数毎に、 前記再生時刻に 1クロック分の時間を加算、 または、 減算して再生時刻情報を調 整する
ことを特徴とする請求の範囲第 1 1項に記載の情報処理方法。
1 3 . ス ト リームデータより再生時刻の抽出を制御する第 1の抽出制御ステ ップと、
前記ストリームデータの受信時刻の抽出を制御する第 2の抽出制御ステップと、 前記受信時刻と前記再生時刻の差分の演算を制御する演算制御ステップと、 前記差分に基づいて再生時刻の調整を制御する調整制御ステップと
を実行させるためのプログラムが記録されてコンピュータが読み取り可能であ ることを特徴とする記録媒体。
1 4 . ストリームデータのパケット間の再生時刻インターバルの抽出を制御す る第 1の抽出制御ステップと、
前記ストリームデータのバケツト間の受信時刻インターバルの抽出を制御する 第 2の抽出制御ステップと、
前記受信時刻のインターバルと前記再生時刻の差分の演算を制御する演算制御 - ステップと、
前記差分に基づいて再生時刻の調整を制御する調整制御ステップと
を実行させるためのプログラムが記録されてコンピュータに読み取り可能であ ることを特徴とする記録媒体。
1 5 . 前記再生時刻は、 タイムスタンプである
ことを特徴とする請求の範囲第 1 4項に記載の記録媒体。
1 6 . 前記ストリームデータのうち、 所定数の連続するバケツト間の再生時刻 のインターバルの積算を制御し、 第 1の時間を求める第 1の積算制御ステップ と、
前記ストリームデータのうち、 前記所定数の連続するバケツト間の前記受信時 刻のィンターバルの積算を制御し、 第 2の時間を求める第 2の積算制御ステップ とをさらに含み、
前記演算制御ステップは、 前記第 1の時間と前記第 2の時間との差分の演算を 制御する
ことを特徴とする請求の範囲第 1 4項に記載の記録媒体。
1 7 . 前記第 1の時間と前記第 2の時間との差分の平滑化を制御する平滑化制 御ステップをさらに含む .
ことを特徴とする請求の範囲第 1 6項に記載の記録媒体。
1 8 . 前記調整制御ステップは、 前記平滑化制御ステップにより平滑化が制御 された前記第 1の時間と前記第 2の時間との差分が 1クロック分のずれとなるパ ケット数毎に、 前記再生時刻に 1クロック分の時間を加算、 または、 減算して再 生時刻情報の調整を制御する
ことを特徴とする請求の範囲第 1 7項に記載の記録媒体。
1 9 . ストリームデータより再生時刻の抽出を制御する第 1の抽出制御ステ ップと、
前記ス トリームデータの受信時刻の抽出を制御する第 2の抽出制御ステツプと、 前記受信時刻と前記再生時刻の差分の演算を制御する演算制御ステップと、 前記差分に基づレ、て再生時刻の調整を制御する調整制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
2 0 . ストリームデータのバケツト間の再生時刻インターバルの抽出を制御す る第 1の抽出制御ステップと、
前記ストリームデータのバケツト間の受信時刻インターバルの抽出を制御する 第 2の抽出制御ステップと、
前記受信時刻のインターバルと前記再生時刻の差分の演算を制御する演算制御 前記差分に基づいて再生時刻の調整を制御する調整制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
2 1 . 前記再生時刻は、 タイムスタンプである ことを特徴とする請求の範囲第 2 0項に記載(
2 2 . 前記ス トリームデータのうち、 所定数の連続するパケット間の再生時刻 のインターバルの積算を制御し、 第 1の時間を求める第 1の積算制御ステップ と、
前記ストリームデータのうち、 前記所定数の連続するパケット間の前記受信時 刻のィンターバルの積算を制御し、 第 2の時間を求める第 2の積算制御ステップ とをさらに含み、
前記演算制御ステップは、 前記第 1の時間と前記第 2の時間との差分の演算を 制御する
ことを特徴とする請求の範囲第 2 0項に記載のプログラム。
2 3 . 前記第 1の時間と前記第 2の時間との差分の平滑化を制御する平滑化制 御ステップをさらに含む
ことを特徴とする請求の範囲第 2 2項に記載のプログラム。
2 4 . 前記調整制御ステップは、 前記平滑化制御ステップにより平滑化が制御 された前記第 1の時間と前記第 2の時間との差分が 1クロック分のずれとなるパ ケット数毎に、 前記再生時刻に 1クロック分の時間を加算、 または、 減算して再 生時刻情報の調整を制御する
ことを特徴とする請求の範囲第 2 3項に記載のプログラム。
PCT/JP2003/008692 2002-07-30 2003-07-09 情報処理装置および方法、記録媒体、並びにプログラム WO2004012402A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP03741289A EP1528724A4 (en) 2002-07-30 2003-07-09 INFORMATION PROCESSING DEVICE AND METHOD, STORAGE MEDIUM AND PROGRAM THEREFOR
US10/523,173 US7558868B2 (en) 2002-07-30 2003-07-09 Information processing device and method, recording medium, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-221130 2002-07-30
JP2002221130A JP3846578B2 (ja) 2002-07-30 2002-07-30 情報処理装置および方法、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
WO2004012402A1 true WO2004012402A1 (ja) 2004-02-05

Family

ID=31184837

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/008692 WO2004012402A1 (ja) 2002-07-30 2003-07-09 情報処理装置および方法、記録媒体、並びにプログラム

Country Status (4)

Country Link
US (1) US7558868B2 (ja)
EP (1) EP1528724A4 (ja)
JP (1) JP3846578B2 (ja)
WO (1) WO2004012402A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4655006B2 (ja) * 2006-08-23 2011-03-23 日本電気株式会社 Ipストリーム送受信システム、ipストリーム受信装置及びそれらに用いる受信処理タイミング同期化方法
US8150964B2 (en) * 2007-05-25 2012-04-03 Custom Sensors & Technology Wireless industrial data transmission system
JP4438878B2 (ja) * 2008-03-17 2010-03-24 ソニー株式会社 受信装置、クロック同期方法およびコンピュータプログラム
US7546384B1 (en) * 2008-06-23 2009-06-09 International Business Machines Corporation Maintaining relative time stamps when transferring files across network
JP5369814B2 (ja) * 2009-03-26 2013-12-18 ソニー株式会社 受信装置および受信装置の時刻修正方法
CN101719867B (zh) * 2009-11-23 2012-07-25 中兴通讯股份有限公司 一种包交换网络中的时钟恢复方法及系统
JP5634919B2 (ja) * 2011-03-14 2014-12-03 沖電気工業株式会社 通信装置及び通信プログラム
JP7371437B2 (ja) 2019-10-16 2023-10-31 日本電気株式会社 受信装置、受信方法および受信用プログラム
US11336683B2 (en) * 2019-10-16 2022-05-17 Citrix Systems, Inc. Systems and methods for preventing replay attacks
CN111478744B (zh) * 2020-03-27 2022-02-08 烽火通信科技股份有限公司 一种用于时间同步的误差调整方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036150A (ja) * 1989-06-02 1991-01-11 Nippon Hoso Kyokai <Nhk> 衛星放送受信装置
JPH06252953A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 衛星通信方式
JPH09312654A (ja) * 1996-05-21 1997-12-02 Nippon Telegr & Teleph Corp <Ntt> Atmセル伝送装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2532456B2 (ja) * 1987-04-20 1996-09-11 松下電器産業株式会社 ビデオテックス端末装置と画像情報再生方法
US5966387A (en) * 1995-09-25 1999-10-12 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US5790543A (en) * 1995-09-25 1998-08-04 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
JP3815854B2 (ja) * 1997-06-20 2006-08-30 富士通株式会社 ディジタルpll回路およびmpegデコーダ
US6212206B1 (en) * 1998-03-05 2001-04-03 3Com Corporation Methods and computer executable instructions for improving communications in a packet switching network
SG71835A1 (en) 1998-09-07 2000-04-18 Victor Company Of Japan A dejittering and clock recovery technique for real-time audio/visual network applications
EP1143671B1 (en) 2000-04-07 2004-07-21 NTT DoCoMo, Inc. Device and method for reducing delay jitter in data transmission
JP2002185498A (ja) 2000-12-18 2002-06-28 Matsushita Electric Ind Co Ltd 音声パケットの再生待ち合わせ処理方法,音声パケットの伝送遅延ゆらぎ吸収装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036150A (ja) * 1989-06-02 1991-01-11 Nippon Hoso Kyokai <Nhk> 衛星放送受信装置
JPH06252953A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 衛星通信方式
JPH09312654A (ja) * 1996-05-21 1997-12-02 Nippon Telegr & Teleph Corp <Ntt> Atmセル伝送装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1528724A4 *

Also Published As

Publication number Publication date
US7558868B2 (en) 2009-07-07
JP3846578B2 (ja) 2006-11-15
JP2004064496A (ja) 2004-02-26
US20050243625A1 (en) 2005-11-03
EP1528724A1 (en) 2005-05-04
EP1528724A4 (en) 2005-11-30

Similar Documents

Publication Publication Date Title
JP3053717B2 (ja) 受信機においてタイミングを回復する装置
US5828414A (en) Reduction of timing jitter in audio-video transport streams
CN1669290B (zh) 用于具有挂钟的系统的抖动补偿方法
US6347119B2 (en) Communication apparatus, communication method and storage medium
US7940805B2 (en) Receiving device, clock synchronizing method, and computer program
JP2002064788A (ja) データストリーム処理装置および方法、並びにプログラム格納媒体
US20070008984A1 (en) Buffer management system, digital audio receiver, headphones, loudspeaker, method of buffer management
JP2010104017A (ja) Mpegpcrデジッタリングのレート制限制御メカニズム
JP2007124044A (ja) 基準クロック再生回路及びデータ受信装置
WO2004012402A1 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP3045715B2 (ja) 伝送システム、送信装置、記録再生装置、および記録装置
JP2004139730A (ja) データ列間の連続再生を保障するための付加情報生成方法、この情報を貯蔵する記録媒体及び記録、編集及び/または再生装置
JPH11239179A (ja) マルチメディアデータ中継装置及び方法
US8854964B2 (en) Method and apparatus for determining a transport bit rate for a Multiprogram transport stream
JPH11308203A (ja) クロック再生装置
US10433004B2 (en) Reception apparatus, receiving method, and program
JP5375021B2 (ja) クロック再生システムおよび方法
JP5149404B2 (ja) 映像受信装置
JP2001016267A (ja) 通信装置および方法、並びに媒体
JP4224749B2 (ja) 通信装置、通信方法、および記録媒体
JP2000122681A (ja) 音声データ同期再生装置
JP4907517B2 (ja) タイムスレービング装置
JP3980010B2 (ja) ストリーム伝送装置
JP4158075B2 (ja) 通信装置、通信方法、および記録媒体
JP2008067179A (ja) 受信装置および符号化データ再生方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003741289

Country of ref document: EP

Ref document number: 10523173

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003741289

Country of ref document: EP