WO2010143550A1 - 情報処理装置および方法、並びにプログラム - Google Patents

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

Info

Publication number
WO2010143550A1
WO2010143550A1 PCT/JP2010/059178 JP2010059178W WO2010143550A1 WO 2010143550 A1 WO2010143550 A1 WO 2010143550A1 JP 2010059178 W JP2010059178 W JP 2010059178W WO 2010143550 A1 WO2010143550 A1 WO 2010143550A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
clock
information
decoding
held
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2010/059178
Other languages
English (en)
French (fr)
Inventor
功一 大崎
尾上 淳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Corp filed Critical Sony Corp
Priority to EP20100786081 priority Critical patent/EP2442505A4/en
Priority to CN2010800026425A priority patent/CN102160390A/zh
Priority to US12/737,634 priority patent/US8848803B2/en
Publication of WO2010143550A1 publication Critical patent/WO2010143550A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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/242Synchronisation processes, e.g. processing of PCR [Programme Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L13/00Details of the apparatus or circuits covered by groups H04L15/00 or H04L17/00
    • H04L13/02Details not particular to receiver or transmitter
    • H04L13/08Intermediate storage means
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • 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
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Definitions

  • the present invention relates to an information processing apparatus, method, and program, and more particularly, to an information processing apparatus, method, and program that can be played back in a streaming manner so as not to cause image distortion even when played back for a long time.
  • An information processing apparatus includes a receiving unit that receives data for streaming reproduction, a holding unit that holds the data received by the receiving unit, and a predetermined unit that is held in the holding unit.
  • a decoding unit that reads and decodes the encoded data and a temporal data amount of the data held in the holding unit determines whether or not the decoding processing speed by the decoding unit is appropriate.
  • a determination unit; and a control unit configured to control a speed of the decoding process performed by the decoding unit based on a determination result by the determination unit.
  • the information acquisition means uses, as the data amount calculation information, the time stamp of the data held first and the time stamp of the data held last among the data held in the holding means. Can be acquired.
  • the information acquisition unit can acquire the number of packets whose PID is 0 held in the holding unit as the data amount calculation information.
  • the information acquisition means can acquire the number of PCR packets held in the holding means as the data amount calculation information.
  • the control means slows down the clock of the decoding process when the clock of the decoding process is too fast, and speeds up the clock of the decoding process when the clock of the decoding process is too late based on the detection result by the detecting means. be able to.
  • the detecting means sets the temporal data amount calculated by the calculating means using the temporal data amount of the data held in the holding means when the decoding means starts decoding the data. It can be compared with the threshold.
  • the detection means includes the temporal data amount calculated by the calculation means, the temporal data amount of the data held in the holding means when the decoding means starts decoding the data, and transmission of the data. It can be compared with the threshold value set using the jitter that occurs at times.
  • the determination unit further includes an adding unit that adds arrival time information indicating a reception time of the data for each predetermined data amount to the data received by the receiving unit, and the information acquisition unit includes the holding unit The earliest arrival time information added to the data held in the means and the latest arrival time information can be acquired.
  • An information processing method or program receives data for streaming playback, holds the received data, reads and decodes the predetermined encoded data that is held, And determining whether or not the speed of the decoding process is appropriate from the temporal data amount of the stored data, and controlling the speed of the decoding process based on the result of the determination.
  • data for streaming playback is received, the received data is retained, and the predetermined encoded data is read and decoded and retained. From this amount of temporal data, it is determined whether or not the speed of the decoding process is appropriate, and the speed of the decoding process is controlled based on the determination result.
  • information can be processed.
  • clock deviation in streaming reproduction can be suppressed and more stable reproduction can be performed.
  • FIG. 1 is a block diagram showing a configuration example of a communication system to which the present invention is applied.
  • the communication system 100 shown in FIG. 1 is a communication system that reproduces content data such as images and sounds between a plurality of devices.
  • the communication system 100 includes a transmission device 101 and a reception device 103 connected to the transmission device 101 via a network 102.
  • the transmission device 101 is a device that transmits content data supplied from the outside as streaming data to the reception device 103 via the network 102.
  • the content data is data as content including, for example, images and sounds.
  • the transmission apparatus 101 includes an encoder 111 and a transmission unit 112.
  • the encoder 111 encodes and compresses the supplied content data using a predetermined encoding method such as MPEG (Moving Picture Experts Group) or JPEG (Joint Photographic Experts Group) 2000, and transmits the encoded data to the transmission unit. 112.
  • the transmission unit 112 packetizes the encoded data supplied from the encoder 111 as streaming reproduction data (stream), and transmits the packetized data to the reception device 103 via the network 102.
  • the transmission apparatus 101 may have other functions.
  • the transmission apparatus 101 may have a content data generation function such as a camera or a microphone.
  • the transmission apparatus 101 may include a storage unit that stores content data, and the content data may be read from the storage unit and supplied to the encoder.
  • the stream transmitted from the transmission unit 112 is supplied to the reception device 103 via the network 102.
  • the network 102 is an arbitrary network for connecting a plurality of devices to each other and enabling communication between the devices, represented by the Internet and LAN (Local Area Network), for example.
  • the network 102 may be configured by a plurality of networks. Further, the network 102 may be configured by wire, may be configured by radio, or may be configured by both.
  • the receiving apparatus 103 decodes the stream supplied via the network 102, restores and reproduces the content data (streaming reproduction), and outputs it to a monitor, a speaker, or the like.
  • the restored content data may be supplied to another device outside the receiving device 103.
  • the reception device 103 includes a reception unit 201, a buffer 202, a decoder 203, an output unit 204, and a control unit 211.
  • the receiving unit 201 is a communication interface connected to the network 102, acquires a stream supplied via the network 102, and supplies the stream to the buffer 202.
  • the buffer 202 is configured by a storage medium such as a RAM (Random Access Memory), and temporarily holds data supplied from the receiving unit 201.
  • the buffer 202 supplies the encoded data requested by the decoder 203 among the encoded data held therein to the decoder 203 or holds it at a predetermined timing according to the processing speed of the decoder 203.
  • the encoded data is supplied to the decoder 203.
  • the decoder 203 decompresses and decodes the encoded data acquired from the buffer 202 and supplies the restored content data to the output unit 204.
  • the output unit 204 includes, for example, a monitor and a speaker, and outputs content data supplied from the decoder 203. For example, the output unit 204 displays an image on a monitor or outputs sound from a speaker.
  • the control unit 211 controls the operation (for example, a clock) of the decoder 203 based on information extracted from the data held in the buffer 202.
  • the control unit 211 includes a synchronization determination unit 221 and a clock control unit 222.
  • the synchronization determination unit 221 includes an information acquisition unit 231, a calculation unit 232, and a detection unit 233.
  • the information acquisition unit 231 extracts necessary information from the data held in the buffer 202.
  • the calculation unit 232 calculates the temporal data amount of data held in the buffer 202 using the information acquired by the information acquisition unit 231.
  • the temporal data amount is not a simple information amount (data size) but an amount corresponding to the playback time as content. That is, the calculation unit 232 calculates the “temporal data amount” as a value indicating how much data is stored in the buffer 202 in the reproduction time.
  • the detecting unit 233 determines whether or not the clock speed of the decoder 203 is appropriate by comparing the temporal data amount calculated by the calculating unit 232 with a predetermined threshold value.
  • the clock control unit 222 controls the clock of the decoder 203 so as to have an appropriate speed based on the determination result of the synchronization determination unit 221 (detection unit 233).
  • the control unit 211 starts a synchronization control process.
  • the information acquisition unit 231 of the synchronization determination unit 221 analyzes a stream (data) held in the buffer 202 by a predetermined method in step S101, and calculates a data amount. Necessary information is acquired as data amount calculation information.
  • the TTS time stamp last held in the buffer 202 is compared with the TTS time stamp first held in the buffer 202 (difference is calculated), thereby obtaining a buffer.
  • the temporal data amount of the stream held in 202 can be calculated.
  • the information acquisition unit 231 acquires the TTS time stamp last held in the buffer 202 and the TTS time stamp first held in the buffer 202 as data amount calculation information.
  • ⁇ PSI is information describing which program a stream belongs to.
  • the PMT is information for storing each PID such as an image or sound included in the program.
  • PAT stores a list of programs included in a stream as a PID list of PMTs.
  • PAT's PID is always 0. That is, counting the number of packets with PID 0 is equivalent to counting the number of PATs inserted every 100 msec.
  • PCR Program. Clock Reference
  • the PCR 202 holds the PCR packet by counting the PCR packets. The amount of temporal data in the stream can be calculated.
  • PCR is time information that serves as a clock reference. This PCR is inserted into the stream every 100 msec. Therefore, the temporal data amount of the stream held in the buffer 202 can be calculated from the PCR count value.
  • the information acquisition unit 231 analyzes all the PAT and PMT of the stream held in the buffer 202, counts the PCR packets, and acquires the count result as data amount calculation information.
  • the load on the information acquisition unit 231 is more than when the above-described TTS time stamp is used or when the number of the above-described PAT is counted. large.
  • the calculation unit 232 calculates the temporal data amount of the stream held in the buffer 202 using the data amount calculation information in step S102.
  • step S103 the detection unit 233 detects a “shift” (hereinafter referred to as decoder clock shift) of the clock of the decoder 203 (decoder clock) with respect to the clock of the encoder 111 (encoder clock) from the calculation result.
  • decoder clock shift a “shift” (hereinafter referred to as decoder clock shift) of the clock of the decoder 203 (decoder clock) with respect to the clock of the encoder 111 (encoder clock) from the calculation result.
  • the transmission bit rate of the stream transmitted via the network 102 corresponds to the playback speed of the content, and the receiving device 103 receives the stream to be transmitted, while receiving the stream almost immediately (substantially in real time). It is assumed that live streaming playback is performed.
  • the input / output rates of the buffers 202 are substantially equal to each other. That is, during such live streaming playback, the temporal data amount of the stream held in the buffer 202 is substantially constant. For example, if streaming data held in the buffer 202 is started with streaming data and the time data amount of the stream is set to m seconds, the buffer 202 always holds data for m seconds.
  • the detection unit 233 monitors the temporal data amount of the stream held in the buffer 202, and detects the network jitter or the decoder clock deviation by detecting that it deviates from m. .
  • this m can be approximated by the time from the start of data reception to the start of playback. This is because, in an ideal environment without network jitter as described above, if m seconds are received, data for content reproduction m seconds should be acquired. In other words, in order to hold data for m seconds of content reproduction in the buffer 202, reception for m seconds is required. Therefore, as described above, m can be approximated by the time from the start of data reception to the start of playback.
  • the detection unit 233 monitors the temporal data amount of the stream held in the buffer 202, and when m ′ deviates from the above range, determines that a decoder clock shift has occurred. If m ' ⁇ mn, the decoder clock is faster than the encoder clock, and if m + n ⁇ m', the decoder clock is slower than the encoder clock.
  • step S104 determines whether or not the decoder clock is too fast (relative to the encoder clock) in step S104 based on the detection result. If it is determined that the decoder clock is too fast, the process proceeds to step S105.
  • step S105 the clock control unit 222 receives the determination result, controls the decoder 203, and controls the decoder clock to be slower than the current time. That is, the clock control unit 222 makes the processing speed of the decoder 203 slower than the current speed.
  • step S105 ends, the process proceeds to step S108.
  • step S104 determines whether the decoder clock is not too fast. If it is determined in step S104 that the decoder clock is not too fast, the process proceeds to step S106.
  • step S106 the detection unit 233 determines whether the decoder clock is too late (relative to the encoder clock) based on the detection result. If it is determined that the decoder clock is too late, the process proceeds to step S107.
  • step S107 the clock control unit 222 receives the determination result, controls the decoder 203, and controls the decoder clock to be faster than the current time. That is, the clock control unit 222 makes the processing speed of the decoder 203 faster than the present time.
  • step S108 the process proceeds to step S108.
  • step S106 If it is determined in step S106 that the decoder clock is not too late, that is, it is determined that it is just right, the process proceeds to step S108.
  • step S108 the information acquisition unit 231 determines whether or not the reception of the stream has ended. If it is determined that the reception has not ended, the information acquisition unit 231 returns the process to step S101 and repeats the subsequent processes. If it is determined in step S108 that the reception of the stream has ended, the synchronization control process ends.
  • the control unit 211 detects a shift in the decoder clock based on the temporal data amount of the stream held in the buffer 202, and controls the speed of the decoder clock based on the detection result. That is, the control unit 211 controls the processing speed of the decoder 203. By doing so, the control unit 211 can match the speed of the decoder clock with the speed of the encoder clock, that is, the processing speed of the decoder 203 can be matched with the processing speed of the encoder 111, and clock deviation is suppressed. In addition, it is possible to suppress the occurrence of buffer overflow and underflow due to the clock shift.
  • the receiving apparatus 103 does not perform the data input timing control to the decoder 203 using the stream time stamp in the live streaming reproduction, or the image sound is disturbed even if the reproduction is performed for a long time. Streaming playback can be performed stably so as not to occur.
  • the temporal data amount of the stream held in the buffer 202 is calculated using the data existing in the stream.
  • the temporal data amount of the stream is calculated by other methods. You may make it calculate by.
  • the arrival time (reception time) of the stream may be used.
  • FIG. 4 is a block diagram showing a detailed configuration example of the receiving apparatus 103 in that case.
  • the same components as those in FIG. 2 are denoted by the same reference numerals.
  • the receiving device 103 basically has the same configuration as the control unit 211 in the case of FIG. 2, but includes a control unit 311 instead of the control unit 211.
  • the control unit 311 basically has the same configuration as the control unit 211, but includes a synchronization determination unit 321 instead of the synchronization determination unit 221 of the control unit 211, and further includes an arrival time information addition unit 323.
  • the arrival time information adding unit 323 adds arrival time information indicating the arrival time to the stream received by the receiving unit 201 for each predetermined data unit (for example, TCP packet).
  • This arrival time information may be any data as long as it is information indicating the time, but is generated using, for example, the system clock of the receiving apparatus 103 itself.
  • the receiving unit 201 supplies the stream with arrival time information added thereto to the buffer 202 and holds it.
  • the synchronization determination unit 321 includes an information acquisition unit 331, a calculation unit 332, and a detection unit 333.
  • the information acquisition unit 331 acquires the first arrival time information and the last arrival time information added to the stream held in the buffer 202 as data amount calculation information.
  • the calculation unit 332 calculates the temporal data amount of the stream held in the buffer 202 by obtaining the difference between the arrival time information.
  • the detection unit 333 detects the shift of the decoder clock by comparing the calculation result with a predetermined threshold value.
  • the arrival time information adding unit 323 monitors the stream received by the receiving unit 201 in step S201, and a predetermined amount of stream is received in advance. It is determined whether or not. If it is determined that a predetermined amount of streams have been received, the arrival time information adding unit 323 advances the process to step S202, and adds the arrival time information to the received data. When arrival time information is added, the process proceeds to step S203. If it is determined in step S201 that a predetermined amount of streams has not been received, the process of step S202 is omitted, and the process proceeds to step S203.
  • step S ⁇ b> 203 the information acquisition unit 331 uses the data amount of the arrival time information added to the stream held last in the buffer 202 and the arrival time information added to the stream held first in the buffer 202. Obtained as calculation information.
  • step S ⁇ b> 204 the calculation unit 332 calculates the temporal data amount of the data held in the buffer 202 by taking the difference between the arrival time information acquired by the information acquisition unit 331.
  • step S205 the detection unit 333 detects a shift in the decoder clock based on the calculation result.
  • the temporal data amount m ′ of the stream held in the buffer 202 is m ′ ⁇ m
  • ⁇ n or m + n ⁇ m ′ a decoder clock shift is detected.
  • the time data amount calculated from the arrival time of the stream is m ′′.
  • the receiving apparatus 103 detects the decoder clock deviation by monitoring m ′′. can do.
  • M ′′ and m ′ have a relationship represented by the following formula (2) in consideration of network jitter.
  • the detection unit 333 detects the decoder clock shift in this way.
  • the clock control unit 222 slows down the decoder clock when the decoder clock is fast, and speeds up the decoder clock when the decoder clock is slow. That is, each process of step S206 thru
  • the clock control unit 222 controls the decoder clock to be slower than the current time. That is, the clock control unit 222 makes the processing speed of the decoder 203 slower than the current speed. Conversely, when the decoder clock is too late, the clock control unit 222 controls the decoder clock to be faster than the current time. That is, the clock control unit 222 makes the processing speed of the decoder 203 faster than the present time.
  • control unit 311 detects the shift of the decoder clock based on the temporal data amount of the stream held in the buffer 202, and controls the decoder clock speed based on the detection result, so that the decoder The clock speed can be matched with the encoder clock speed, the clock shift can be suppressed, and the occurrence of buffer overflow and underflow due to the clock shift can be suppressed.
  • the speed of the decoding process of the decoder 203 is controlled by controlling the speed of the clock of the decoder 203.
  • the speed of the decoding process may be controlled using a clock other than the clock. .
  • the CPU 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404.
  • An input / output interface 410 is also connected to the bus 404.
  • the input / output interface 410 includes an input unit 411 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 412 including a speaker, a hard disk, and the like.
  • a communication unit 414 including a storage unit 413 and a modem is connected. The communication unit 414 performs communication processing via a network including the Internet.
  • a drive 415 is connected to the input / output interface 410 as necessary, and a removable medium 421 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 413 as necessary.
  • a removable medium 421 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 413 as necessary.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device may be divided and configured as a plurality of devices.
  • the configurations described above as a plurality of devices may be combined into a single device.
  • configurations other than those described above may be added to the configuration of each device.
  • a part of the configuration of a certain device may be included in the configuration of another device. That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

 本発明は、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができるようにする情報処理装置および方法、並びにプログラムに関する。 情報取得部は、所定の方法で、バッファ内に保持されているストリームを解析し、データ量の算出に必要な情報をデータ量算出用情報として取得する。算出部は、そのデータ量算出用情報を用いてバッファに保持されるストリームの時間的なデータ量を算出する。検出部は、その算出結果から、デコーダクロックずれを検出する。デコーダクロックが速すぎる場合、クロック制御部は、デコーダクロックを現在よりも遅くするように制御する。デコーダクロックが遅すぎる場合、クロック制御部は、デコーダクロックを現在よりも速くするように制御する。本発明は、例えば、通信システムに適用することができる。

Description

情報処理装置および方法、並びにプログラム
 本発明は、情報処理装置および方法、並びにプログラムに関し、特に、長時間再生しても画音乱れが起きないようにストリーミング再生することができるようにした情報処理装置および方法、並びにプログラムに関する。
 従来、ネットワークからのライブストリーミング再生が行われている。この時、ストリーム中のタイムスタンプを用いたデコーダへのデータ転送タイミング制御を行わないことがある。
 しかしながら、その場合、サーバのエンコーダクロックとクライアントのデコーダクロックの同期を取る有効な手段がなかった。そのため、長時間再生を続けていると、クロックずれにより、画音乱れが発生してしまう恐れがあった。
 本発明はこのような問題を解決するためのものであり、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができるようにするものである。
 本発明の一側面の情報処理装置は、ストリーミング再生用のデータを受信する受信手段と、前記受信手段により受信された前記データを保持する保持手段と、前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定する判定手段と、前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する制御手段とを備える。
 前記判定手段は、前記保持手段に保持されている前記データより、前記保持手段に保持されている全データの時間的データ量の算出に必要な情報をデータ量算出用情報として取得する情報取得手段と、前記情報取得手段により取得された前記データ量算出用情報を用いて前記時間的データ量を算出する算出手段と、前記算出手段により算出された前記時間的データ量と所定の閾値を比較することにより、前記データに施された符号化処理のクロックに対する前記復号処理のクロックのずれを検出する検出手段とを備えることができる。
 前記情報取得手段は、前記保持手段に保持されている前記データのうち、最初に保持された前記データのタイムスタンプと、最後に保持された前記データのタイムスタンプとを前記データ量算出用情報として取得することができる。
 前記情報取得手段は、前記保持手段に保持されているPIDが0番のパケットの数を前記データ量算出用情報として取得することができる。
 前記情報取得手段は、前記保持手段に保持されているPCRパケットの数を前記データ量算出用情報として取得することができる。
 前記制御手段は、前記検出手段による検出結果に基づいて、前記復号処理のクロックが速すぎる場合前記復号処理のクロックを遅くし、前記復号処理のクロックが遅すぎる場合前記復号処理のクロックを速くすることができる。
 前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量を用いて設定された前記閾値と比較することができる。
 前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量と、前記データの伝送時に発生するジッタを用いて設定された前記閾値と比較することができる。
 前記判定手段は、前記受信手段により受信される前記データに対して所定データ量毎に、前記データの受信時刻を示す到着時刻情報を付加する付加手段をさらに備え、前記情報取得手段は、前記保持手段に保持されている前記データに付加された最も早い前記到着時刻情報と、最も遅い前記到着時刻情報を取得することができる。
 本発明の一側面の情報処理方法またはプログラムは、ストリーミング再生用のデータを受信し、受信された前記データを保持し、保持されている、所定の符号化された前記データを読み出して復号し、保持されている前記データの時間的データ量から、復号処理の速度が適切であるか否かを判定し、判定の結果に基づいて前記復号処理の速度を制御するステップを含む。
 本発明の一側面においては、ストリーミング再生用のデータが受信され、受信されたデータが保持され、保持されている、所定の符号化されたデータが読み出されて復号され、保持されているデータの時間的データ量から、復号処理の速度が適切であるか否かが判定され、判定の結果に基づいて復号処理の速度が制御される。
 本発明によれば、情報を処理することができる。特に、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができる。
本発明を適用した通信システムの主な構成例を示す図である。 受信装置の詳細な構成例を示すブロック図である。 同期制御処理の流れを説明するフローチャートである。 受信装置の他の構成例を示すブロック図である。 同期制御処理の他の流れを説明するフローチャートである。 本発明を適用したパーソナルコンピュータの構成例を示す図である。
 図1は、本発明を適用した通信システムの構成例を示すブロック図である。
 図1に示される通信システム100は、画像や音声等のコンテンツデータを複数の装置間でストリーミング再生する通信システムである。通信システム100は、送信装置101、送信装置101にネットワーク102を介して接続される受信装置103を有する。
 送信装置101は、外部より供給されるコンテンツデータを、ストリーミングデータとして、ネットワーク102を介して受信装置103に送信する装置である。コンテンツデータは、例えば画像や音声等を含むコンテンツとしてのデータである。送信装置101は、エンコーダ111および送信部112を有する。
 エンコーダ111は、供給されるコンテンツデータを、例えばMPEG(Moving Picture Experts Group)やJPEG(Joint Photographic Experts Group)2000等のような所定の符号化方式で符号化圧縮し、その符号化データを送信部112に供給する。送信部112は、エンコーダ111より供給される符号化データを、ストリーミング再生用のデータ(ストリーム)としてパケット化し、ネットワーク102を介して受信装置103に送信する。
 なお、送信装置101が他の機能を有するようにしてもよい。例えば、送信装置101が、カメラやマイク等のコンテンツデータ生成機能を有するようにしてもよい。また、例えば、送信装置101が、コンテンツデータを記憶する記憶部を有し、その記憶部よりコンテンツデータを読み出してエンコーダに供給するようにしてもよい。
 送信部112より送信されたストリームは、ネットワーク102を介して受信装置103に供給される。ネットワーク102は、例えばインターネットやLAN(Local Area Network)に代表される、複数のデバイスを互いに接続し、それらのデバイス間での通信を可能するための任意のネットワークである。このネットワーク102は、複数のネットワークにより構成されるようにしてもよい。また、ネットワーク102は、有線により構成されるものであってもよいし、無線により構成されるものであってもよいし、その両方により構成されるものであってもよい。
 受信装置103は、ネットワーク102を介して供給されるストリームを受信しながらデコードし、コンテンツデータを復元して再生(ストリーミング再生)し、モニタやスピーカ等に出力する。もちろん、復元したコンテンツデータを受信装置103の外部の他の装置に供給するようにしてもよい。
 図2は、図1の受信装置103の詳細な構成例を示すブロック図である。
 図2に示されるように、受信装置103は、受信部201、バッファ202、デコーダ203、出力部204、および制御部211を有する。
 受信部201は、ネットワーク102に接続される通信インタフェースであり、ネットワーク102を介して供給されるストリームを取得し、バッファ202に供給する。バッファ202は、例えばRAM(Random Access Memory)等の記憶媒体により構成され、受信部201より供給されるデータを一時的に保持する。バッファ202は、その保持している符号化データの中の、デコーダ203に要求された符号化データをデコーダ203に供給するか、または、デコーダ203の処理速度に応じた所定のタイミングで、保持している符号化データをデコーダ203に供給する。
 デコーダ203は、バッファ202より取得した符号化データを伸長復号し、復元したコンテンツデータを出力部204に供給する。出力部204は、例えばモニタやスピーカを有し、デコーダ203より供給されるコンテンツデータを出力する。例えば、出力部204は、モニタに画像を表示したり、音声をスピーカより出力したりする。
 制御部211は、バッファ202に保持されているデータより抽出した情報に基づいて、デコーダ203の動作(例えばクロック)を制御する。制御部211は、同期判定部221およびクロック制御部222を有する。
 同期判定部221は、バッファ202に保持されているデータに基づいて、デコーダ203が行う復号処理の速度が適切か否かの判定に関する処理を行う。より具体的には、同期判定部221は、デコーダ203のクロックと、送信装置101のエンコーダ111のクロックとの間で同期がとれているか否かの判定に関する処理を行う。
 同期判定部221は、情報取得部231、算出部232、および検出部233を有する。情報取得部231は、バッファ202に保持されているデータから必要な情報を抽出する。算出部232は、情報取得部231により取得された情報を用いて、バッファ202に保持されているデータの時間的なデータ量を算出する。
 なお、時間的なデータ量とは、単なる情報量(データサイズ)ではなく、コンテンツとしての再生時間に相当する量を示す。つまり、算出部232は、再生時間でどのくらいの分のデータがバッファ202に保持されているかを示す値として「時間的なデータ量」を算出する。
 検出部233は、算出部232により算出された時間的なデータ量を所定の閾値と比較することにより、デコーダ203のクロックの速度が適切であるか否かを判定する。
 クロック制御部222は、同期判定部221(検出部233)の判定結果に基づいて、デコーダ203のクロックを、適切な速度になるように制御する。
 具体的な処理の流れの例を図3のフローチャートを参照して説明する。
 受信装置103がストリーミング再生のデータ受信を開始すると、制御部211は、同期制御処理を開始する。
 同期制御処理が開始されると、同期判定部221の情報取得部231は、ステップS101において、所定の方法で、バッファ202内に保持されているストリーム(データ)を解析し、データ量の算出に必要な情報をデータ量算出用情報として取得する。
 例えば、ストリームがTTS(TimedTransportStream)の場合、バッファ202に最後に保持されたTTSのタイムスタンプと、バッファ202に最初に保持されたTTSのタイムスタンプを比較する(差分を算出する)ことで、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
 従って、この場合、情報取得部231は、バッファ202に最後に保持されたTTSのタイムスタンプと、バッファ202に最初に保持されたTTSのタイムスタンプをデータ量算出用情報として取得する。
 また、例えば、ストリームに、PSI(Program Specific Information)として、PAT(Program Association Table)が、コンテンツ再生時間100msecに相当する間隔毎に、ストリームに挿入されていることが保証される場合、バッファ202内でPIDが0番のパケットが幾つあるかを数えることにより、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
 PSIは、ストリームがどのプログラムに属しているかを記した情報である。PMTは、プログラムに含まれる画像や音声などの各PIDを格納する情報ある。PATは、ストリームに含まれるプログラム一覧を、PMTのPID一覧で格納するものである。PATのPIDは必ず0番と決まっている。つまり、PIDが0番のパケットが幾つあるかを数えることは、100msec毎に挿入されるPATの数をカウントすることと等価である。
 従って、この場合、情報取得部231は、PIDが0番のパケットをカウントし、そのカウント結果をデータ量算出用情報として取得する。なお、この場合、バッファ202に保持される全てのパケットのTSヘッダを参照する必要があるため、上述したTTSタイムスタンプを用いる場合よりも情報取得部231の負荷は大きい。
 さらに、例えば、PCR(Program. Clock Reference)が、コンテンツ再生時間100msecに相当する間隔毎に、ストリームに挿入されることが保証される場合、PCRパケットをカウントすることにより、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
 PCRは、クロックの基準となる時刻情報である。ストリームには、このPCRが100msec毎に挿入される。したがって、このPCRのカウント値からバッファ202に保持されるストリームの時間的なデータ量を計算することができる。情報取得部231は、バッファ202に保持されるストリームの全てのPATおよびPMTを解析し、PCRパケットをカウントし、そのカウント結果をデータ量算出用情報として取得する。
 なお、この場合、バッファ202内の全てのPATやPMTの解析が必要になるため、上述したTTSタイムスタンプを用いる場合や、上述したPATの数をカウントする場合よりも情報取得部231の負荷は大きい。
 データ量算出用情報が取得されると、算出部232は、ステップS102において、そのデータ量算出用情報を用いてバッファ202に保持されるストリームの時間的なデータ量を算出する。
 ステップS103において、検出部233は、その算出結果から、デコーダ203のクロック(デコーダクロック)の、エンコーダ111のクロック(エンコーダクロック)に対する「ずれ」(以下において、デコーダクロックずれと称する)を検出する。
 ネットワーク102を介して伝送されるストリームの伝送ビットレートがコンテンツの再生速度に対応しており、受信装置103が、送信されるストリームを受信しながら、そのストリームを略即時的に(略リアルタイムに)再生するライブストリーミング再生を行うものとする。
 仮に、ネットワークジッタが0で、デコーダクロックずれもない理想的な状態であるとすると、バッファ202の入出力レートは互いに略等しくなる。つまり、このようなライブストリーミング再生中、バッファ202に保持されているストリームの時間的なデータ量は略一定となる。例えば、ストリーミング再生が開始されたときに、バッファ202に保持されているストリームの時間的なデータ量をm秒分のデータとすると、バッファ202には常にm秒分のデータが保持されている。
 したがって、この場合、検出部233は、バッファ202に保持されているストリームの時間的なデータ量を監視し、それがmからずれたことを検出することで、ネットワークジッタまたはデコーダクロックずれを検出する。
 ところでこのmは、ネットワークからデータを受信し始めてから再生が開始されるまでの時間で近似することができる。上述したようなネットワークジッタのない理想的な環境下においては、m秒受信すれば、コンテンツ再生m秒分のデータを取得したことになるはずだからである。換言すれば、コンテンツ再生m秒分のデータをバッファ202に保持させるためには、m秒間の受信が必要になる。したがって、上述したように、mは、ネットワークからデータを受信し始めてから再生が開始されるまでの時間で近似することができる。
 仮に、ネットワークジッタが0でないとすると、受信レートが時間的に変化するので、バッファ202に保持されるストリームの時間的なデータ量はネットワークジッタの影響を受けて、一定にならない。このときの時間的なデータ量をm’とし、ネットワークジッタを最大n秒とすると、m’の適正な値を以下の式(1)のように表すことができる。
 m-n ≦ m’ ≦ m+n ・・・(1)
 検出部233は、バッファ202に保持されているストリームの時間的なデータ量を監視し、m’が上記の範囲を逸脱した場合、デコーダクロックずれが起こっていると判定する。m’<m-nならばエンコーダクロックに対してデコーダクロックの方が速く、m+n<m’ならばエンコーダクロックに対してデコーダクロックの方が遅い。
 検出部233は、以上のようにデコーダクロックずれの検出を行うと、その検出結果に基づいて、ステップS104において、デコーダクロックが(エンコーダクロックに対して)速すぎるか否かを判定する。デコーダクロックが速すぎると判定された場合、処理はステップS105に進む。ステップS105において、クロック制御部222は、その判定結果を受けて、デコーダ203を制御し、デコーダクロックを現在よりも遅くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも遅くさせる。ステップS105の処理が終了すると、処理はステップS108に進む。
 また、ステップS104において、デコーダクロックが速すぎないと判定された場合、処理はステップS106に進む。ステップS106において、検出部233は、検出結果に基づいて、デコーダクロックが(エンコーダクロックに対して)遅すぎるか否かを判定する。デコーダクロックが遅すぎると判定された場合、処理はステップS107に進む。ステップS107において、クロック制御部222は、その判定結果を受けて、デコーダ203を制御し、デコーダクロックを現在よりも速くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも速くさせる。ステップS107の処理が終了すると、処理はステップS108に進む。
 また、ステップS106において、デコーダクロックが遅すぎない、つまり、ちょうどよいと判定された場合、処理はステップS108に進む。
 ステップS108において、情報取得部231は、ストリームの受信が終了したか否かを判定し、終了していないと判定された場合、処理をステップS101に戻し、それ以降の処理を繰り返す。また、ステップS108においてストリームの受信が終了したと判定された場合、同期制御処理が終了する。
 以上のように、制御部211は、バッファ202に保持されるストリームの時間的データ量に基づいてデコーダクロックのずれを検出し、その検出結果に基づいてデコーダクロックの速度を制御する。つまり、制御部211は、デコーダ203の処理速度を制御する。このようにすることにより、制御部211は、デコーダクロックの速度をエンコーダクロックの速度に合わせることができ、つまり、デコーダ203の処理速度をエンコーダ111の処理速度に合わせることができ、クロックずれを抑制し、そのクロックずれに起因するバッファオーバーフローやアンダーフローの発生を抑制することができる。
 つまり、受信装置103は、ライブストリーミング再生において、ストリームのタイムスタンプを用いたデコーダ203へのデータ投入タイミング制御を行わない、または行えない場合であっても、長時間再生しても画音乱れが起きないように安定的にストリーミング再生を行うことができる。
 なお、実際にはmにもジッタが存在し、かつ、mを計算する際の精度も、その計算方法によって異なる。そのため、上述したようなクロックずれ検出の閾値は、そのシステム、装置、および方法等の環境に合わせて適宜設定するのが望ましい。
 以上においては、ストリーム内に存在するデータを利用してバッファ202に保持されるストリームの時間的データ量を算出するように説明したが、このストリームの時間的データ量の算出は、これ以外の方法により算出するようにしてもよい。
 例えば、ストリームの到着時刻(受信時刻)を利用するようにしてもよい。
 図4は、その場合の受信装置103の詳細な構成例を示すブロック図である。図2と同様の構成には同一の符号を付してある。
 図4において、受信装置103は、基本的に図2の場合の制御部211と同様の構成を有するが、制御部211の代わりに制御部311を有する。制御部311は、基本的に制御部211と同様の構成を有するが、制御部211の同期判定部221の代わりに同期判定部321を有し、さらに、到着時刻情報付加部323を有する。
 到着時刻情報付加部323は、受信部201により受信されるストリームに対し、所定のデータ単位(例えばTCPパケット)毎に、到着時刻を示す到着時刻情報を付加する。この到着時刻情報は、時刻を示す情報であればどのようなデータであってもよいが、例えば受信装置103自身のシステムクロックを用いて生成される。受信部201は、到着時刻情報が付加されたストリームをバッファ202に供給し、保持させる。
 同期判定部321は、同期判定部221と同様に、情報取得部331、算出部332、および検出部333を有する。
 情報取得部331は、バッファ202に保持されているストリームに付加されている、最初の到着時刻情報と、最後の到着時刻情報を、データ量算出用情報として取得する。
 算出部332は、それらの到着時刻情報の差分を求めることにより、バッファ202に保持されているストリームの時間的データ量を算出する。検出部333は、その算出結果を所定の閾値と比較することにより、デコーダクロックのずれを検出する。
 この場合の、同期制御処理の流れの例を図5のフローチャートを参照して説明する。この同期制御処理は、図3のフローチャートを参照して説明した同期制御処理に対応する。
 ストリーミング再生が開始され、同期制御処理が開始されると、到着時刻情報付加部323は、ステップS201において、受信部201により受信されるストリームを監視し、予め定められた所定量のストリームが受信されたか否かを判定する。所定量のストリームが受信されたと判定した場合、到着時刻情報付加部323は、処理をステップS202に進め、到着時刻情報を受信データに付加する。到着時刻情報が付加されると処理はステップS203に進む。また、ステップS201において、所定量のストリームが受信されていないと判定した場合、ステップS202の処理は省略され、処理はステップS203に進む。
 ステップS203において、情報取得部331は、バッファ202に最後に保持されたストリームに付加されている到着時刻情報と、バッファ202に最初に保持されたストリームに付加されている到着時刻情報を、データ量算出用情報として取得する。ステップS204において、算出部332は、情報取得部331により取得された到着時刻情報の差分をとることにより、バッファ202に保持されるデータの時間的なデータ量を算出する。
 ステップS205において、検出部333は、その算出結果に基づいて、デコーダクロックのずれを検出する。
 上述したように、ネットワークジッタを最大n秒とする場合、ライブストリーミング受信開始からm秒後に再生開始したとすると、バッファ202に保持されているストリームの時間的なデータ量m’がm’<m-n、若しくは、m+n<m’となるとき、デコーダクロックずれが検出される。
 ここで、ストリームの到着時刻から算出した時間的なデータ量をm’’とする。常にm’<m-n、若しくは、m+n<m’が成り立つようなm’’とmとnの関係を用いることにより、受信装置103は、m’’を監視することでデコーダクロックずれを検出することができる。
 m’’とm’は、ネットワークジッタを考慮すると、以下の式(2)に示されるような関係となる。
 m’’-n≦m’≦m’’+n ・・・(2)
 m’<m-nが常に成り立つためには、m’が最大のときにも成り立つ必要がある。したがって式(2)からm’’+n<m-nが成立する必要がある。つまり、m’’<m-2nが成立する必要がある。
 また、m+n<m’が常に成り立つためには、m’が最小のときにも成り立つ必要がある。したがって式(2)からm+n<m’’-nが成立する必要がある。つまり、m+2n<m’’が成立する必要がある。
 以上により、m’’<m-2nが成立する場合、デコーダクロックが速く、m+2n<m’’が成立する場合、デコーダクロックが遅いということになる。検出部333は、このようにデコーダクロックずれを検出する。
 クロック制御部222は、デコーダクロックが速い場合にはデコーダクロックを遅くし、デコーダクロックが遅い場合にはデコーダクロックを速くする。つまり、ステップS206乃至ステップS210の各処理は、図3のステップS104乃至ステップS108の各処理と同様に実行される。
 つまり、デコーダクロックが速すぎる場合、クロック制御部222は、デコーダクロックを現在よりも遅くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも遅くさせる。逆に、デコーダクロックが遅すぎる場合、クロック制御部222は、デコーダクロックを現在よりも速くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも速くさせる。
 以上のように、制御部311は、バッファ202に保持されるストリームの時間的データ量に基づいてデコーダクロックのずれを検出し、その検出結果に基づいてデコーダクロックの速度を制御することにより、デコーダクロックの速度をエンコーダクロックの速度に合わせることができ、クロックずれを抑制し、そのクロックずれに起因するバッファオーバーフローやアンダーフローの発生を抑制することができる。
 つまり、受信装置103は、ライブストリーミング再生において、ストリームのタイムスタンプを用いたデコーダ203へのデータ投入タイミング制御を行わない、または行えない場合であっても、長時間再生しても画音乱れが起きないように安定的にストリーミング再生を行うことができる。
 なお、実際にはmにもジッタが存在し、かつ、mを計算する際の精度も、その計算方法によって異なる。そのため、上述したようなクロックずれ検出の閾値は、そのシステム、装置、および方法等の環境に合わせて適宜設定するのが望ましい。
 以上においては、デコーダ203のクロックの速度を制御することにより、デコーダ203の復号処理の速度を制御するように説明したが、クロック以外を用いて復号処理の速度を制御するようにしてももちろんよい。
 上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図6に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図6において、パーソナルコンピュータ400のCPU(Central Processing Unit)401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
 入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図6に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
 なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
 なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 100 通信システム, 101 送信装置, 102 ネットワーク, 103 受信装置, 111 エンコーダ, 112 送信部, 201 受信部, 202 バッファ, 203 デコーダ, 204 出力部, 211 制御部, 221 同期判定部, 222 クロック制御部, 231 情報取得部, 232 算出部, 233 検出部, 311 制御部, 321 同期判定部, 323 到着時刻情報付加部, 331 情報取得部, 332 算出部, 333 検出部

Claims (11)

  1.  トリーミング再生用のデータを受信する受信手段と、
     前記受信手段により受信された前記データを保持する保持手段と、
     前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、
     前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定する判定手段と、
     前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する制御手段と
     を備える情報処理装置。
  2.  前記判定手段は、
      前記保持手段に保持されている前記データより、前記保持手段に保持されている全データの時間的データ量の算出に必要な情報をデータ量算出用情報として取得する情報取得手段と、
      前記情報取得手段により取得された前記データ量算出用情報を用いて前記時間的データ量を算出する算出手段と、
      前記算出手段により算出された前記時間的データ量と所定の閾値を比較することにより、前記データに施された符号化処理のクロックに対する前記復号処理のクロックのずれを検出する検出手段と
     を備える請求項1に記載の情報処理装置。
  3.   前記情報取得手段は、前記保持手段に保持されている前記データのうち、最初に保持された前記データのタイムスタンプと、最後に保持された前記データのタイムスタンプとを前記データ量算出用情報として取得する
     請求項2に記載の情報処理装置。
  4.   前記情報取得手段は、前記保持手段に保持されているPIDが0番のパケットの数を前記データ量算出用情報として取得する
     請求項2に記載の情報処理装置。
  5.   前記情報取得手段は、前記保持手段に保持されているPCRパケットの数を前記データ量算出用情報として取得する
     請求項2に記載の情報処理装置。
  6.  前記制御手段は、前記検出手段による検出結果に基づいて、前記復号処理のクロックが速すぎる場合前記復号処理のクロックを遅くし、前記復号処理のクロックが遅すぎる場合前記復号処理のクロックを速くする
     請求項2に記載の情報処理装置。
  7.   前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量を用いて設定された前記閾値と比較する
     請求項2に記載の情報処理装置。
  8.   前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量と、前記データの伝送時に発生するジッタを用いて設定された前記閾値と比較する
     請求項2に記載の情報処理装置。
  9.  前記判定手段は、
      前記受信手段により受信される前記データに対して所定データ量毎に、前記データの受信時刻を示す到着時刻情報を付加する付加手段
     をさらに備え、
      前記情報取得手段は、前記保持手段に保持されている前記データに付加された最も早い前記到着時刻情報と、最も遅い前記到着時刻情報を取得する
     請求項2に記載の情報処理装置。
  10.  ストリーミング再生用のデータを受信する受信手段と、
     前記受信手段により受信された前記データを保持する保持手段と、
     前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、
     判定を行う判定手段と、
     制御を行う制御手段と
     を備える情報処理装置の情報処理方法であって、
     前記判定手段が、前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定し、
     前記制御手段が、前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する
     ステップを含む情報処理方法。
  11.  ストリーミング再生用のデータを受信し、
     受信された前記データを保持し、
     保持されている、所定の符号化された前記データを読み出して復号し、
     保持されている前記データの時間的データ量から、復号処理の速度が適切であるか否かを判定し、
     判定の結果に基づいて前記復号処理の速度を制御する
     ステップを含む処理をコンピュータに実行させるプログラム。
PCT/JP2010/059178 2009-06-10 2010-05-31 情報処理装置および方法、並びにプログラム Ceased WO2010143550A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20100786081 EP2442505A4 (en) 2009-06-10 2010-05-31 INFORMATION PROCESSING DEVICE AND METHOD AND PROGRAM THEREFOR
CN2010800026425A CN102160390A (zh) 2009-06-10 2010-05-31 信息处理设备、方法及程序
US12/737,634 US8848803B2 (en) 2009-06-10 2010-05-31 Information processing device and method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-138794 2009-06-10
JP2009138794A JP5440839B2 (ja) 2009-06-10 2009-06-10 情報処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
WO2010143550A1 true WO2010143550A1 (ja) 2010-12-16

Family

ID=43308805

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/059178 Ceased WO2010143550A1 (ja) 2009-06-10 2010-05-31 情報処理装置および方法、並びにプログラム

Country Status (7)

Country Link
US (1) US8848803B2 (ja)
EP (1) EP2442505A4 (ja)
JP (1) JP5440839B2 (ja)
KR (1) KR20120036788A (ja)
CN (1) CN102160390A (ja)
TW (1) TWI431986B (ja)
WO (1) WO2010143550A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5156879B1 (ja) * 2011-08-25 2013-03-06 パナソニック株式会社 情報提示制御装置及び情報提示制御方法
JP2014075736A (ja) * 2012-10-05 2014-04-24 Sony Corp サーバ装置および情報処理方法
US8880929B2 (en) * 2012-11-19 2014-11-04 Blackfire Research Corporation Indirect clock measuring and media adjustment
CN104754724B (zh) * 2013-12-30 2018-12-04 上海诺基亚贝尔股份有限公司 一种在无线接入网中实现时钟同步的方法、装置和设备
KR101678388B1 (ko) * 2014-02-06 2016-12-06 엔트릭스 주식회사 레이턴시를 고려한 영상 처리 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
US11528521B2 (en) * 2020-12-01 2022-12-13 Arris Enterprises Llc Partial video async support using R-MACPHY device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2005295295A (ja) * 2004-04-01 2005-10-20 Mitsubishi Electric Corp ストリーム伝送装置
JP2006042273A (ja) * 2004-07-30 2006-02-09 Sharp Corp 受信処理装置、受信装置、制御プログラム、および制御プログラムを記録した記録媒体
JP2006049941A (ja) * 2004-07-30 2006-02-16 Sharp Corp 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
WO2007004611A1 (ja) * 2005-07-06 2007-01-11 Sharp Kabushiki Kaisha 出力回路、制御プログラム製品および制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717697A (en) * 1990-06-27 1998-02-10 Texas Instruments Incorporated Test circuits and methods for integrated circuit having memory and non-memory circuits by accumulating bits of a particular logic state
US7783773B2 (en) * 2006-07-24 2010-08-24 Microsoft Corporation Glitch-free media streaming
US20080031279A1 (en) * 2006-08-03 2008-02-07 Takeshi Hatakeyama Network chip and network transmission/reception device
US9769092B2 (en) * 2010-01-18 2017-09-19 Marvell International Ltd. Packet buffer comprising a data section and a data description section

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2005295295A (ja) * 2004-04-01 2005-10-20 Mitsubishi Electric Corp ストリーム伝送装置
JP2006042273A (ja) * 2004-07-30 2006-02-09 Sharp Corp 受信処理装置、受信装置、制御プログラム、および制御プログラムを記録した記録媒体
JP2006049941A (ja) * 2004-07-30 2006-02-16 Sharp Corp 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
WO2007004611A1 (ja) * 2005-07-06 2007-01-11 Sharp Kabushiki Kaisha 出力回路、制御プログラム製品および制御方法

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
TWI431986B (zh) 2014-03-21
US20110129018A1 (en) 2011-06-02
EP2442505A1 (en) 2012-04-18
JP2010287973A (ja) 2010-12-24
EP2442505A4 (en) 2013-09-18
JP5440839B2 (ja) 2014-03-12
CN102160390A (zh) 2011-08-17
KR20120036788A (ko) 2012-04-18
TW201112695A (en) 2011-04-01
US8848803B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
KR101153153B1 (ko) 대역폭이 제한된 네트워크를 통한 미디어 트랜스레이팅
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
WO2017161998A1 (zh) 视频处理方法和装置、计算机存储介质
JP5440839B2 (ja) 情報処理装置および方法、並びにプログラム
US8922713B1 (en) Audio and video synchronization
US8285886B1 (en) Live media playback adaptive buffer control
US10681104B1 (en) Handling media timeline offsets
JP2007511948A (ja) トリックプレイ信号の再生
JP6753500B2 (ja) 受信機器、および復号・提示方法
JP5335354B2 (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
US20020136205A1 (en) Packet data processing apparatus and packet data processing method
US20150207715A1 (en) Receiving apparatus, transmitting apparatus, communication system, control method for receiving apparatus, control method for transmitting apparatus, and recording medium
JP6193569B2 (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
CN106331847B (zh) 音视频播放方法及设备
CN112911376A (zh) 一种基于实时视频播放流畅的播放方法
CN103475906B (zh) 用于多媒体流的测量方法和测量装置
JPWO2017082059A1 (ja) 情報処理装置、情報処理方法、およびプログラム
CN107087210B (zh) 基于缓存时间判断视频播放状态的方法及终端
JP6711120B2 (ja) 映像再生装置、映像再生方法および映像再生プログラム
CN107112019B (zh) 信号处理装置、信号处理方法、以及存储有程序的计算机可读存储介质
JP2004215199A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
CN114025171A (zh) 一种视频处理方法、装置、终端设备和存储介质
US8520788B2 (en) Receiving device, receiving method and program
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
US20090210588A1 (en) Output Circuit, Control Program Product, and Control Method

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080002642.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 12737634

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010786081

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20117002920

Country of ref document: KR

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10786081

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 962/CHENP/2011

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE