JP2009206998A - Communications device - Google Patents

Communications device Download PDF

Info

Publication number
JP2009206998A
JP2009206998A JP2008048652A JP2008048652A JP2009206998A JP 2009206998 A JP2009206998 A JP 2009206998A JP 2008048652 A JP2008048652 A JP 2008048652A JP 2008048652 A JP2008048652 A JP 2008048652A JP 2009206998 A JP2009206998 A JP 2009206998A
Authority
JP
Japan
Prior art keywords
packet
content data
terminal device
external device
packet loss
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.)
Pending
Application number
JP2008048652A
Other languages
Japanese (ja)
Inventor
Tomohiro Kanda
智宏 神田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008048652A priority Critical patent/JP2009206998A/en
Publication of JP2009206998A publication Critical patent/JP2009206998A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication device which can suppress the deterioration of content data. <P>SOLUTION: The communication device includes a receiving means 301 to receive packets which store content data from a first external equipment, a buffering means 304 to buffer the content data received by the receiving means 301, a detection means 351 to detect the packet loss of the packet received by the receiving means 301, a complement packet generating means 352 to generate complement packets for filling up the portion where the packet loss in the content data is generated, and a transmitting means 301 which sequentially transmits the content data buffered by the buffering means 352 as packets to a second external equipment, and at the same time, along with the detection of the packet loss by the detection means 351, transmits the retransmission request of the packets to the first external equipment. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、通信装置に関する。   The present invention relates to a communication device.

近年、インターネットなどのネットワークを介してコンテンツデータのストリーミング配信を行う通信システムが広く普及している。このような通信システムには、P2P(Peer To Peer)と呼ばれる端末装置間でのコンテンツデータの中継を行う通信形態を用いることにより、コンテンツデータを配信するサーバ装置の台数を増加させることなく負荷やトラフィックの集中を低減することのできる通信システムが考えられている(例えば、特許文献1参照)。   In recent years, communication systems that perform streaming distribution of content data via a network such as the Internet have become widespread. In such a communication system, a communication mode for relaying content data between terminal devices called P2P (Peer To Peer) is used, so that the load and the load can be increased without increasing the number of server devices that distribute content data. A communication system capable of reducing traffic concentration has been considered (see, for example, Patent Document 1).

P2Pによるストリーミング配信では、コンテンツデータを格納する端末装置を頂点として複数の端末装置を多層に論理接続する。そして、サーバ装置から配信されたコンテンツデータは、下階層の端末装置間で順次転送されていく。   In streaming delivery by P2P, a plurality of terminal devices are logically connected in multiple layers with a terminal device storing content data as a vertex. The content data distributed from the server device is sequentially transferred between lower-layer terminal devices.

また、コンテンツデータのストリーミング配信を行う通信システムでは、通信量が増加してネットワーク上の回線や各装置の処理能力を超えた場合に通信中のコンテンツデータがパケット単位で消失するパケットロスが発生する。このパケットロスによるコンテンツデータの劣化を防止する手段として、例えば誤りの訂正符号化方式技術がある。   Further, in a communication system that performs streaming distribution of content data, a packet loss occurs in which the content data being communicated is lost on a packet-by-packet basis when the amount of communication increases and exceeds the processing capacity of the lines and devices on the network. . As means for preventing the deterioration of content data due to packet loss, for example, there is an error correction coding technique.

誤り訂正符号化方式では、誤り訂正符号化により冗長なデータを送信するコンテンツデータに付加し、受信側で復号する際にコンテンツデータのパケットロスした部分を訂正する。一般に誤り訂正符号化方式では、冗長データの量が大きいほど多くのパケットロスした部分を訂正できる。
特開2007−67814公報
In the error correction coding system, redundant data is added to content data to be transmitted by error correction coding, and the packet loss portion of the content data is corrected when decoding is performed on the receiving side. In general, in the error correction coding method, the larger the amount of redundant data is, the more packet loss can be corrected.
JP 2007-67814 A

しかしながら、誤り訂正符号化方式では、コンテンツデータの転送を端末装置間で繰り返す課題については十分に解決することができない。誤り訂正符号化方式は、誤ったデータをある程度訂正することはできるが、訂正能力を超えた誤り(パケットロス等)が生じた場合には、これを訂正することはできず、やはりデータロスが下階層にまで伝播してしまう。つまり、コンテンツデータが下階層に転送されていくほどパケットロスが累積してコンテンツデータが劣化する可能性が高まる。   However, the error correction coding method cannot sufficiently solve the problem of repeating the transfer of content data between terminal devices. The error correction coding method can correct erroneous data to some extent, but if an error (packet loss, etc.) exceeding the correction capability occurs, it cannot be corrected, and data loss is still caused. Propagates to the lower level. That is, as the content data is transferred to the lower layer, the possibility that the packet loss accumulates and the content data deteriorates increases.

そこで本発明は、コンテンツデータのストリームを端末装置間で順次転送していくシステムにおいて、下階層でのコンテンツデータの劣化を抑制することのできる通信装置を提供することを目的とする。   Accordingly, an object of the present invention is to provide a communication apparatus capable of suppressing deterioration of content data in a lower hierarchy in a system that sequentially transfers a stream of content data between terminal apparatuses.

上記目的を達成するために、本発明は、第1の外部装置からコンテンツデータをストリーミングで受信すると共に、受信したコンテンツデータを第2の外部装置にストリーミングで送信する通信装置であって、前記第1の外部装置から、前記コンテンツデータを格納するパケットを受信する受信手段と、前記受信手段で受信した前記コンテンツデータをバッファリングするバッファリング手段と、前記受信手段で受信するパケットのパケットロスを検知する検知手段と、前記コンテンツデータ中のパケットロスが生じた部分を補充するための補充パケットを生成する補充パケット生成手段と、前記バッファリング手段でバッファリングする前記コンテンツデータを前記第2の外部装置にパケットとして順次送信すると共に、前記検知手段によるパケットロスの検知に伴い、前記第1の外部装置にパケットの再送要求を送信する送信手段とを備え、前記送信手段は、前記コンテンツデータのパケットロスが生じた部分の前記第2の外部装置への送信前に前記受信手段で該パケットロス部分の再送パケットを受信すれば当該再送パケットを前記第2の外部装置へ送信し、前記コンテンツデータのパケットロスが生じた部分の前記第2の外部装置への送信前に該パケットロス部分の再送パケットを受信できなければ、前記補充パケット生成手段が生成した補充パケットを前記第2の外部装置へ送信し、その後、前記第1の外部装置から受信した再送パケットを送信することを特徴とする。   In order to achieve the above object, the present invention is a communication device that receives content data from a first external device by streaming and transmits the received content data to a second external device by streaming. Receiving means for receiving a packet storing the content data from one external device; buffering means for buffering the content data received by the receiving means; and detecting packet loss of the packet received by the receiving means Detecting means for performing, replenishment packet generating means for generating a replenishment packet for replenishing a portion of the content data where the packet loss has occurred, and the content data buffered by the buffering means for the second external device Are sequentially transmitted as packets, and the detection means A transmission unit that transmits a packet retransmission request to the first external device in association with detection of the packet loss, and the transmission unit transmits the packet loss of the content data to the second external device. If the receiving means receives the retransmission packet of the packet loss part before the transmission of the packet, the retransmission packet is transmitted to the second external apparatus, and the second external apparatus of the part where the packet loss of the content data has occurred If the retransmission packet of the packet loss part cannot be received before transmission to the device, the supplement packet generated by the supplement packet generation means is transmitted to the second external device, and then received from the first external device. A retransmission packet is transmitted.

本発明によれば、コンテンツデータのストリームを端末装置間で順次転送していくシステムにおいて、下階層でのコンテンツデータの劣化を抑制することのできる通信装置を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, in the system which transfers the stream of content data sequentially between terminal devices, the communication apparatus which can suppress deterioration of the content data in a lower hierarchy can be provided.

以下、本発明の通信装置について図面を参照しながら説明する。
図1は、本発明の実施例である通信システムの構成を示す図である。例えば図1に示す通信システム1は、コンテンツデータを配信する端末装置2と、配信されるコンテンツデータを受信する端末装置311〜333とから構成される。
The communication apparatus of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a communication system according to an embodiment of the present invention. For example, the communication system 1 shown in FIG. 1 includes a terminal device 2 that distributes content data and terminal devices 311 to 333 that receive the distributed content data.

端末装置2はコンテンツデータを格納するHDD(Hard Disk Drive)等の記録媒体を有し、配信要求に応じて記録媒体に格納しているコンテンツデータを配信する通信装置である。また、端末装置2は下階層の端末装置311〜333からのパケット再送要求を受けて、消失したパケットの再送を行う機能を有する。   The terminal device 2 has a recording medium such as an HDD (Hard Disk Drive) that stores content data, and is a communication device that distributes content data stored in the recording medium in response to a distribution request. Further, the terminal device 2 has a function of retransmitting a lost packet in response to a packet retransmission request from the lower layer terminal devices 311 to 333.

端末装置311〜333は、端末装置2から配信されたコンテンツデータを受信してデコードする通信装置である。端末装置311〜333は、1階層下に其々論理接続される他の端末装置にコンテンツデータを転送する機能を有する。   The terminal devices 311 to 333 are communication devices that receive and decode content data distributed from the terminal device 2. The terminal devices 311 to 333 have a function of transferring content data to other terminal devices that are logically connected one layer below.

また、端末装置311〜333ではコンテンツデータを受信する過程でパケットロスを検知した場合、端末装置2または上階層・同一階層にある他の端末装置にパケット再送要求を送信すると共に、パケットロスした部分を補充するダミーパケットを生成する。これらの処理についての詳細は図5乃至図7を参照しながら後述する。尚、端末装置311〜333は、コンテンツデータを格納する記録媒体を備えていれば、端末装置2と同様の機能を実現できるものとする。   When the terminal device 311 to 333 detects a packet loss in the process of receiving the content data, the terminal device 311 to 333 transmits a packet retransmission request to the terminal device 2 or another terminal device in the upper layer / same layer and the packet loss part. A dummy packet for supplementing is generated. Details of these processes will be described later with reference to FIGS. The terminal devices 311 to 333 can realize the same function as the terminal device 2 as long as the terminal devices 311 to 333 include a recording medium for storing content data.

図1において、端末装置311、端末装置312、及び端末装置313は第1階層に位置し、端末装置2からのコンテンツデータ配信を直接受ける。端末装置321、端末装置322、及び端末装置323は第2階層に位置し、第1階層の端末装置311からコンテンツデータ配信を直接受ける。端末装置331、端末装置332、及び端末装置333は第3階層に位置し、第2階層の端末装置321からコンテンツデータ配信を直接受ける。   In FIG. 1, a terminal device 311, a terminal device 312, and a terminal device 313 are located in the first layer and directly receive content data distribution from the terminal device 2. The terminal device 321, the terminal device 322, and the terminal device 323 are located in the second layer and directly receive content data distribution from the terminal device 311 in the first layer. The terminal device 331, the terminal device 332, and the terminal device 333 are located in the third hierarchy, and directly receive content data distribution from the second hierarchy terminal apparatus 321.

尚、図1では端末装置2に端末装置311、端末装置312、及び端末装置313が論理接続され、端末装置311に端末装置321、端末装置322、及び端末装置323が論理接続され、端末装置321に端末装置331、端末装置332及び端末装置333が論理接続されたツリー構造の例を示すが、これに限らず各端末装置に新たな他の端末装置を論理接続できるものとする。   In FIG. 1, the terminal device 311, the terminal device 312, and the terminal device 313 are logically connected to the terminal device 2, and the terminal device 321, the terminal device 322, and the terminal device 323 are logically connected to the terminal device 311. 5 shows an example of a tree structure in which the terminal device 331, the terminal device 332, and the terminal device 333 are logically connected. However, the present invention is not limited to this, and another terminal device can be logically connected to each terminal device.

通信システム1では、第0階層の端末装置2に格納されるコンテンツデータは、まず第1階層に位置する端末装置311〜313に其々配信される。次に、第1階層に位置する端末装置311に配信されたコンテンツデータは、各端末装置311に論理接続された第2階層の端末装置321〜323に其々転送される。   In the communication system 1, the content data stored in the terminal device 2 in the 0th hierarchy is first distributed to the terminal devices 311 to 313 located in the 1st hierarchy. Next, the content data distributed to the terminal device 311 located in the first hierarchy is transferred to the second hierarchy terminal devices 321 to 323 logically connected to the respective terminal devices 311.

このように通信システム1では、第0階層の端末装置2から配信されたコンテンツデータのストリームが下階層の端末装置311〜333へ順次転送されていく。尚、本実施例では、各装置は其々UDP(User Datagram Protocol)/IP(Internet Protocol)およびRTP(Real−time Transport Protocol)により通信が行われるネットワークにより接続される。   As described above, in the communication system 1, the stream of content data distributed from the terminal device 2 in the 0th layer is sequentially transferred to the terminal devices 311 to 333 in the lower layer. In this embodiment, each device is connected by a network in which communication is performed by UDP (User Datagram Protocol) / IP (Internet Protocol) and RTP (Real-time Transport Protocol).

また、本実施例では各端末装置311〜333でコンテンツを其々視聴する際に、映像・音声における揺らぎや歪み等のジッタが発生しないように、受信するパケットを一定量確保してからデコードする。そして、本実施例の各端末装置311〜333では、例えばコンテンツデータを一定の速度で転送できるようにするため、デコードするペースに合わせて次の端末装置へのパケット転送を行う。   Also, in this embodiment, when content is viewed on each terminal device 311 to 333, a certain amount of received packets are secured and decoded so that jitter such as fluctuations and distortions in video and audio does not occur. . In each of the terminal devices 311 to 333 according to the present embodiment, for example, in order to be able to transfer content data at a constant rate, packet transfer to the next terminal device is performed in accordance with the pace of decoding.

よって、各端末装置311〜333では、コンテンツデータの受信開始からパケットが一定量蓄積するまでの時間だけコンテンツデータのデコード開始時刻及び転送開始時刻が遅延される。その結果、下階層にある端末装置ほど遅延時間が累積し、コンテンツデータのデコード開始時刻が遅くなる。   Therefore, in each of the terminal devices 311 to 333, the content data decoding start time and transfer start time are delayed by the time from the start of content data reception until a predetermined amount of packets are accumulated. As a result, the delay time is accumulated in the terminal devices in the lower hierarchy, and the decoding start time of the content data is delayed.

そこで、本実施例の端末装置2では、新たな端末装置の接続要求を受けた際に各階層におけるコンテンツデータのデコード開始時刻を考慮して接続先を決定する。例えば、接続を希望する端末装置が端末装置2に接続要求を送信すると、接続要求を受けた端末装置2では各階層における遅延時間を考慮し、コンテンツデータの先頭パケットから受信できる階層であって、且つデコード開始までの待ち時間が短い階層に接続先を決定する。   Therefore, in the terminal device 2 of this embodiment, when a connection request for a new terminal device is received, the connection destination is determined in consideration of the decoding start time of the content data in each layer. For example, when a terminal device that desires connection transmits a connection request to the terminal device 2, the terminal device 2 that receives the connection request considers the delay time in each layer, and is a layer that can be received from the first packet of content data, In addition, a connection destination is determined in a hierarchy having a short waiting time until the start of decoding.

このようにして、本実施例では、端末装置2の指示に基づき通信システム1のツリー構造を構成していく。尚ここでは、端末装置2が好適な接続先の階層を決定する場合を示したが、これに限らず、接続を希望する端末装置が所望の階層を決定しても良いものとする。   In this way, in the present embodiment, the tree structure of the communication system 1 is configured based on the instruction from the terminal device 2. Although the case where the terminal device 2 determines a suitable connection destination hierarchy is shown here, the present invention is not limited to this, and a terminal device that desires connection may determine a desired hierarchy.

また、端末装置2では、例えば各回線における通信速度から一定量のバッファを確保するまでに掛かる時間を算出し、各階層の遅延時間を予測する等の方法で好適な接続先を探すが、各階層の遅延時間を把握して好適な接続先を探す方法であればこれに限らない。従って、本実施例では、新たな端末装置を接続する際に各階層におけるコンテンツデータのデコード開始時刻を考慮することで好適な接続先を見つけることが出来る。   In the terminal device 2, for example, the time required to secure a certain amount of buffer from the communication speed on each line is calculated, and a suitable connection destination is searched by a method such as predicting the delay time of each layer. The method is not limited to this as long as it is a method for finding a suitable connection destination by grasping the delay time of the hierarchy. Therefore, in the present embodiment, it is possible to find a suitable connection destination by considering the decoding start time of content data in each layer when connecting a new terminal device.

次に、図2、図3を参照しながら本実施例の端末装置2及び端末装置311〜333の構成を説明する。図2は、端末装置2の構成を示す図である。端末装置2は、例えば、ネットワーク通信部201、HDD202、MPU(Micro Processing Uint)203、RAM(Random Access Memory)204、およびROM(Read Only Memory)205等を備えている。   Next, the configuration of the terminal device 2 and the terminal devices 311 to 333 according to the present embodiment will be described with reference to FIGS. FIG. 2 is a diagram illustrating a configuration of the terminal device 2. The terminal device 2 includes, for example, a network communication unit 201, a HDD 202, an MPU (Micro Processing Unit) 203, a RAM (Random Access Memory) 204, a ROM (Read Only Memory) 205, and the like.

ネットワーク通信部201は、ネットワークを介してコンテンツデータの配信要求を受け、当該コンテンツデータを1階層下の端末装置311〜313に送信する。また、ネットワーク通信部201はパケット再送要求を受け、当該要求で指定されたパケットを再送する。   The network communication unit 201 receives a distribution request for content data via the network, and transmits the content data to the terminal devices 311 to 313 one level below. Also, the network communication unit 201 receives the packet retransmission request and retransmits the packet specified by the request.

MPU203は、ROM204に記憶されているプログラムに従い、各種機能を動作させるコマンドを出力する。また、MPU204は装置全体の動作制御を行う。RAM205は、電気信号の読み込み及び書き込みを行い、MPU203に作業エリアを提供する主メモリとして利用される。   The MPU 203 outputs commands for operating various functions in accordance with programs stored in the ROM 204. The MPU 204 controls the operation of the entire apparatus. The RAM 205 is used as a main memory that reads and writes electrical signals and provides a work area to the MPU 203.

ROM204は、MPU203が実行する各種プログラムを格納している。ROM204には、例えばコンテンツデータを複製する複製部250、デコード時刻算出部251等がある。尚、複製部250はコンテンツデータ配信要求に応じてHDD202内のコンテンツデータを複製し、コンテンツデータの複製を生成する。デコード時刻算出部251は、新たな端末装置を接続する際、各回線における通信速度から各端末装置におけるコンテンツデータのデコード開始予測時刻を算出する。   The ROM 204 stores various programs executed by the MPU 203. The ROM 204 includes, for example, a duplication unit 250 that duplicates content data, a decode time calculation unit 251, and the like. Note that the duplication unit 250 duplicates the content data in the HDD 202 in response to the content data distribution request, and generates a copy of the content data. When a new terminal device is connected, the decode time calculation unit 251 calculates a predicted decode start time of content data in each terminal device from the communication speed in each line.

また、本実施例における端末装置2では、コンテンツデータのストリーミング配信を受ける各端末装置のアドレスを記録しているものとする。
図3は、端末装置311〜333の構成を示す図である。尚、ここでは説明を簡略化するため第1階層の端末装置311の構成についてのみ示すが、本実施例における端末装置311〜333は全て同様の構成を備えるものとする。端末装置311は、例えばネットワーク通信部341、MPU342、RAM343、ROM344、およびデコーダ345等を備えている。
Further, it is assumed that the terminal device 2 in the present embodiment records the address of each terminal device that receives streaming distribution of content data.
FIG. 3 is a diagram illustrating a configuration of the terminal devices 311 to 333. Here, for simplification of description, only the configuration of the terminal device 311 in the first layer is shown, but the terminal devices 311 to 333 in the present embodiment all have the same configuration. The terminal device 311 includes, for example, a network communication unit 341, an MPU 342, a RAM 343, a ROM 344, a decoder 345, and the like.

ネットワーク通信部341は、ネットワークを介して1階層上にある通信装置(端末装置2)からコンテンツデータを受信する。そして、ネットワーク通信部341は、1階層下にある通信装置(端末装置321〜323)に受信したコンテンツデータを送信する。また、ネットワーク通信部341は、パケット再送要求の送受信および当該パケット再送要求に対応したパケットの送受信を行う。   The network communication unit 341 receives content data from a communication device (terminal device 2) that is one layer above the network. Then, the network communication unit 341 transmits the received content data to the communication devices (terminal devices 321 to 323) that are one layer below. The network communication unit 341 transmits / receives a packet retransmission request and transmits / receives a packet corresponding to the packet retransmission request.

MPU342は、ROM344に記憶されているプログラムに従って各種機能を動作させるコマンドを出力する。また、MPU342は装置全体の動作制御を行う。RAM343は電気信号の読み込み及び書き込みを行い、MPU342に作業エリアを提供する主メモリとして利用される。また、RAM343は、ネットワーク通信部341で受信するコンテンツデータをバッファリングし、デコーダ345の処理速度と通信速度との速度差を調整する。   The MPU 342 outputs commands for operating various functions according to programs stored in the ROM 344. The MPU 342 controls the operation of the entire apparatus. The RAM 343 reads and writes electrical signals and is used as a main memory that provides a work area to the MPU 342. Further, the RAM 343 buffers content data received by the network communication unit 341 and adjusts the speed difference between the processing speed of the decoder 345 and the communication speed.

ROM344は、MPU342が実行する各種プログラムを格納している。ROM344には、例えば、コンテンツデータを複製する複製部350、パケットロスを検知するパケットロス検知部351、ダミーパケットを生成するダミーパケット生成部352等がある。   The ROM 344 stores various programs executed by the MPU 342. The ROM 344 includes, for example, a duplication unit 350 that duplicates content data, a packet loss detection unit 351 that detects packet loss, a dummy packet generation unit 352 that generates dummy packets, and the like.

尚、複製部350は、1階層下に論理接続される端末装置の台数に応じてコンテンツデータの複製を生成する。パケットロス検知部351は、例えばコンテンツデータをパケットごとに受信する過程で各パケットのRTPヘッダに書き込まれたシーケンス番号を確認し、パケットロスを検知する。ダミーパケット生成部352は、パケットロスによって生じるパケット間のギャップを埋めるダミーパケットを生成する。ダミーパケットの実装については図7及び図9を参照しながら後述する。   Note that the duplicating unit 350 creates a duplication of the content data according to the number of terminal devices logically connected one level below. The packet loss detection unit 351 checks the sequence number written in the RTP header of each packet, for example, in the process of receiving content data for each packet, and detects packet loss. The dummy packet generation unit 352 generates a dummy packet that fills a gap between packets caused by packet loss. The implementation of the dummy packet will be described later with reference to FIGS.

デコーダ345は、RAM343でバッファリングしたコンテンツデータをデコードして表示装置等の出力デバイス400に出力する。
本実施例の端末装置311〜333では、RAM343からデコーダ345にバッファリングしたデータを送る際、複製部350で生成したコンテンツデータの複製を1階層下にある端末装置に其々送信する。また、本実施例における端末装置311〜333ではデコードを終えたパケットを一時保持した後で順次削除していくため、コンテンツデータを格納するHDD202等の記録媒体を必要としない。以下に、図4を参照しながら、本実施例におけるコンテンツデータの配信方法について説明する。
The decoder 345 decodes the content data buffered by the RAM 343 and outputs it to the output device 400 such as a display device.
In the terminal devices 311 to 333 according to the present embodiment, when the buffered data is transmitted from the RAM 343 to the decoder 345, the copy of the content data generated by the copy unit 350 is transmitted to the terminal device one layer below. Further, since the terminal devices 311 to 333 in the present embodiment temporarily delete the decoded packets and then sequentially delete them, a recording medium such as the HDD 202 for storing content data is not required. The content data distribution method in the present embodiment will be described below with reference to FIG.

図4は、本実施例におけるコンテンツデータの配信方法を示す図である。ここでは、例えば第0階層にある端末装置2から配信されたコンテンツデータが第3階層にある端末装置331〜333まで流れていく場合を示す。   FIG. 4 is a diagram illustrating a content data distribution method according to the present embodiment. Here, for example, a case is shown where content data distributed from the terminal device 2 in the 0th hierarchy flows to the terminal devices 331 to 333 in the 3rd hierarchy.

本実施例の端末装置2では、コンテンツデータの配信要求を受けると、当該コンテンツデータの複製を複数の部分データに分割し、これらの部分データを複数のパケットに其々格納して配信する。この時、配信先でコンテンツデータを復元できるように、各パケットにはシーケンス番号が其々書き込まれる。   When receiving the content data distribution request, the terminal device 2 according to the present embodiment divides the copy of the content data into a plurality of partial data, and stores the partial data in a plurality of packets for distribution. At this time, a sequence number is written in each packet so that the content data can be restored at the delivery destination.

例えば本実施例では、コンテンツデータの先頭に位置する部分データを格納するパケットには「1」のシーケンス番号を書き込み、次に続く部分データを格納するパケットには「2」のシーケンス番号を書き込む。このように各パケットには、格納する部分データが割り当てられるコンテンツデータにおける位置を示すシーケンス番号が書き込まれる。   For example, in this embodiment, a sequence number of “1” is written in a packet that stores partial data located at the beginning of content data, and a sequence number of “2” is written in a packet that stores subsequent partial data. Thus, in each packet, a sequence number indicating a position in content data to which partial data to be stored is assigned is written.

従って、本実施例の端末装置では、シーケンス番号の順にパケットを配信することで、配信先の端末装置においてコンテンツデータをストリーミングでデコードさせることができる。また、コンテンツデータの配信を受ける各端末装置では、受信した各パケットのシーケンス番号を参照することでパケットロスを検知することができる。   Therefore, in the terminal device of the present embodiment, the content data can be decoded by streaming in the distribution destination terminal device by distributing the packets in the order of the sequence numbers. In addition, each terminal device that receives distribution of content data can detect a packet loss by referring to the sequence number of each received packet.

ここでは、端末装置2から配信されるコンテンツデータを第0層に位置するパケットの集合体で示し、各端末装置311〜333にバッファリングされるコンテンツデータの複製を第1〜3階層に其々位置するパケットの集合体で示す。   Here, the content data distributed from the terminal device 2 is shown as an aggregate of packets located in the 0th layer, and a copy of the content data buffered in each of the terminal devices 311 to 333 is shown in the 1st to 3rd layers, respectively. Shown by a collection of located packets.

まず、第0階層の端末装置2がコンテンツデータの配信要求を受けると、端末装置2は、当該コンテンツデータの複製を生成して第1階層にある端末装置311〜313に送信する。尚、本実施例ではコンテンツデータの複製はパケット単位で送信される。   First, when the terminal device 2 in the 0th layer receives the content data distribution request, the terminal device 2 generates a copy of the content data and transmits it to the terminal devices 311 to 313 in the 1st layer. In this embodiment, the copy of the content data is transmitted in units of packets.

端末装置311〜313では受信したパケットを其々のRAM343に一時的に保存する。この時、端末装置311は第2階層にある端末装置の台数に応じてパケットの複製を生成する。   The terminal devices 311 to 313 temporarily store the received packets in the respective RAMs 343. At this time, the terminal device 311 generates a copy of the packet according to the number of terminal devices in the second hierarchy.

RAM343に受信したパケットが一定量蓄積されると、端末装置311〜313は、当該パケットをRAM343からデコーダ345に転送してデコードし、出力デバイス400でデコードされたコンテンツデータを視聴できるようにする。また、同時に、端末装置311は生成したパケットの複製を第2階層にある端末装置321〜端末装置323に送信する。以下、各階層における端末装置では、上述の処理を繰り返してコンテンツデータの配信を行う。   When a certain amount of received packets are accumulated in the RAM 343, the terminal devices 311 to 313 transfer the packets from the RAM 343 to the decoder 345 and decode them, so that the content data decoded by the output device 400 can be viewed. At the same time, the terminal device 311 transmits a copy of the generated packet to the terminal devices 321 to 323 in the second layer. Hereinafter, the terminal device in each layer distributes the content data by repeating the above-described processing.

本実施例ではRAM343に蓄積するパケットを一定のペースでデコーダ345に転送する。また、デコーダ345への転送に伴ってパケットの複製を1階層下の端末装置に送信する。これにより、下階層の端末装置へコンテンツデータを配信するタイミングも一定のペースに保たれて各端末装置間のコンテンツデータのストリーミング配信を平滑化することができる。   In this embodiment, packets stored in the RAM 343 are transferred to the decoder 345 at a constant pace. In addition, a packet copy is transmitted to the terminal device one layer lower along with the transfer to the decoder 345. As a result, the distribution timing of the content data to the lower-level terminal devices is also kept at a constant pace, and the streaming distribution of the content data between the terminal devices can be smoothed.

ここで、コンテンツデータのストリーミング配信では、通信量が各装置の処理能力を超えた場合等にパケットロスが発生する。通信システム1のようなシステムでは、このパケットロスに対して何ら対策を取らなければ、コンテンツデータが下階層に転送されていくほどパケットロスが累積し、下階層の端末装置であるほどコンテンツの画質・音質が劣化する。このパケットロスの累積を回避するため、本実施例ではパケットロス検知後に図5及び図6に示す手順に従って処理を行う。   Here, in streaming distribution of content data, packet loss occurs when the amount of communication exceeds the processing capability of each device. In a system such as the communication system 1, if no countermeasure is taken against this packet loss, the packet loss is accumulated as the content data is transferred to the lower layer, and the image quality of the content is increased as the terminal device is in the lower layer.・ Sound quality deteriorates. In order to avoid this accumulation of packet loss, in this embodiment, processing is performed according to the procedure shown in FIGS. 5 and 6 after detection of packet loss.

以下、図5及び図6を参照して本実施例の端末装置におけるパケットロス検知後の処理の流れを説明する。尚、ここでは説明を簡略化するために第0階層の端末装置2、第1階層の端末装置311、第2階層の端末装置321、及び第3階層の端末装置331の各端末装置におけるコンテンツデータ配信の流れを一例として示している。そして、ここでは端末装置2から端末装置311に送信されたコンテンツデータの中で、シーケンス番号3のパケットが消失する場合を想定する。   Hereinafter, with reference to FIG. 5 and FIG. 6, the flow of processing after packet loss detection in the terminal device of the present embodiment will be described. Here, in order to simplify the description, the content data in the terminal devices of the 0th layer terminal device 2, the 1st layer terminal device 311, the 2nd layer terminal device 321, and the 3rd layer terminal device 331 The flow of distribution is shown as an example. Here, it is assumed that the packet with the sequence number 3 is lost in the content data transmitted from the terminal device 2 to the terminal device 311.

図5は、シーケンス番号3のパケットを端末装置321へストリーミングで送信する順番となるまでの時間に再送パケットを受信できた場合の流れを示し、図6は、シーケンス番号3のパケットを端末装置321へストリーミングで送信する順番となるまでの時間に再送パケットを受信できなかった場合の流れを示す。   FIG. 5 shows a flow in the case where a retransmission packet can be received in a time until it becomes an order of streaming the packet of sequence number 3 to the terminal device 321, and FIG. 6 shows the packet of sequence number 3 as the terminal device 321. The flow when the retransmission packet cannot be received in the time until the transmission order becomes the streaming is shown.

端末装置2ではコンテンツデータの配信要求を受け、コンテンツデータの配信を開始する。端末装置311は、受信したパケットのバッファリングを行って一定量蓄積したパケットをデコーダに送る。端末装置311〜331では、例えば6パケットの蓄積に伴い、当該データを次の配信先に転送するものとする。   The terminal device 2 receives the content data distribution request and starts distributing the content data. The terminal device 311 performs buffering of the received packet and sends a certain amount of accumulated packets to the decoder. For example, the terminal devices 311 to 331 transfer the data to the next delivery destination as 6 packets are accumulated.

つまり、端末装置311〜331では、シーケンス番号1〜6までのパケットを順次受信してバッファリングした後、シーケンス番号7のパケットの受信に伴い、シーケンス番号1のパケットから下階層の端末装置へのストリーミング転送を開始する。   That is, the terminal devices 311 to 331 sequentially receive and buffer the packets of sequence numbers 1 to 6 and then receive the packet of sequence number 7 from the packet of sequence number 1 to the lower layer terminal device. Start streaming transfer.

端末装置2から端末装置311にコンテンツデータを配信する過程において、例えばシーケンス番号3のパケットロスを検出した場合、端末装置311は、端末装置2にシーケンス番号3のパケットの再送要求を送信すると共に、パケット間のギャップを補充するためシーケンス番号3のダミーパケットを生成する。   In the process of distributing content data from the terminal device 2 to the terminal device 311, for example, when a packet loss of sequence number 3 is detected, the terminal device 311 transmits a retransmission request for the packet of sequence number 3 to the terminal device 2, A dummy packet of sequence number 3 is generated to fill the gap between packets.

ここで図5に示すように、シーケンス番号3のパケットを端末装置321へストリーミングで送信する順番となるまでの時間に再送パケットを受信できれば、端末装置311は生成しているシーケンス番号3のダミーパケットを削除し、代わりに再送されたパケットを補充する。   Here, as shown in FIG. 5, if the retransmission packet can be received in the time until the packet of sequence number 3 is streamed to the terminal device 321, the terminal device 311 generates the dummy packet of sequence number 3. And replace the retransmitted packet instead.

しかし、図6に示すように、シーケンス番号3のパケットを端末装置321へストリーミングで送信する順番となるまでの時間に再送パケットを受信できなければ、端末装置311は、生成しているシーケンス番号3のダミーパケットが補充されたコンテンツデータを端末装置321に配信する。その後、再送されたシーケンス番号3のパケットを受信すると、端末装置311は、当該パケットを優先的に端末装置321に転送する。   However, as shown in FIG. 6, if the retransmission packet cannot be received in the time until the packet of sequence number 3 is streamed to the terminal device 321, the terminal device 311 generates the generated sequence number 3. The content data supplemented with the dummy packet is distributed to the terminal device 321. After that, when the retransmitted packet with the sequence number 3 is received, the terminal device 311 preferentially transfers the packet to the terminal device 321.

例えば端末装置321では、シーケンス番号3のパケットを端末装置331へ送信する順番となるまでの時間に再送されたパケットを受信できた場合、当該再送されたパケットと同一のシーケンス番号をもつダミーパケットを削除し、代わりに再送されたパケットを補充する。   For example, in the terminal device 321, when a packet retransmitted in the time until the packet in sequence number 3 is transmitted to the terminal device 331 can be received, a dummy packet having the same sequence number as the retransmitted packet is received. Delete and replace the retransmitted packet instead.

このように、本実施例では再送されたパケットを優先して転送する。再送されたパケットは、各端末装置でバッファリングしながら転送されるコンテンツデータよりも速く転送されるため、先に送信されたコンテンツデータに追いつくことができる。これにより、たとえ上階層の端末装置で間に合わなくても、下階層の端末装置でコンテンツデータに追いついてパケットロスが生じた部分を補充できる。従って、本実施例では、P2Pによるストリーミング配信において、パケットロスの累積を回避する仕組みを実現できる。   Thus, in this embodiment, the retransmitted packet is preferentially transferred. Since the retransmitted packet is transferred faster than the content data transferred while buffering in each terminal device, it can catch up with the content data transmitted earlier. As a result, even if the terminal device in the upper hierarchy does not make it in time, the terminal device in the lower hierarchy can catch up with the content data and supplement the portion where the packet loss has occurred. Therefore, in the present embodiment, it is possible to realize a mechanism for avoiding accumulation of packet loss in streaming delivery by P2P.

また、仮にパケットロスが生じた部分を補充しない状態でコンテンツデータが転送された場合、転送先の端末装置で新たなパケット再送要求が送信される。その結果、ネットワークのトラフィックが増加して輻輳状態となる可能性がある。   Also, if the content data is transferred without supplementing the portion where the packet loss has occurred, a new packet retransmission request is transmitted at the transfer destination terminal device. As a result, there is a possibility that the traffic on the network increases and becomes congested.

本実施例では、コンテンツデータを受信した端末装置がパケットロスを検知する度、パケットロスが生じた部分を逐次補充して次の端末装置に転送することで、下階層から新たなパケット再送要求が送信されることを回避できる。   In this embodiment, each time a terminal device that receives content data detects a packet loss, a new packet retransmission request is received from the lower layer by sequentially replenishing the portion where the packet loss has occurred and transferring it to the next terminal device. It is possible to avoid being transmitted.

また、本実施例ではデコードを終えたコンテンツデータを一時保持した後で削除するため、第2階層以下の階層の端末装置では、パケット再送要求を送信しても上階層の端末装置で所望のパケットが削除されて再送を受けられない可能性がある。この場合、パケットロスを検知した端末装置では、端末装置2または同一階層にある他の端末装置にパケット再送要求を送信することができるものとする。   In addition, in this embodiment, since the decoded content data is temporarily stored and then deleted, the terminal device in the second layer or lower layer can receive the desired packet in the upper layer terminal device even if the packet retransmission request is transmitted. May be deleted and not retransmitted. In this case, it is assumed that the terminal device that has detected the packet loss can transmit a packet retransmission request to the terminal device 2 or another terminal device in the same hierarchy.

尚、本実施例では、コンテンツデータのストリーミング配信を受ける端末装置は、ネットワーク接続を行う際に端末装置2または上階層の他の端末装置から自装置が位置する階層、および端末装置2や上階層・同一階層にある他の端末装置のアドレス等の情報を取得しているものとする。   In the present embodiment, the terminal device that receives the streaming distribution of the content data has a hierarchy in which the terminal device 2 is located from the terminal device 2 or another terminal device in the upper hierarchy, and the terminal device 2 or the upper hierarchy. -It is assumed that information such as addresses of other terminal devices in the same hierarchy has been acquired.

次に、図7乃至図9を参照して本実施例のダミーパケットの実装方法について説明する。図7は、本実施例におけるRTPの構成例を示す。本実施例では、端末装置間で送受信するパケットが、例えば装置を識別するIP(Internet Protocol)アドレスと、UDPで使われる制御情報が格納されるUDPヘッダと、RTPで使われる制御情報が格納されるRTPヘッダと、部分データが格納されるRTPペイロードとにより構成される。   Next, a dummy packet mounting method of this embodiment will be described with reference to FIGS. FIG. 7 shows a configuration example of RTP in this embodiment. In this embodiment, a packet transmitted and received between terminal devices stores, for example, an IP (Internet Protocol) address for identifying the device, a UDP header in which control information used in UDP is stored, and control information used in RTP. RTP header and RTP payload in which partial data is stored.

本実施例のRTPヘッダ700には、例えば現在のRTPのバージョン(V;version)、パディング(P;padding)、エクステンション(X;extension)、CSRC数(CC;contributing source count)、マーカ(M;marker)、ペイロードタイプ(PT;payload type)、シーケンス番号(sequence number)、タイムスタンプ(timestamp)、及びSSRC(synchronization source)等のデータが書き込まれる。   The RTP header 700 of this embodiment includes, for example, the current RTP version (V; version), padding (P; padding), extension (X; extension), the number of CSRCs (CC; contributing source count), a marker (M; Marker, payload type (PT), sequence number, time stamp, SSRC (synchronization source) and other data are written.

パディングは、RTPペイロードの最後にパディングがあるか否かを示す。尚ここでは、RTPペイロードの最後にパディングがある場合に「1」の値が書き込まれる。   Padding indicates whether there is padding at the end of the RTP payload. Here, a value of “1” is written when there is padding at the end of the RTP payload.

エクステンションは、RTP拡張ヘッダを利用しているか否かを示す。尚ここでは、RTP拡張ヘッダを利用する場合に「1」の値が書き込まれる。
CSRC数は、途中にミキサやトランスレータが入ることで複数RTPストリームがマージされた場合、マージされた情報源の数を示す。
マーカは、RTPストリームの重要なイベントに印をつけるために使用される。このビットの利用方法は利用するRTPプロファイルやRTPペイロードフォーマットによって決まる。
The extension indicates whether an RTP extension header is used. Here, a value of “1” is written when the RTP extension header is used.
The number of CSRCs indicates the number of merged information sources when a plurality of RTP streams are merged by entering a mixer or a translator in the middle.
Markers are used to mark important events in the RTP stream. The method of using this bit depends on the RTP profile and RTP payload format used.

シーケンス番号は、RTPパケットが送信される度にインクリメントされ、パケットロスの検知等に利用される。
本実施例ではパケットロスを検出した際、RTPヘッダ700に図8に示す拡張ヘッダ800を追加してダミーパケットを生成する。図8は、RTPヘッダ700に追加する拡張ヘッダ800の一例である。図9は、本実施例におけるダミーパケットの構成例を示す。尚、本実施例では、ダミーパケットは通常のパケットより短くなるように実装してネットワークのトラフィックを少なくする。例えば本実施例ではRTPの拡張ヘッダを利用してペイロードのサイズをゼロとする。
The sequence number is incremented every time an RTP packet is transmitted, and is used for detecting a packet loss.
In this embodiment, when a packet loss is detected, an extension header 800 shown in FIG. 8 is added to the RTP header 700 to generate a dummy packet. FIG. 8 is an example of an extension header 800 added to the RTP header 700. FIG. 9 shows a configuration example of a dummy packet in the present embodiment. In the present embodiment, the dummy packet is mounted so as to be shorter than a normal packet to reduce network traffic. For example, in this embodiment, the payload size is set to zero using an RTP extension header.

RTPヘッダ700に追加する拡張ヘッダ800は、データが書き込まれる領域811、領域812、領域813、及び領域814の各領域に分けられる。各領域は其々2バイト(16ビット)のデータ長を持つ。   The extension header 800 added to the RTP header 700 is divided into areas 811, 812, 813, and 814 in which data is written. Each area has a data length of 2 bytes (16 bits).

領域811には、例えば当該パケットがダミーパケットであることが判別できるようにダミーパケットを示す特定の値が書き込まれる。領域812には、ペイロードのサイズが書き込まれる。本実施例では、ダミーパケットのペイロードサイズをゼロとしているため、ここでは「0」の値が書き込まれる。   In the area 811, for example, a specific value indicating a dummy packet is written so that it can be determined that the packet is a dummy packet. In the area 812, the size of the payload is written. In this embodiment, since the payload size of the dummy packet is zero, a value of “0” is written here.

領域813には、消失したパケットのシーケンス番号が書き込まれる。また、パケットロスが連続して発生した場合は、当該連続するパケットロスの中で初めに消失した先頭パケットのシーケンス番号が書き込まれる。領域814には、パケットロスが連続して発生した場合に、そのとき消失したパケットの数が書き込まれる。パケットロスが連続しない場合、領域814には「1」の値が書き込まれる。   In the area 813, the sequence number of the lost packet is written. Further, when packet loss occurs continuously, the sequence number of the first packet lost first in the continuous packet loss is written. In the area 814, the number of lost packets at the time when packet loss occurs continuously is written. When packet loss is not continuous, a value of “1” is written in the area 814.

通常、パケットロスが発生する度に消失したシーケンス番号に対応するダミーパケットを其々生成するが、例えばパケットロスが連続して発生した場合は、各番号に対応するダミーパケットを其々生成して、其々パケット間のギャップを補充するよりも1つのダミーパケットでギャップを一括して補充した方が通信量を少なくできる。   Normally, each time a packet loss occurs, a dummy packet corresponding to the lost sequence number is generated. For example, when packet loss occurs continuously, a dummy packet corresponding to each number is generated. The amount of communication can be reduced by replenishing the gaps collectively with one dummy packet rather than replenishing the gaps between the packets.

そこで、本実施例ではパケットロスが連続して発生した場合、当該連続するパケットロスの中で初めに消失した先頭パケットのシーケンス番号が書き込まれた領域813と連続して消失したパケットの数が書き込まれた領域814を参照して、パケット間のギャップを一括して補充できるダミーパケットを生成する。   Therefore, in this embodiment, when packet loss occurs continuously, the number of packets continuously lost is written in the area 813 in which the sequence number of the first packet lost first in the continuous packet loss is written. Referring to the area 814, a dummy packet that can replenish gaps between the packets at once is generated.

次に、図10乃至図11を参照して各端末装置311〜333におけるコンテンツデータ転送処理の流れを説明する。図10は、端末装置311におけるコンテンツデータ転送処理の手順を示すフローチャートである。尚、ここでは説明を簡略化するため端末装置2、端末装置311、端末装置321、及び端末装置331の各端末装置におけるコンテンツデータ配信の流れを一例として示している。また、ここでは端末装置311の処理を中心に示すが、本実施例における各端末装置は其々同様の処理を行うものとする。   Next, the flow of content data transfer processing in each of the terminal devices 311 to 333 will be described with reference to FIGS. FIG. 10 is a flowchart illustrating a procedure of content data transfer processing in the terminal device 311. In order to simplify the description, the flow of content data distribution in each terminal device of the terminal device 2, the terminal device 311, the terminal device 321, and the terminal device 331 is shown as an example. Here, although the processing of the terminal device 311 is mainly shown, each terminal device in the present embodiment is assumed to perform the same processing.

端末装置2からパケットを受信すると(S1001)、端末装置311のMPU342は、受信したパケットが再送されたパケットであるか否か確認する(S1002)。受信したパケットが再送されたパケットであれば(S1002のYes)、端末装置311のMPU342は、再送されたパケットのシーケンス番号を確認し、このシーケンス番号が現在RAM343にバッファリングされた各パケットの其々のシーケンス番号の中で最も小さいシーケンス番号よりも小さい値であるか否か、即ち、この再送されたパケットが端末装置311においてストリーミングでデコードされる予定の時刻に間に合ったか否か確認する(S1003)。   When receiving a packet from the terminal device 2 (S1001), the MPU 342 of the terminal device 311 confirms whether or not the received packet is a retransmitted packet (S1002). If the received packet is a retransmitted packet (Yes in S1002), the MPU 342 of the terminal device 311 confirms the sequence number of the retransmitted packet, and this sequence number is the number of each packet currently buffered in the RAM 343. It is confirmed whether or not the value is smaller than the smallest sequence number among the sequence numbers, that is, whether or not the retransmitted packet is in time for the time scheduled to be decoded by the terminal device 311 (S1003). ).

再送されたパケットのシーケンス番号が、現在RAM343にバッファリングされた各パケットの其々のシーケンス番号の中で最も小さいシーケンス番号よりも小さい値である場合、即ち、この再送されたパケットが端末装置311においてストリーミングでデコードされる予定の時間に間に合わなかった場合(S1003のYes)、端末装置311のMPU342は、この再送されたパケットをバッファリングすることなく優先的に端末装置321に送信する(S1010)。   When the sequence number of the retransmitted packet is a value smaller than the smallest sequence number among the respective sequence numbers of each packet currently buffered in the RAM 343, that is, this retransmitted packet is the terminal device 311. In step S1010, the MPU 342 of the terminal device 311 preferentially transmits the retransmitted packet to the terminal device 321 without buffering (S1010). .

S1003の処理で、再送されたパケットのシーケンス番号が現在RAM343にバッファリングされた各パケットの其々のシーケンス番号の中で最も小さいシーケンス番号よりも大きい値である場合、即ち、この再送されたパケットが端末装置311においてストリーミングでデコードされる予定の時間に間に合った場合(S1003のNo)、端末装置311のMPU342は、再送されたパケットと同一のシーケンス番号を有するダミーパケットをRAM343から削除し、代わりに当該再送されたパケットをRAM343にバッファ記録する(S1004)。   When the sequence number of the retransmitted packet is larger than the smallest sequence number among the respective sequence numbers buffered in the RAM 343 in the processing of S1003, that is, the retransmitted packet Is in time for the terminal device 311 to be decoded by streaming (No in S1003), the MPU 342 of the terminal device 311 deletes the dummy packet having the same sequence number as the retransmitted packet from the RAM 343, and instead The retransmitted packet is buffer-recorded in the RAM 343 (S1004).

S1002で受信したパケットが再送されたパケットでなければ(S1002のNo)、端末装置311のMPU342は、このパケットのRTPヘッダに書き込まれたシーケンス番号を確認し、パケットロスを検知する(S1005)。   If the packet received in S1002 is not a retransmitted packet (No in S1002), the MPU 342 of the terminal device 311 confirms the sequence number written in the RTP header of this packet, and detects packet loss (S1005).

パケットロスを検知した場合(S1005のYes)、端末装置311のMPU342は、端末装置2に消失したパケットのシーケンス番号を含むパケット再送要求を送信する(S1006)。また、端末装置311のMPU342は、パケットロスが生じた部分を補充するため、パケットロスを検出したシーケンス番号のダミーパケットを生成し(S1006)、RAM343にバッファ記録する(S1008)。   When the packet loss is detected (Yes in S1005), the MPU 342 of the terminal device 311 transmits a packet retransmission request including the sequence number of the lost packet to the terminal device 2 (S1006). Further, the MPU 342 of the terminal device 311 generates a dummy packet having a sequence number in which the packet loss is detected in order to supplement the portion where the packet loss has occurred (S1006), and records the buffer in the RAM 343 (S1008).

S1004でパケットロスを検出しない場合(S1002のNo)、端末装置311のMPU342は、受信したパケットをバッファ記録する(S1008)。この時、端末装置311のMPU342は、1階層下に接続された端末装置の台数に応じてパケットの複製を生成しておく。   When packet loss is not detected in S1004 (No in S1002), the MPU 342 of the terminal device 311 records the received packet in a buffer (S1008). At this time, the MPU 342 of the terminal device 311 generates a copy of the packet according to the number of terminal devices connected one layer below.

S1007の処理を行うと、端末装置311のMPU342はRAM343に一定量のパケットが蓄積したか否か確認する(S1009)。一定量のパケットが蓄積していなければ(S1008のNo)、端末装置311のMPU342はS1001に処理を戻す。   When the processing of S1007 is performed, the MPU 342 of the terminal device 311 confirms whether a certain amount of packets have accumulated in the RAM 343 (S1009). If a certain amount of packets are not accumulated (No in S1008), the MPU 342 of the terminal device 311 returns the process to S1001.

一定量のパケットが蓄積していれば(S1009のYes)、端末装置311のMPU342は、RAM343から最も小さいシーケンス番号を有するパケットを読み出してデコーダ345に転送すると共に、当該パケットの複製を下階層の端末装置321に送信する(S1010)。   If a certain amount of packets have accumulated (Yes in S1009), the MPU 342 of the terminal device 311 reads out the packet having the smallest sequence number from the RAM 343, transfers it to the decoder 345, and copies the packet to the lower layer. It transmits to the terminal device 321 (S1010).

次に、端末装置311のMPU342は、コンテンツデータのデコードが完了したか否か確認する(S1011)。コンテンツデータのデコードが完了していなければ(S1011のNo)、端末装置311のMPU342は処理をS1001に戻す。コンテンツデータのデコードが完了すれば(S1011のYes)、端末装置311のMPU342は処理を終了する。   Next, the MPU 342 of the terminal device 311 confirms whether or not the content data has been decoded (S1011). If the decoding of the content data has not been completed (No in S1011), the MPU 342 of the terminal device 311 returns the process to S1001. If the decoding of the content data is completed (Yes in S1011), the MPU 342 of the terminal device 311 ends the process.

また、本実施例の端末装置では、同一階層または下階層からのパケット再送要求に応じてパケットロスした部分のパケットを再送する機能を有する。次に、図11を参照しながら本実施例におけるパケット再送の流れについて説明する。図11は端末装置311におけるパケット再送の流れを示すフローチャートである。ここでは、例えばパケット再送要求を端末装置311が受信した場合を想定する。尚、ここでは説明を簡略化するため第1階層の端末装置311の処理についてのみ示すが、本実施例における端末装置は全て端末装置311と同様の処理を行うものとする。   Further, the terminal device according to the present embodiment has a function of retransmitting a packet of a packet loss portion in response to a packet retransmission request from the same layer or a lower layer. Next, the flow of packet retransmission in this embodiment will be described with reference to FIG. FIG. 11 is a flowchart showing a flow of packet retransmission in the terminal device 311. Here, for example, it is assumed that the terminal device 311 receives a packet retransmission request. Here, for simplification of explanation, only the processing of the terminal device 311 in the first layer is shown, but all the terminal devices in the present embodiment perform the same processing as the terminal device 311.

端末装置311ではコンテンツデータを端末装置321〜323に転送する過程で、同一階層の端末装置312および端末装置313、または下階層の端末装置321〜333からパケット再送要求を受信したか否か確認する(S1101)。パケット再送要求を受信しない場合(S1101のNo)、端末装置311のMPU342はS1101の処理を繰り返して待機する。   In the process of transferring the content data to the terminal devices 321 to 323, the terminal device 311 confirms whether or not a packet retransmission request has been received from the terminal devices 312 and 313 in the same layer or the terminal devices 321 to 333 in the lower layer. (S1101). When the packet retransmission request is not received (No in S1101), the MPU 342 of the terminal device 311 repeats the process of S1101 and stands by.

S1101でパケット再送要求を受信した場合(S1101のYes)、端末装置311のMPU342は、パケット再送要求の信号に含まれる消失したパケットのシーケンス番号を参照し、RAM343内に該当するシーケンス番号のパケットがあるか否か確認する(S1102)。RAM343内に該当するシーケンス番号のパケットが存在しない場合(S1102のNo)、端末装置131のMPU342は、パケット再送要求を送信した下階層の端末装置に該当するシーケンス番号のパケットが存在しない旨の通知を送信し(S1105)、処理をS1101に戻す。   When the packet retransmission request is received in S1101 (Yes in S1101), the MPU 342 of the terminal device 311 refers to the sequence number of the lost packet included in the packet retransmission request signal, and the packet with the corresponding sequence number is stored in the RAM 343. It is confirmed whether or not there is (S1102). When there is no packet with the corresponding sequence number in the RAM 343 (No in S1102), the MPU 342 of the terminal device 131 notifies that there is no packet with the corresponding sequence number in the lower layer terminal device that transmitted the packet retransmission request. Is transmitted (S1105), and the process returns to S1101.

S1102の処理でRAM343に該当するシーケンス番号のパケットが存在する場合(S1102のYes)、端末装置311のMPU342は、当該シーケンス番号のパケットをRAM343から読み出して複製を生成し(S1104)、パケット再送要求を送信した下階層の端末装置321〜323に送信する(S1105)。   If there is a packet with a sequence number corresponding to the RAM 343 in the processing of S1102 (Yes in S1102), the MPU 342 of the terminal device 311 reads out the packet with the sequence number from the RAM 343, generates a duplicate (S1104), and requests a packet retransmission Is transmitted to the lower-layer terminal devices 321 to 323 that have transmitted (S1105).

次に、端末装置311のMPU342は、コンテンツデータのデコードが完了したか否か確認する(S1106)。コンテンツデータのデコードが完了していなければ(S1106のNo)、端末装置311のMPU342は処理をS1001に戻す。コンテンツデータのデコードが完了すれば(S1106のYes)、端末装置311のMPU342は処理を終了する。   Next, the MPU 342 of the terminal device 311 confirms whether or not the content data has been decoded (S1106). If the decoding of the content data has not been completed (No in S1106), the MPU 342 of the terminal device 311 returns the process to S1001. If the decoding of the content data is completed (Yes in S1106), the MPU 342 of the terminal device 311 ends the process.

以上説明したように、本実施例によれば、P2Pによるストリーミング配信において、パケットロスの累積を回避する仕組みを実現できる。
本実施例によれば、パケットの再送が間に合わない場合にダミーパケットでパケット間のギャップを補充してコンテンツデータ転送するため、下階層から新たなパケット再送要求が送信されることを回避できる。それにより、ネットワークの輻輳を回避してデータ配信できる通信装置を提供できる。
As described above, according to the present embodiment, it is possible to realize a mechanism for avoiding accumulation of packet loss in streaming delivery by P2P.
According to this embodiment, when packet retransmission is not in time, a gap between packets is supplemented with a dummy packet and content data is transferred, so that a new packet retransmission request can be avoided from being transmitted from the lower layer. Accordingly, it is possible to provide a communication device that can distribute data while avoiding network congestion.

本実施例の端末装置では、配信されたコンテンツデータをデコードした後にデータを消去するため、HDD等の大容量記録媒体を備える必要が無い。また、コンテンツデータを再生する端末装置のみが配信対象となるため、ネットワーク帯域が削減できる。   In the terminal device of the present embodiment, the data is erased after the distributed content data is decoded, and therefore it is not necessary to provide a large-capacity recording medium such as an HDD. Further, since only the terminal device that reproduces the content data is targeted for distribution, the network bandwidth can be reduced.

本実施例では、パケット再送要求を上階層および同一階層の他の端末装置に送信できる。それにより、端末装置間でパケットロスの対応処理が実行できる。
本実施例では、一定量のバッファを確保した後でデコードするため、出力デバイスでコンテンツを視聴する際に、映像・音声における揺らぎや歪み等のジッタの発生を回避できる。また、本実施例では、デコーダへの転送に伴ってパケットの複製を1階層下の端末装置に送信する。これにより、下階層の端末装置へコンテンツデータを配信するタイミングも一定のペースに保たれて各端末装置間のデータ通信を平滑化することができる。
In the present embodiment, a packet retransmission request can be transmitted to other terminal devices in the upper layer and the same layer. Thereby, the packet loss handling process can be executed between the terminal devices.
In this embodiment, since decoding is performed after a certain amount of buffer is secured, occurrence of jitter such as fluctuation and distortion in video / audio can be avoided when viewing content on the output device. Further, in this embodiment, a copy of the packet is transmitted to the terminal device one layer lower along with the transfer to the decoder. Thereby, the timing which distributes content data to the terminal device of a lower hierarchy is also maintained at a fixed pace, and the data communication between each terminal device can be smoothed.

本実施例ではパケットロスが連続して発生した場合、当該連続するパケットロスの中で初めに消失した先頭パケットのシーケンス番号とロスパケット数を参照して、パケット間のギャップを一括して補充するダミーパケットを生成することができる。   In this embodiment, when packet losses occur continuously, the gap between packets is replenished at once by referring to the sequence number of the first packet lost and the number of lost packets in the continuous packet loss. A dummy packet can be generated.

本実施例では新たな端末装置を接続する際、各階層におけるコンテンツの再生開始時刻を考慮して好適な接続先を決定することができる。
本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
In this embodiment, when a new terminal device is connected, a suitable connection destination can be determined in consideration of the content reproduction start time in each layer.
The present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine a component suitably in different embodiment.

本発明の実施例に係る通信システムの構成を示す図。The figure which shows the structure of the communication system which concerns on the Example of this invention. 本発明の実施例に係るコンテンツデータを配信する端末装置2の構成を示す図。The figure which shows the structure of the terminal device 2 which distributes the content data based on the Example of this invention. 本発明の実施例に係る端末装置311の構成を示す図。The figure which shows the structure of the terminal device 311 which concerns on the Example of this invention. 本実施例に係るコンテンツデータの配信方法を示す図。The figure which shows the delivery method of the content data based on a present Example. 本発明の実施例に係るパケットロス検知後の処理の流れを示す図。The figure which shows the flow of the process after the packet loss detection which concerns on the Example of this invention. 本発明の実施例に係るパケットロス検知後の処理の流れを示す図。The figure which shows the flow of the process after the packet loss detection which concerns on the Example of this invention. 本発明の実施例に係るRTPヘッダの構成例を示す図。The figure which shows the structural example of the RTP header which concerns on the Example of this invention. 本発明の実施例に係るRTPヘッダに追加する拡張ヘッダの一例を示す図。The figure which shows an example of the extension header added to the RTP header which concerns on the Example of this invention. 本実施例におけるダミーパケットの構成例を示す図。The figure which shows the structural example of the dummy packet in a present Example. 本発明の実施例に係る端末装置におけるコンテンツデータ転送の処理手順を示すフローチャート。The flowchart which shows the process sequence of the content data transfer in the terminal device which concerns on the Example of this invention. 本発明の実施例に係る端末装置におけるパケット再送の流れを示すフローチャート。The flowchart which shows the flow of the packet resending in the terminal device which concerns on the Example of this invention.

符号の説明Explanation of symbols

1・・・通信システム
2、311、312、313、321、322、323、331、332、333・・・端末装置
201、341・・・ネットワーク通信部
202・・・HDD
203、342・・・MPU
204、343・・・ROM
205、344・・・RAM
250、350・・・複製部
345・・・デコーダ
351・・・パケットロス検知部
352・・・ダミーパケット生成部
400・・・出力デバイス
700・・・RTPヘッダ
800・・・拡張ヘッダ
811、812、813、814・・・拡張ヘッダ内のデータ書込み領域
DESCRIPTION OF SYMBOLS 1 ... Communication system 2, 311, 312, 313, 321, 322, 323, 331, 332, 333 ... Terminal device 201, 341 ... Network communication part 202 ... HDD
203, 342... MPU
204, 343 ... ROM
205, 344 ... RAM
250, 350 ... duplication unit 345 ... decoder 351 ... packet loss detection unit 352 ... dummy packet generation unit 400 ... output device 700 ... RTP header 800 ... extension headers 811 and 812 , 813, 814... Data writing area in the extension header

Claims (7)

第1の外部装置からコンテンツデータをストリーミングで受信すると共に、受信したコンテンツデータを第2の外部装置にストリーミングで送信する通信装置であって、
前記第1の外部装置から、前記コンテンツデータを格納するパケットを受信する受信手段と、
前記受信手段で受信した前記コンテンツデータをバッファリングするバッファリング手段と、
前記受信手段で受信するパケットのパケットロスを検知する検知手段と、
前記コンテンツデータ中のパケットロスが生じた部分を補充するための補充パケットを生成する補充パケット生成手段と、
前記バッファリング手段でバッファリングする前記コンテンツデータを前記第2の外部装置にパケットとして順次送信すると共に、前記検知手段によるパケットロスの検知に伴い、前記第1の外部装置にパケットの再送要求を送信する送信手段と
を備え、
前記送信手段は、前記コンテンツデータのパケットロスが生じた部分の前記第2の外部装置への送信前に前記受信手段で該パケットロス部分の再送パケットを受信すれば当該再送パケットを前記第2の外部装置へ送信し、前記コンテンツデータのパケットロスが生じた部分の前記第2の外部装置への送信前に該パケットロス部分の再送パケットを受信できなければ、前記補充パケット生成手段が生成した補充パケットを前記第2の外部装置へ送信し、その後、前記第1の外部装置から受信した再送パケットを送信すること
を特徴とする通信装置。
A communication device that receives content data from a first external device by streaming and transmits the received content data to a second external device by streaming,
Receiving means for receiving a packet storing the content data from the first external device;
Buffering means for buffering the content data received by the receiving means;
Detecting means for detecting a packet loss of a packet received by the receiving means;
Replenishment packet generation means for generating a replenishment packet for replenishing a portion of the content data where a packet loss has occurred;
The content data to be buffered by the buffering means is sequentially transmitted as a packet to the second external device, and a packet retransmission request is transmitted to the first external device when the packet loss is detected by the detecting means. Transmission means for
The transmission means receives the retransmission packet of the packet loss portion by the reception means before transmission to the second external device of the portion where the packet loss of the content data has occurred. The replenishment packet generated by the replenishment packet generator means if the retransmitted packet of the packet loss part cannot be received before the transmission to the second external device of the part where the packet loss of the content data has occurred. A communication apparatus that transmits a packet to the second external apparatus, and then transmits a retransmission packet received from the first external apparatus.
前記送信手段は、前記検知手段による前記パケットロスの検知に伴い、前記第1の外部装置から前記コンテンツデータを受信する第3の外部装置にパケット再送要求を送信することを特徴とする請求項1記載の通信装置。   The transmission unit transmits a packet retransmission request to a third external device that receives the content data from the first external device in accordance with the detection of the packet loss by the detection unit. The communication device described. 前記受信手段は、前記第2の外部装置からのパケット再送要求を受信し、
前記送信手段は、前記受信手段で受信した前記パケット再送要求で指定されたパケットを前記第2の外部装置へ送信する
ことを特徴とする請求項2記載の通信装置。
The receiving means receives a packet retransmission request from the second external device;
3. The communication apparatus according to claim 2, wherein the transmission unit transmits the packet designated by the packet retransmission request received by the reception unit to the second external device.
前記補充パケット生成手段は、パケットロスが連続して発生した場合、当該パケットロスが連続して生じた部分を一括して補充する補充パケットを生成する
ことを特徴とする請求項3記載の通信装置。
4. The communication apparatus according to claim 3, wherein when the packet loss occurs continuously, the supplement packet generation unit generates a supplement packet that replenishes a portion where the packet loss continuously occurs. .
前記コンテンツデータを格納する記録装置を更に具備し、
前記送信手段は、コンテンツデータ配信要求に応じて前記記録装置に格納された前記コンテンツデータを前記第2の外部装置に送信する
ことを特徴とする請求項4記載の通信装置。
A recording device for storing the content data;
5. The communication device according to claim 4, wherein the transmission unit transmits the content data stored in the recording device to the second external device in response to a content data distribution request.
前記コンテンツデータの受信先情報から新たに接続を希望する外部装置の接続先装置を決定する接続先決定手段を更に具備し、
前記送信手段は、前記新たに接続を希望する外部装置からの接続要求に応じて前記接続先決定手段で決定する接続先装置のアドレスを、前記新たに接続を希望する外部装置へ送信する
ことを特徴とする請求項5記載の通信装置。
Further comprising a connection destination determination means for determining a connection destination device of an external device to which a new connection is desired from the reception destination information of the content data,
The transmission means transmits the address of the connection destination device determined by the connection destination determination means in response to a connection request from the external device that desires a new connection to the external device that desires a new connection. The communication device according to claim 5, wherein:
前記接続先決定手段は、前記受信先情報として現在ネットワーク接続している各外部装置の前記コンテンツデータ再生開始予測時刻から前記新たに接続を希望する外部装置の接続先装置を決定すること
を特徴とする請求項6記載の通信装置。
The connection destination determining means determines the connection destination device of the external device to which the connection is newly desired from the predicted content data reproduction start time of each external device currently connected to the network as the reception destination information. The communication device according to claim 6.
JP2008048652A 2008-02-28 2008-02-28 Communications device Pending JP2009206998A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008048652A JP2009206998A (en) 2008-02-28 2008-02-28 Communications device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008048652A JP2009206998A (en) 2008-02-28 2008-02-28 Communications device

Publications (1)

Publication Number Publication Date
JP2009206998A true JP2009206998A (en) 2009-09-10

Family

ID=41148799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008048652A Pending JP2009206998A (en) 2008-02-28 2008-02-28 Communications device

Country Status (1)

Country Link
JP (1) JP2009206998A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013118576A (en) * 2011-12-05 2013-06-13 Oki Electric Ind Co Ltd Communication system, device and program
KR20150075132A (en) * 2013-12-24 2015-07-03 주식회사 케이티 Apparatus and method for transmitting network packet, and device for receiving network packet

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013118576A (en) * 2011-12-05 2013-06-13 Oki Electric Ind Co Ltd Communication system, device and program
KR20150075132A (en) * 2013-12-24 2015-07-03 주식회사 케이티 Apparatus and method for transmitting network packet, and device for receiving network packet
KR102140679B1 (en) 2013-12-24 2020-08-04 주식회사 케이티 Apparatus and method for transmitting network packet, and device for receiving network packet

Similar Documents

Publication Publication Date Title
JP4405875B2 (en) Method and apparatus for generating data for error correction, generation program, and computer-readable recording medium storing the program
JP5141197B2 (en) Encoder
US9781028B2 (en) Transcoding and dynamic error correction for content centric networks using a proxy server
JP4936542B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMPUTER PROGRAM
JP5084362B2 (en) Data transmission apparatus and data transmission / reception system
MXPA05013618A (en) Retry strategies for use in a streaming environment.
CN101098209A (en) FEC encoding method, FEC decoding method, and FEC decoding apparatus
JP2010016722A (en) Stream communicating equipment, method, and system
US20110187926A1 (en) Apparatus and method for correcting jitter
JP2007300498A (en) Repeating apparatus and repeating method
US8127196B2 (en) Server and client for determining error restoration according to image data transmission, and method of determining error restoration according to image data transmission
US9184928B2 (en) Communications terminal, communications method, and program and integrated circuit for controlling a reproduction delay time in distributing a stream
JP2007110395A (en) Stream data transfer apparatus, stream data transfer method, and program and recording medium used for them
JP2009206998A (en) Communications device
JP2008193500A (en) Data transmitter and data repeater
JP2008131599A (en) Cast transmission apparatus and cast transmission method
JP2010034898A (en) Data transmission apparatus and data transmission method
JP2005065100A (en) Data distribution method, repeating system, and computer program
JP2005348015A (en) Real time streaming data receiver
JP5592235B2 (en) Multicast pre-delivery method, system, and apparatus
JP6875474B2 (en) Communication system and communication method
JP2006319463A (en) Packet transmitting method and packet receiving device
JP4496987B2 (en) Content transmission server, system, and server program
JP5262536B2 (en) Content distribution system, distribution device, reproduction device, distribution method, reproduction method, and program
KR100677125B1 (en) Streaming method using negotiation of sending delay time