JP6804164B2 - Content distribution system - Google Patents
Content distribution system Download PDFInfo
- Publication number
- JP6804164B2 JP6804164B2 JP2019033181A JP2019033181A JP6804164B2 JP 6804164 B2 JP6804164 B2 JP 6804164B2 JP 2019033181 A JP2019033181 A JP 2019033181A JP 2019033181 A JP2019033181 A JP 2019033181A JP 6804164 B2 JP6804164 B2 JP 6804164B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- udp
- file
- video
- moving image
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
この発明は、テレビ放送等の動画コンテンツをマルチキャスト配信するコンテンツ配信システムに関する。 The present invention relates to a content distribution system that multicasts video content such as television broadcasting.
通信ネットワークを使用してテレビ放送を配信するテレビ放送配信サービス等、種々の動画配信サービスが提供されている。テレビ放送は多くの視聴者が同時に視聴を行うのでマルチキャスト送信を利用することが好ましい(特許文献1および特許文献2)。ところで、インターネットにおいては、上位プロトコルとしてHTTPを使用することが多く、HTTPに準拠して、動画を送信する、動画配信サービスが提供されている(例えば、米国アップル社のHTTP Live Streaming)。このような動画配信サービスでは、複数の動画セグメントファイルをプレイリスト情報を参照して配信している。しかしながら、HTTPに準拠した動画配信サービスをマルチキャスト送信により実現しようとする場合、コネクションレスのUDPを用いるため、通信ロスが生じやすく、セグメントファイル単位で再生ロスの原因となる。通常のデジタルテレビ放送の場合、MPEG2−TSパケット単位(188バイト固定長)での情報ロスになり、映像中に横方向に太さ16ドットの筋状のノイズが、0.5秒程度あらわれる程度であるけれども、IPマルチキャストのUDPパケットに起因して、セグメントファイル単位で情報ロスが生じると、数秒〜数十秒の間、映像が停止してしまう。
Various video distribution services are provided, such as a television broadcast distribution service that distributes television broadcasts using a communication network. Since many viewers watch television broadcasts at the same time, it is preferable to use multicast transmission (
上述の従来技術やその問題点は、この発明の背景の一部を説明するためにのみ説明している。この発明は上述の従来技術や問題点に限定されるものではない点に留意されたい。 The above-mentioned prior art and its problems are described only for the purpose of explaining a part of the background of the present invention. It should be noted that the present invention is not limited to the above-mentioned prior art and problems.
この発明は、以上の事情を考慮してなされたものであり、HTTPに準拠して動画を配信する場合に、IPマルチキャスト通信を用い、さらに、再生ロスを可及的に減少させるコンテンツ配信技術を提供することを目的としている。 The present invention has been made in consideration of the above circumstances, and is a content distribution technology that uses IP multicast communication and further reduces playback loss as much as possible when distributing a moving image in accordance with HTTP. It is intended to be provided.
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。 According to the present invention, in order to achieve the above-mentioned object, the configuration as described in the claims is adopted. Here, prior to explaining the invention in detail, the description of the scope of claims will be supplementarily explained.
この発明の一側面によれば、上述の目的を達成するために、通信ネットワークに接続可能な動画コンテンツ処理装置を:複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取るUDPパケット受信手段と;上記UDPパケット受信手段が受け取ったUDPパケットから上記動画ファイルに再構築する動画ファイル再構築手段と;上記動画ファイル再構築手段が再構築した上記動画ファイルを上記通信ネットワークを介してユーザ端末にHTTPに準拠して送信する送信手段とを含んで構成し;上記動画ファイル再構築手段は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築するようにしている。 According to one aspect of the present invention, in order to achieve the above object, a video content processing device that can be connected to a communication network: a UDP packet that decomposes a video file containing a plurality of TS packets and is transmitted by IP multicast. The UDP packet receiving means for receiving the above; the video file reconstructing means for reconstructing the UDP packet received by the UDP packet receiving means into the video file; the video file reconstructed by the video file reconstructing means for the communication net. It is configured to include a transmission means for transmitting to the user terminal via the work in accordance with HTTP; the video file reconstructing means receives at least one UDP packet out of a plurality of UDP packets corresponding to the video file. If it is not received, the moving image file is reconstructed in a manner containing only a complete TS packet.
また、この発明の他の側面によれば、上述の目的を達成するために、通信ネットワークに接続可能なユーザ端末を:複数のTSパケットを含む動画ファイルを再生する再生手段と;複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取るUDPパケット受信手段と;上記UDPパケット受信手段が受け取ったUDPパケットから上記動画ファイルに再構築してHTTPに準拠して上記再生手段に供給する動画ファイル再構築手段とを含んで構成し;上記動画ファイル再構築手段は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築するようにしている。 Further, according to another aspect of the present invention, in order to achieve the above object, a user terminal that can connect to a communication network: a playback means for playing a moving image file containing a plurality of TS packets; and a plurality of TS packets. With a UDP packet receiving means that decomposes a video file containing the above and receives a UDP packet transmitted by IP multicast; the UDP packet received by the UDP packet receiving means is reconstructed into the video file and reproduced in accordance with HTTP. It is configured to include a video file rebuilding means to be supplied to the means; the video file rebuilding means is complete if it does not receive at least one UDP packet out of a plurality of UDP packets corresponding to the video file. The moving image file is reconstructed so as to include only the TS packet.
また、この発明の他の側面によれば、上述の目的を達成するために、コンピュータプログラムが、通信ネットワークに接続可能なユーザ端末を:複数のTSパケットを含む動画ファイルを再生する再生手段;複数のTSパケットを含む動画ファイルを分解してマルチキャスト送信されてくるUDPパケットを受け取るUDPパケット受信手段;上記UDPパケット受信手段が受け取ったUDPパケットから上記動画ファイルを再構築してHTTPに準拠して上記再生手段に供給する動画ファイル再構築手段として実現させるために使用され;上記動画ファイル再構築手段は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築するようになっている。 Further, according to another aspect of the present invention, in order to achieve the above object, a computer program uses a user terminal that can connect to a communication network: a playback means for playing a moving image file containing a plurality of TS packets; UDP packet receiving means that decomposes the moving image file including the TS packet of the above and receives the UDP packet transmitted by multicast; the above moving image file is reconstructed from the UDP packet received by the above UDP packet receiving means and the above is compliant with HTTP. It is used to realize as a video file reconstructing means to be supplied to the playback means; the video file restructuring means does not receive at least one UDP packet among the plurality of UDP packets corresponding to the video file. The moving image file is reconstructed so as to include only a complete TS packet.
また、この発明の他の側面によれば、上述の目的を達成するために、コンピュータプログラムが、通信ネットワークに接続可能な動画コンテンツ処理装置を:複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取るUDPパケット受信手段;上記UDPパケット受信手段が受け取ったUDPパケットから上記動画ファイルに再構築する動画ファイル再構築手段;上記動画ファイル再構築手段が再構築した上記動画ファイルを上記通信ネットワークを介してユーザ端末にHTTPに準拠して送信する送信手段として実現させるために使用され;上記動画ファイル再構築手段は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築するようになっている。 Further, according to another aspect of the present invention, in order to achieve the above-mentioned object, a computer program uses a video content processing device that can be connected to a communication network: a video file containing a plurality of TS packets is decomposed into IP. UDP packet receiving means for receiving the UDP packet transmitted by multicast; video file reconstructing means for reconstructing the UDP packet received by the UDP packet receiving means into the video file; the video reconstructed by the video file reconstructing means used files in order to achieve a transmission means for transmitting in conformity with HTTP to the user terminal via the communication network; the video file reconstruction means, among a plurality of UDP packets corresponding to the video file When at least one UDP packet is not received, the moving image file is reconstructed in a manner including only a complete TS packet.
この構成において、上記受け取られなかったUDPパケットに対応する部分にTSパケットのヌルパケットを用いて完全なTSパケットのみを含む態様で上記動画ファイルを再構築して良い。 In this configuration, the moving image file may be reconstructed in such a manner that the null packet of the TS packet is used in the portion corresponding to the UDP packet that has not been received and only the complete TS packet is included.
この構成において、上記第1の処理装置は、いずれのTSパケットも2つの前後するUDPパケットに跨って分割されないようにして良い。 In this configuration, the first processing device may prevent any TS packet from being divided across two preceding and following UDP packets.
また、この構成において、上記第1の処理装置から送信される上記UDPパケットは、完全な複数のTSパケットとパッド部とを含み、上記第2の処理装置は、受け取ったUDPパケットに含まれる完全な複数のTSパケットから上記動画ファイルを再構築する請求項6記載の動画コンテンツ処理装置。
Further, in this configuration, the UDP packet transmitted from the first processing device includes a complete plurality of TS packets and a pad unit, and the second processing device includes a complete UDP packet included in the received UDP packet. The video content processing device according to
また、この構成において、上記動画ファイルは、HTTP Live Streaming(米国アップル社の商標)、MPEG−DASH(ISO/IEC23009−1)、HTTP Dynamic Streaming(米国Adobe Systems社の商標)、または、Smooth Streaming(米国Microsoft社の商標)のHTTPストリーミング手法により送信されて良い。 Further, in this configuration, the above-mentioned moving image file is HTTP Live Streaming (trademark of Apple Inc., USA), MPEG-DASH (ISO / IEC23009-1), HTTP Dynamic Streaming (trademark of Adobe Systems, Inc., USA), or Smart Streaming (Microsoft, USA). It may be transmitted by the HTTP streaming method (trademark of Microsoft Corporation, USA).
さらに、ここで説明する技術的特徴についてまとめておく。ここで説明する技術的特徴の一側面によれば、上述の目的を達成するために、動画コンテンツ配信システムを:複数のTSパケットを含む動画ファイルをUDPパケットに分解してIPマルチキャスト送信する第1の処理装置と;上記第1の処理装置からIPマルチキャスト送信されてくるUDPパケットを受け取って動画ファイルに再構築してユーザ端末にHTTPに準拠して送信する第2の処理装置とを含んで構成し;上記第2の処理装置は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築するようにしている。 Furthermore, the technical features described here will be summarized. According to one aspect of the technical features described here, in order to achieve the above objectives, a video content distribution system: a video file containing a plurality of TS packets is decomposed into UDP packets and IP multicast is transmitted. And a second processing device that receives the UDP packet transmitted by IP multicast from the first processing device, reconstructs it into a moving image file, and transmits it to the user terminal in accordance with HTTP. However, when the second processing device does not receive at least one UDP packet among the plurality of UDP packets corresponding to the moving image file, the second processing device reconstructs the moving image file in a manner including only a complete TS packet. I am doing it.
TSパケットは、トランスポートストリームを構成するパケット(トランスポートストリームパケット)であり、典型的には、MPEG2−TS(Moving Picture Experts Group 2 Transport Stream)の規格に規定されるMPEG−2 TSパケットであるけれども、これに限定されない。
The TS packet is a packet (transport stream packet) that constitutes a transport stream, and is typically an MPEG-2 TS packet defined in the MPEG2-TS (Moving Picture
動画ファイルは、映像データおよび音声データを含んで良く、典型的には、HTTP Live Streaming(米国アップル社)、MPEG−DASH(ISO/IEC23009−1)、HTTP Dynamic Streaming(米国Adobe Systems社)、Smooth Streaming(米国Microsoft社)等のHTTPストリーミング手法で送信する動画ファイル(セグメントファイル)であって良い。 The moving image file may include video data and audio data, and typically includes HTTP Live Streaming (Apple, USA), MPEG-DASH (ISO / IEC23009-1), HTTP Dynamic Streaming (Adapted Systems, USA), Smooth. It may be a moving image file (segment file) transmitted by an HTTP streaming method such as Streaming (Microsoft, USA).
この構成において、上記受け取られなかったUDPパケットに対応する部分にTSパケットのヌルパケット(NULLパケット)を用いて完全なTSパケットのみを含む態様で上記動画ファイルを再構築してよい。 In this configuration, the moving image file may be reconstructed in a manner in which only a complete TS packet is included by using a null packet (Null packet) of the TS packet in the portion corresponding to the UDP packet that has not been received.
ヌルパケット(NULLパケット)は、パケットの内容が無効であることを示すものであり、ヘッダを含むすべてのビットが「1」である。ヌルパケットに代えて、動画を再生する際に、パケットの内容が利用できないことを示すパケット、または再生側でそのように解釈できるように構成されている場合には、そのような特定のパケットを採用して良い。、また、MPEG−2 TSパケットのヘッダのトランスポートエラーインジケータフラグを「1」にセットしたパケットでもよい。 A null packet (Null packet) indicates that the content of the packet is invalid, and all bits including the header are "1". Instead of a null packet, when playing a video, a packet indicating that the contents of the packet are not available, or if the playback side is configured to do so, such a particular packet. You may adopt it. Alternatively, the packet may have the transport error indicator flag set in the header of the MPEG-2 TS packet set to "1".
また、上記第1の処理装置は、いずれのTSパケットも2つの前後するUDPパケットに跨って分割されないようにしてよい。 In addition, the first processing device may prevent any TS packet from being divided across two previous and subsequent UDP packets.
この場合、上記第1の処理装置から送信される上記UDPパケットは、完全な複数のTSパケットとパッド部とを含んで良く、上記第2の処理装置は、受け取ったUDPパケットに含まれる完全な複数のTSパケットから上記動画ファイルを再構築してよい。 In this case, the UDP packet transmitted from the first processing device may include a complete plurality of TS packets and a pad unit, and the second processing device includes the complete UDP packet included in the received UDP packet. The above moving image file may be reconstructed from a plurality of TS packets.
また、上記第1の処理装置は、動画サーバから、複数のTSパケットを含む動画ファイルをHTTPに準拠して受け取り、上記動画ファイルをUDPパケットに分解してマルチキャスト送信してよい。 In addition, the first processing device may receive a moving image file including a plurality of TS packets from the moving image server in accordance with HTTP, decompose the moving image file into UDP packets, and transmit it by multicast.
また、ここで説明する技術的特徴の他の側面によれば、上述の目的を達成するために、複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取って上記動画ファイルに再構築する処理装置は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築する。 Further, according to another aspect of the technical features described here, in order to achieve the above-mentioned object, the video file containing a plurality of TS packets is decomposed and the UDP packet transmitted by IP multicast is received and described above. When the processing device that reconstructs the video file does not receive at least one UDP packet among the plurality of UDP packets corresponding to the video file, the processing device reconstructs the video file in a manner including only a complete TS packet. ..
また、ここで説明する技術的特徴の他の側面によれば、上述の目的を達成するために、複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取って上記動画ファイルに再構築して再生するユーザ端末は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築する。 Further, according to another aspect of the technical features described here, in order to achieve the above-mentioned object, a moving image file containing a plurality of TS packets is decomposed and an UDP packet transmitted by IP multicast is received and described above. When the user terminal that reconstructs the video file and plays it back does not receive at least one UDP packet among the plurality of UDP packets corresponding to the video file, the user terminal displays the video file in a manner including only a complete TS packet. Rebuild.
また、ここで説明する技術的特徴の他の側面によれば、上述の目的を達成するために、コンピュータプログラムが、通信ネットワークに接続可能なユーザ端末を:複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取る手段と;上記受け取ったUDPパケットから上記動画ファイルを再構築する手段と;再構築された上記動画ファイルを再生する手段として実現させ、再構築する手段は、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、完全なTSパケットのみを含む態様で上記動画ファイルを再構築する。 Also, according to another aspect of the technical features described herein, in order to achieve the above objectives, a computer program decomposes a video file containing multiple TS packets into a user terminal that can connect to a communication network. As a means for receiving the UDP packet transmitted by IP multicast; a means for reconstructing the video file from the received UDP packet; and a means for realizing and reconstructing the reconstructed video file. Reconstructs the video file in a manner including only a complete TS packet when it does not receive at least one UDP packet among the plurality of UDP packets corresponding to the video file.
また、ここで説明する技術的特徴の他の側面によれば、動画コンテンツ配信システムに:HTTPサーバから受信した複数のTSパケットを含む動画ファイルをUDPパケットに分解してIPマルチキャスト送信する第1の処理装置と;上記第1の処理装置からIPマルチキャスト送信されてくるUDPパケットを受け取って動画ファイルに再構築してユーザ端末にHTTPに準拠して送信する第2の処理装置とを設けるようにしている。 Further, according to another aspect of the technical features described here, to the video content distribution system: a first method of decomposing a video file containing a plurality of TS packets received from an HTTP server into UDP packets and performing IP multicast transmission. A processing device and a second processing device that receives the UDP packet transmitted by IP multicast from the first processing device, reconstructs it into a moving image file, and transmits it to the user terminal in accordance with HTTP. There is.
また、ここで説明する技術的特徴のさらに他の側面によれば、動画配信システムに:複数のTSパケットを含む動画ファイルをUDPパケットに分解してIPマルチキャスト送信する第1の処理装置と;上記第1の処理装置からIPマルチキャスト送信されてくるUDPパケットを受け取って動画ファイルに再構築してユーザ端末にHTTPに準拠して送信する第2の処理装置とを設け;上記第2の処理装置は、HTTPヘッダに対応するUDPパケットを受け取らない場合に、クライアント装置から、当該UDPパケットを含む動画ファイルを送信するようにHTTP要求を受けたときに、コンテンツ長がゼロであることを示すHTTP応答を返すようにしている。 Further, according to still another aspect of the technical features described herein, the video distribution system: a first processing device that decomposes a video file containing a plurality of TS packets into UDP packets and transmits them by IP multicast; A second processing device that receives the UDP packet transmitted by IP multicast from the first processing device, reconstructs it into a moving image file, and transmits it to the user terminal in accordance with HTTP is provided; the second processing device is described above. , When an HTTP request is received from a client device to send a video file containing the UDP packet when the UDP packet corresponding to the HTTP header is not received, an HTTP response indicating that the content length is zero is sent. I am trying to return it.
動画ファイルのHTTPヘッダの部分がUDPパケットの損失で正確に記述されない場合などでは、再生がフリーズする等の問題があるけれども、この構成では、当該動画ファイルの再生がスキップされて、後続の動画ファイルが適宜に再生可能になる。 If the HTTP header part of the video file is not described correctly due to the loss of the UDP packet, there is a problem such as the playback freezes, but in this configuration, the playback of the video file is skipped and the subsequent video file Becomes playable as appropriate.
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。 It should be noted that the present invention can be realized not only as an apparatus or a system but also as a method. In addition, it goes without saying that a part of such an invention can be configured as software. It is also natural that the software products used to execute such software on a computer are also included in the technical scope of the present invention.
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。 The above-mentioned aspects and other aspects of the present invention are described in the claims and will be described in detail with reference to the following examples.
以下、この発明の実施例について説明する。 Hereinafter, examples of the present invention will be described.
図1は、この発明の動画コンテンツ配信システムの1実施例を示しており、この図において、動画コンテンツ配信システム100は、HTTP配信サーバ200、ファイルパケット化装置300、ファイル再構築装置400、コンテンツ配信ネットワーク500、UDP非対応端末装置600、およびUDP対応端末装置700等を含んで構成されている。ファイル再構築装置400は、後述するように、ファイルパケット化装置300からIPマルチキャストでUDPパケットを受け取るものであり、典型的には複数設けられる。UDP非対応端末装置600およびUDP対応端末装置700も図では1つしか示されないけれども典型的には複数個設けられる。UDP非対応端末装置600は、位置情報等に基づいてどのファイル再構築装置400にアクセスするかを決定できる。
FIG. 1 shows one embodiment of the video content distribution system of the present invention. In this figure, the video
コンテンツ配信ネットワーク500は、ユニキャスト通信のほか、マルチキャスト通信を効率よく実現できるネットワークである。コンテンツ配信ネットワーク500は、マルチキャスト通信を効率よく実現するために専用のネットワークサービスを利用することが好ましいが、これに限定されない。
The
HTTP配信サーバ200は、動画コンテンツ例えばテレビ放送コンテンツのファイルをHTTPを利用して配信する。このHTTP配信サーバ200は、HTTPに準拠してファイルをクライアントに送信して動画コンテンツ配信を行うものであり、例えば、米国アップル社のHLS(HTTP Live Streaming)システムであり、HTTPに準拠したWebサーバで実現可能である。この例では、HTTP配信サーバ200は図示しない通信ネットワークに接続されているけれども、コンテンツ配信ネットワーク500に接続されても良い。また、UDP非対応端末装置600等は、慣用的な態様と同様に、HTTP配信サーバ200からIPユニキャストで動画コンテンツ配信サービスを利用してよい。
The
HTTPに準拠した動画配信サービスは、図9に示すような、プレイリストファイル(例えばm3u8ファイル)および1または複数の動画セグメントファイル(MPEG2−TSセグメントファイル)を用意する。図9の例では、マスターインデックスファイルを用いて解像度の異なる複数(2つ)の代替プレイリストを選択できるようになっている。プレイリストが1つだけであてもよい。代替プレイリスト(プレイリスト)は書き換えられて繰り返し送信されて良い。プレイリストを参照して動画セグメントファイルを順次に取り出すことができる。 The HTTP-compliant video distribution service prepares a playlist file (for example, m3u8 file) and one or more video segment files (MPEG2-TS segment file) as shown in FIG. In the example of FIG. 9, a plurality (two) alternative playlists having different resolutions can be selected by using the master index file. There may be only one playlist. The alternative playlist (playlist) may be rewritten and repeatedly transmitted. Video segment files can be retrieved in sequence by referring to the playlist.
HTTP配信サーバ200は、図10に示す従来のHTTP手順と同様に、HTTPクライアントであるファイルパケット化装置300からのプレイリスト要求(マスターインデックス、代替プレイリストの要求)に基づいてマスターインデックスファイル、代替プレイリストファイル(以下、単にプレイリストと呼ぶことがある)をファイルパケット化装置300に返す。そののち、HTTP配信サーバ200は、ファイルパケット化装置300からのセグメント要求に応じて順次に動画セグメントファイルを返す。動画セグメントファイルは例えばMPEG2−TSパケットを含んで構成される。
The
ファイルパケット化装置300は、HTTP配信サーバ200のクライアントとして動画配信サービスのプレイリストファイルおよび動画セグメントファイルを受け取り、これらのファイルをUDPパケットに分割して所定のマルチキャストグループでIPマルチキャスト送信する。ファイルパケット化装置300は、図3に示すように、HTTPクライアント処理部301、記憶部302、パケット化部303、および送信部304を含んで構成される。
The
ファイルパケット化装置300のHTTPクライアント処理部301は、HTTP配信サーバ200からプレイリストファイルおよび動画セグメントファイルを受信する。図4の(a)欄は、HTTPクライアント処理部301が受信した動画セグメントファイルの例を示す。記憶部302は、受信したファイルを記憶する。パケット化部303は、HTTPクライアント処理部301が受信したファイルをUDPパケットに分解する。図4の(b)欄は、図4の(a)欄の動画セグメントファイルをUDPパケットに分解したものである。図4の(a)欄の動画セグメントファイルは典型的には数秒から数十秒の長さのデータであるが、これに限定されない。図4の(b)欄のUDPパケットは、パケット化ヘッダ、HTTPヘッダ、ペイロードを含み、パケットヘッダは、(c)欄に示すように、ヘッダサイズ(header_size)、ストリーム識別子(stream_id)、開始フラグ(start_flag)、総合サイズ(total_size)、ペイロードサイズ(payload_size)、およびペイロードオフセット(payload_offset)を含む。ヘッダサイズ(header_size)は、パケット化ヘッダおよびHTTPヘッダの合計サイズを示し、ストリーム識別子(stream_id)は、当該UDPパケットがどのファイルに所属するかを示す識別子であり、開始フラグ(start_flag)は、先頭のUDPパケットであることを示すフラグであり、総合サイズ(total_size)は、ファイルの総バイト数を示し、ペイロードサイズ(payload_size)は、当該UDPパケットで送られるファイル部分のバイト数を示し、ペイロードオフセット(payload_offset)は、当該UDPパケットで送られるファイル部分の開始位置を示す。その他、前方誤り訂正符号(FEC)等を含んでよい。UDPパケットは典型的にはイーサネットに準拠して1500バイト以下の固定長であるけれども、これに限定されない。動画コンテンツのTSパケットは分割されることなく1つのUDPパケットに含まれ、UDPパケットの各々でペイロード部分に残余がある場合には、埋め込み部分(パッド)を含ませ良い。
The HTTP
プレイリストファイルも、TSパケットに関連する考慮を除いて、同様にUDPパケット化される。 Playlist files are also UDP packetized, except for considerations related to TS packets.
送信部304は、マルチキャストグループを指定してIPマルチキャストでUDPパケットを配信する。
The
ファイル再構築装置400は、適宜に、ファイルパケット化装置300のマルチキャストグループに参加し、ファイルパケット化装置300からコンテンツ配信ネットワーク500を介してIPマルチキャストで送信されるUDPパケットを受信し、プレイリストファイルおよび動画セグメントファイルを再構築する。
The
ファイル再構築装置400は、図5に示すように、UDPパケット受信部401、UDPパケット損失検出部402、ヌルパケット挿入部403、パケット連結部404、記憶部405、およびHTTPサービス部406を含む。UDPパケット受信部401は、当該IPマルチキャストのグループに参加し、宛先ポートでUDPパケットを受信するものである。UDPパケット損失検出部402は、動画セグメントファイルを構成するUDPパケットが受信されないときには、これを例えばpayload−size、CRCチェックコード、チェックサム等に基づいて検出し、さらに損失位置のUDPパケットをpayload−0ffsetから検出し、ヌルパケット挿入部403が、これに代えて、TSパケットのヌルパケットを挿入する(図6)。ヌルパケットはヘッダを含めてすべてビットは「1」の値をとるパケットである。プレイリストファイルについては、繰り返し送信されてくるので、UDPパケット損失が検出されたときには、ファイルを破棄し、次回に送られてくるプレイリストファイルの受信を待って良い。UDPパケットが動画セグメントファイルのものかプレイリストファイルのものかは、UDPパケットのHPPTヘッダに含まれるコンテンツタイプに基づいて判定できる、例えば、図7(a)に示すように「Content−Type:video/MP2」の場合には動画セグメントファイルのUDPパケットであると判定して損失部分にTSパケットのヌルパケットを挿入する。あるいは、図7(b)に示すようにHTTPヘッダにNP(NULL Packet)補完フラグのフィールドを設け、動画セグメントファイルのUDPパケットのHTTPヘッダにNP補完フラグをフラグ付けしてもよい。
As shown in FIG. 5, the
UDPパケット損失検出部402は、UDPパケットにシリアル番号が付与されるときには、その連続性に基づいてUDPパケットの損失を判別して良い。
When a serial number is assigned to a UDP packet, the UDP packet
なお、プレイリスト応答およびセグメントファイル応答のHTTP電文の例は、図11(a)および(b)に示すとおりであり、「Content−Type」を下線で示す。 Examples of the HTTP message of the playlist response and the segment file response are as shown in FIGS. 11A and 11B, and "Conent-Type" is underlined.
パケット連結部404は、UDPパケットをlayload−offset等に基づいて順序付けて、また、動画セグメントファイルの欠損位置にTSパケットのヌルパケットを挿入してファイルを再構築する。ファイルを再構築する際には、不要な埋め込み部(Pad)は除去される。所定のファイル記憶管理部が、再構築したプレイリストファイルおよび動画セグメントファイルを記憶部405に記憶管理する。
The
HTTPサービス部406は、UDP非対応端末装置600からのHTTPの要求に基づいて図10に示したものと同様の態様でプレイリストファイルおよび動画セグメントファイルをUDP非対応端末装置600に返す。UDP非対応端末装置600は受け取ったファイルに基づいて動画を再生する。UDP非対応端末装置600はHTTP端末として機能できるものであれば、どのようなものでもよく、典型的にはスマートフォン等の携帯端末であるけれどもこれに限定されず、どのような情報端末(情報化家庭電器製品を含む)であってもよい。
The
UDP非対応端末装置600を構成する携帯端末の例は、図8に示すようなものである。図8において、携帯端末800は、処理システム810、メモリ820、入出力サブシステム830、高周波回路部840、および音声回路部850を含む。構成要素の各々は、適宜、信号処理集積回路、特定用途向け集積回路、を含むハードウェア、ソフトウェア、またはこれらを組み合わせて実現できる。高周波回路部840は、他の装置に、無線リンクまたはネットワーク上で情報を送信・受信するのに用いられ、この機能を実行するために、アンテナ・システム、RF送受信機、増幅器、チューナ、発振器、デジタル信号プロセッサ、CODECチップセット、メモリ、その他の周知の回路構成を含むがこれらに限られない。高周波回路部840は、時分割多重アクセス(TDMA)、符号分割多重接続(CDMA)等のモバイル通信、無線LAN(IEEE 802.11b、IEEE802.11a、IEEE802.11g及び/又はIEEE802.11N)、ブルートゥース(IEEE802.15.1)、Wi−MAX(IEEE802.16)等の通信プロトコルを利用できるけれども、これに限定されない。音声回路部850は、音声スピーカ851とマイクロフォン852に連結される。処理システム810はプロセッサ811、メモリコントローラ812、周辺装置インターフェース813を含む、メモリ820は、プロセッサ811が実行するコードやデータを格納する。メモリ820は、RAM、ROM、FLASH、ディスク・ドライブ、磁気テープ等の任意の記憶装置を含んで良い。プロセッサ811は、メモリ820に格納された多様なソフトウェア・コンポーネントを実行する。例えば、ソフトウェア・コンポーネントは、オペレーティング・システム821、通信モジュール822、接触/動作モジュール823、グラフィック・モジュール824、アプリケーション825、タイマ・モジュール826、およびウェブ・ブラウザ・モジュール827を含む。アプリケーション825は、ブラウザ、アドレス帳、電子メール、暗号化、グローバル・ポジショニング・システム(GPS)等の位置決定機能、および、動画コンテンツ再生機能を含む。この実施例では、携帯端末は、例えば、UDP非対応端末装置600として動作し、HTTPクライアントおよび動画再生部の少なくとも一部はアプリケーション825として実現される。対応するアプリケーションをメモリ820にインストールすることにより携帯端末800をHTTPクライアントおよび動画再生部として機能させる。
An example of a mobile terminal constituting the UDP non-compliant
UDP対応端末装置700は、ファイル再構築装置400の機能を有するものであり、ファイルパケット化装置300からIPマルチキャストで配信されてくるUDPパケットを受信してプレイリストファイルおよび動画セグメントファイルを再構築し動画を再生するものである。UDP対応端末装置700は、ファイル再構築装置400のUDPパケット損失検出部402およびヌルパケット挿入部403と同等の機能部によりUDPパケット損失に対応できる。UDP対応端末装置700を図8に示す携帯端末で実現できる。すなわち、図12に示すように、UDP対応装置700は、UDPパケット受信部701、UDPパケット損失検出部702、ヌルパケット挿入部703、パケット連結部704、記憶部705、動画再生部706を含んで構成される。これらのうち、UDPパケット受信部701、UDPパケット損失検出部702、ヌルパケット挿入部703、パケット連結部704、記憶部705は、ファイル再構築装置400のUDPパケット受信部401、UDPパケット損失検出部402、ヌルパケット挿入部403、パケット連結部404、記憶部405と同様に構成して良い。動画再生部706は、記憶部705に記憶されたプレイリストファイルおよび動画セグメントファイルを用いて動画を再生するものである。この場合、直接にファイルをアクセスするように構成してもよいし、HTTPに準拠してファイルを取得してもよい。図12に示すUDPパケット受信部701、UDPパケット損失検出部702、ヌルパケット挿入部703、およびパケット連結部704等を携帯端末800のアプリケーション825で実現してよい。
The UDP-compatible
図2は、図1の動画コンテンツ配信システム100の全般的な動作を示す。図2において、動画コンテンツは、HTTP配信サーバ200からIPユニキャストでファイルパケット化装置300に送られ、さらに、ファイルパケット化装置300からIPマルチキャストでファイル再構築装置400に送られ、さらに、UDP非対応端末装置600にIPユニキャストで送られる。図2では示さないが、UDP対応端末装置700がファイル再構築装置400の位置に配置され、動画コンテンツをファイルパケット化装置300からIPマルチキャストで受け取って動画を再生する。
FIG. 2 shows the general operation of the moving image
まず、ファイルパケット化装置300は、プレイリストファイルの取得要求をHTTP配信サーバ200に送る(X01)。HTTP配信サーバ200はこれに応じてプレイリストをファイルパケット化装置300に返す(X02)。こののち、ファイルパケット化装置300は、プレイリストに記述された動画セグメントファイルについて順次に取得要求をHTTP配信サーバ200に送り(X03)、HTTP配信サーバ200はこれに応じて動画セグメントファイルを順次にファイルパケット化装置300に返す(X04)。
First, the
ファイルパケット化装置300は受け取ったプレイリストファイルおよび動画セグメントファイルをUDPパケットに分解してファイル再構築装置400にIPマルチキャストで配信する(X05)。以上の処理X01〜X05が繰り返し実行される。
The
ファイル再構築装置400は受け取ったUDPパケットからプレイリストファイルおよび動画セグメントファイルを再構築して記憶部405に記憶保持する(X06、X07)。なお、動画セグメントファイルの再構築に際してUDPのパケット損失がある場合にはこれをヌルパケットに置換する。プレイリストファイルを再構築するときにUDPパケットの損失がある場合には、大構築中のプレイリストファイルを破棄し、次回に配信されてくるプレイリストファイルのUDPパケットにより再構築を行う。
The
ファイル再構築装置400は、UDP非対応端末装置600に対してHTTPサーバとして機能する。すなわち、UDP非対応端末装置600は、プレイリストファイルの取得要求をファイル再構築装置400に送る(X08)。ファイル再構築装置400はこれに応じてプレイリストをUDP非対応端末装置600に返す(X09)。こののち、UDP非対応端末装置600は、プレイリストに記述された動画セグメントファイルについて順次に取得要求をファイル再構築装置400に送り(X10)、ファイル再構築装置400はこれに応じて動画セグメントファイルを順次にUDP非対応端末装置600に返す(X11)。UDP非対応端末装置600は動画セグメントファイルに基づいて順次に動画を生成する。
The
以上で実施例の説明を終了する。 This is the end of the description of the examples.
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。 It should be noted that the present invention is determined based on the description of the scope of claims, and is not limited to the specific configuration, problems, and effects of the examples. The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
なお、上述の例では、損失UDPパケットに相当する部分にTSパケットのヌルパケットを挿入したけれども、完全なTSパケットのみを含むものであれば、TSパケットのヌルパケットを挿入しなくてもよい。例えば、図6の例で、ヌルパケットを除いて、成功裏に受信されたUDPパケットに含まれる完全なHTTPヘッダおよび完全なTSパケットを含むようにファイルを再構築してよい。 In the above example, although the null packet of the TS packet is inserted in the portion corresponding to the lost UDP packet, the null packet of the TS packet may not be inserted as long as it includes only the complete TS packet. For example, in the example of FIG. 6, the file may be reconstructed to include the complete HTTP header and complete TS packet contained in the successfully received UDP packet, excluding the null packet.
また、セグメントファイルの損失UDPパケットがHTTPヘッダに相当する場合には、HTTPヘッダが棄損している。これに対処するために、当該セグメントファイルについてクライアントからHTTP要求があった場合には、コンテンツ長(Content−Length)がゼロであることを示すHTTP応答、例えば図13に示すようなHTTP応答を返して良い。図13ではコンテンツ長の記述を矢印で示す。この構成では、当該動画ファイルの再生がスキップされて、後続の動画ファイルが、適宜に、例えばTSストリームのタイムスタンプに基づくタイミングで、再生できる。このHTTP応答には本体は含まれない。 Further, when the loss UDP packet of the segment file corresponds to the HTTP header, the HTTP header is damaged. To deal with this, when there is an HTTP request from the client for the segment file, an HTTP response indicating that the content length (Conent-Length) is zero, for example, an HTTP response as shown in FIG. 13 is returned. It's okay. In FIG. 13, the description of the content length is indicated by an arrow. In this configuration, the reproduction of the moving image file is skipped, and the succeeding moving image file can be reproduced as appropriate, for example, at a timing based on the time stamp of the TS stream. The body is not included in this HTTP response.
また、上述の例では、ファイルパケット化装置300はHTTP配信サーバ200からHTTPに準拠した動画配信用のファイルをHTTPで取得するようにしたけれども、これらのファイルはファイルパケット化装置300自体が生成・準備してもよく、また任意のソースから取得してよい。
Further, in the above example, the
100 動画コンテンツ配信システム
200 HTTP配信サーバ
300 ファイルパケット化装置
400 ファイル再構築装置
500 コンテンツ配信ネットワーク
600 UDP非対応端末装置
700 UDP対応端末装置
800 携帯端末
100 Video
Claims (5)
複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取るUDPパケット受信手段と、
上記UDPパケット受信手段が受け取ったUDPパケットから上記動画ファイルに再構築する動画ファイル再構築手段と、
上記動画ファイル再構築手段が再構築した上記動画ファイルを上記通信ネットワークを介してユーザ端末にHTTPに準拠して送信する送信手段とを有し、
上記動画ファイル再構築手段は、UDPパケットを受け取らないことを検出するUDPパケット損失検出手段を有し、上記UDPパケット損失検出手段の検出出力に基づいて、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、当該受け取らない上記少なくとも1つのUDPパケットに含まれているべきTSパケットに替えて所定のTSパケットを補充した態様で上記動画ファイルを再構築することを特徴とする動画コンテンツ処理装置。 In a video content processing device that can be connected to a communication network
A UDP packet receiving means that decomposes a video file containing a plurality of TS packets and receives a UDP packet transmitted by IP multicast.
A video file reconstructing means for reconstructing a video file from a UDP packet received by the UDP packet receiving means, and
The video file reconstructing means has a transmission means for transmitting the reconstructed video file to a user terminal via the communication network in accordance with HTTP.
The moving image file reconstructing means has a UDP packet loss detecting means for detecting that a UDP packet is not received, and based on the detection output of the UDP packet loss detecting means, a plurality of UDP packets corresponding to the moving image file are used. When at least one of the UDP packets is not received, the moving image file is reconstructed in a manner in which a predetermined TS packet is replenished in place of the TS packet that should be included in the at least one UDP packet that is not received. A video content processing device characterized by.
複数のTSパケットを含む動画ファイルを分解してIPマルチキャスト送信されてくるUDPパケットを受け取るUDPパケット受信手段、
上記UDPパケット受信手段が受け取ったUDPパケットから上記動画ファイルに再構築する動画ファイル再構築手段、
上記動画ファイル再構築手段が再構築した上記動画ファイルを上記通信ネットワークを介してユーザ端末にHTTPに準拠して送信する送信手段
として実現させるために使用され、
上記動画ファイル再構築手段は、UDPパケットを受け取らないことを検出するUDPパケット損失検出手段を有し、上記UDPパケット損失検出手段の検出出力に基づいて、上記動画ファイルに対応する複数のUDPパケットのうちの少なくとも1つのUDPパケットを受け取らない場合に、当該受け取らない上記少なくとも1つのUDPパケットに含まれているべきTSパケットに替えて所定のTSパケットを補充した態様で上記動画ファイルを再構築することを特徴とするコンピュータプログラム。 A video content processing device that can be connected to a communication network
UDP packet receiving means that decomposes a video file containing multiple TS packets and receives UDP packets transmitted by IP multicast.
A video file reconstructing means for reconstructing a video file from a UDP packet received by the UDP packet receiving means,
It is used to realize the video file reconstructed by the video file reconstructing means as a transmission means for transmitting the reconstructed video file to a user terminal via the communication network in accordance with HTTP.
The moving image file reconstructing means has a UDP packet loss detecting means for detecting that a UDP packet is not received, and based on the detection output of the UDP packet loss detecting means, a plurality of UDP packets corresponding to the moving image file are used. When at least one of the UDP packets is not received, the moving image file is reconstructed in a manner in which a predetermined TS packet is replenished in place of the TS packet that should be included in the at least one UDP packet that is not received. A computer program characterized by.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019033181A JP6804164B2 (en) | 2019-02-26 | 2019-02-26 | Content distribution system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019033181A JP6804164B2 (en) | 2019-02-26 | 2019-02-26 | Content distribution system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018106278A Division JP6490284B2 (en) | 2018-06-01 | 2018-06-01 | Content distribution system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019118119A JP2019118119A (en) | 2019-07-18 |
JP6804164B2 true JP6804164B2 (en) | 2020-12-23 |
Family
ID=67304709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019033181A Active JP6804164B2 (en) | 2019-02-26 | 2019-02-26 | Content distribution system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6804164B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009284248A (en) * | 2008-05-22 | 2009-12-03 | Toshiba Corp | Information terminal device, stream reception processing method |
JP5137857B2 (en) * | 2009-01-09 | 2013-02-06 | 株式会社日立国際電気 | Mobile receiving terminal and relay device |
JP2011082934A (en) * | 2009-10-09 | 2011-04-21 | Cloud Scope Technologies Inc | Stream data transmission device and method, and program |
CN103004133A (en) * | 2010-07-20 | 2013-03-27 | 夏普株式会社 | Proxy server, relay method, communication system, relay control program, and recording medium |
-
2019
- 2019-02-26 JP JP2019033181A patent/JP6804164B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019118119A (en) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11653042B2 (en) | Apparatus and method for configuring a control message in a broadcast system | |
CN109889543B (en) | Video transmission method, root node, child node, P2P server and system | |
US8559788B2 (en) | Process for placing a multimedia object in memory, data structure and associated terminal | |
US8145969B2 (en) | Quality manager and method for use in a digital content delivery system | |
US20180192156A1 (en) | Multicast transmission method, apparatus and system for ott media | |
TW201023531A (en) | Method and apparatus for interleaving a data block | |
WO2014096968A9 (en) | Server-based content tracking apparatus and method | |
JP5011239B2 (en) | Broadcast packet generator, data supplement server, receiving terminal, and program thereof | |
CN104604245B (en) | Time control is presented | |
JP6490284B2 (en) | Content distribution system | |
JP2008508757A (en) | Encoding method and decoding method with two-stage error protection method, and encoding device and decoding device | |
JP5344541B2 (en) | Data transmission apparatus, transmission method and program | |
KR20170000312A (en) | Method and apparatus for digital broadcast services | |
US10277957B2 (en) | Method for delivering an audio-video live content in multicast form | |
JP6804164B2 (en) | Content distribution system | |
JP6359074B2 (en) | Content distribution system | |
CN115086714B (en) | Data processing method, device, equipment and storage medium | |
JP2004159101A (en) | Data transmission method, data transmitter, data receiver, and data transmission system | |
JP5082715B2 (en) | Receiving device, receiving method, and computer program | |
US20070019566A1 (en) | Receiver apparatus and data distribution method | |
RU2655744C2 (en) | Content provision device, content provision method, program, terminal device and content provision system | |
EP3316531A1 (en) | Method to transmit an audio/video stream of to a destination device | |
JP2004282260A (en) | Media server, media receiving terminal apparatus, and media distribution system | |
CN112671784A (en) | Data transmission method, device, equipment and storage medium | |
JP2019053350A (en) | Distribution apparatus, reproduction apparatus, distribution method, reproduction method, reproduction program and data structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200914 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20200914 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20200925 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20200929 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6804164 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |