私とマルチメディアMPEGラボMXFラボ

TOP

VIDEO-ITを取り巻く市場と技術

2007年12月20日掲載

第19回 RTP/RTCP概要

RTPとは
RTPは「Real-time Transport Protocol」の略で、リアルタイム性を要求されるアプリケーションで使用するデータをネットワーク経由で転送出来る様にする為IETF(※1)で策定されたプロトコルである。音声や映像データは、ネットワーク伝送中にデータが失われたとしても致命的では無いため、パケット伝送の信頼性よりリアルタイム性を重視しTCPではなくUDPが用いられる。

RTPの特徴は、送信側の時刻情報が含まれているという点で、受信側はこの時刻情報を参照しリアルタイム性を確保する。また、RTPで伝送するデータ自体には取り決めは無いため、動画、音声データ以外の、例えばリアルタイムシミュレータのデータを伝送する際にも利用される。

RTPのRFC(※2)管理番号は「1889」「3550」で、RTPは「RFC1889」「RFC3550」とも呼ばれる。

(※1) IETF
「Internet Engineering Task Force」の略で、インターネット上で利用される技術を策定、標準化する組織。

(※2) RFC
IETFが策定した技術仕様文章。「Request For Comment」の略で、当初は新しい技術を実現する為の
取り決め(プロトコル)を考えたのでコメントを寄せて下さいという意味であったが、
現在ではインターネット上の様々なサービスを提供する際に利用される標準規格となっている。
例えばメール関連では「SMTP」「POP3」「IMAP4」があり、Web(WWW)関連では「HTTP」「HTML」がRFCで標準化されている。
(HTMLについては、現在W3Cにより標準化されている)
IETFで策定されたRFCには管理番号が付けられる。代表的なRFCと内容(プロトコル名)を以下に示す。

RFC管理番号 プロトコル名
RFC 769 UDP(User Datagram Protocol)
RFC 793 TCP(Transmission Control Protocol)
RFC 821 SMTP(Simple Mail Transfer Protocol)
RFC 959 FTP(File Transfer Protocol)
RFC 1939 POP3(Post Office Protocol - Version 3)
RFC 2060 IMAP4(Internet Message Access Protocol - Version 4rev1)
RFC 2068 HTTP 1.1(Hypertext Transfer Protocol)
RFC 2080 HTML 2.0(Hypertext Markup Language - 2.0)

 

■RTCPとは
RTCPは、「RTP Control Protocol」の略で、RTPデータの受信状況を送信側に伝えたり、送信側の情報や、受信側のセッション情報をやりとりする為のプロトコルである。RTCPも、RTPと同じく「RFC1889」「RFC3550」で標準化されている。

■RTP/RTCPの目的と活用事例
RTPは、上述の通りネットワーク経由でなんらかのデータをリアルタイム性を確保しながら伝送する目的で利用される。RTP自体は、内包する伝送データの内容に依存する設計では無いが、主に映像や音声を伝送する為の
基本技術として利用されている。RTCPはRTPを使用する上でのネットワーク伝送特性を測定する目的で利用する。RTP/RTCPの具体的な活用事例として、IP電話(VoIP:Voice over Internet Protocol)、テレビ会議システム、IPTV、PC向けの映像配信(Windows Mediaストリーミング配信など)が挙げられる(伝送特性を知る必要が無い場合、RTCPを使用せずRTPのみで映像や音声を伝送する場合もある)。

■RTPの構造
RTPは時刻情報やパケット順序番号が格納された「RTPヘッダ」部分と、伝送する実データが含まれる 「ペイロード」部分で構成される。

a li RTPのバージョン識別子。RFC1889、RFC3550で規定されているバージョンは「2」。「0」と「1」は、RTPが規格化される前のドラフト版で使用されていた。
b li パディング設定フラグ。この部分が1となっていた時、RTPパケットの終端にパディングバイトが追加されている。パディングバイトはペイロードの一部分では無い。
c li 拡張ヘッダ設定フラグ。この部分が1となっていた時、RTPヘッダの後に拡張ヘッダが続く。 (上図の"K"の部分)
d li

CSRC(Contributing Sources:上図で"J"に位置するデータ)の数。
0の時、"J"は存在しない。

e li マーカービット。RTPストリーム中で特殊なパケットである事を示すために使用される。このビットの意味は、RTPが内包するペイロードの種類によって変化する。
f li RTPパケットが内包するペイロードの識別子。下表「ペイロードの種類」を参照。下表で定義されている以外に、動的に識別子を割り当てる手法が使われる。
g li RTPパケットのシーケンス番号。RTPパケット毎に1ずつ増加していく。受信側はこの値を参照する事で、パケット欠落やパケット順序の入れ替わりを検出出来る。
h li タイムスタンプ。1秒に対応する周波数はペイロードの種類により変化する。
i li SSRC(Synchronization Source:RTPパケットのストリームの送信側識別子)。同じRTPセッションでこの識別子が衝突してはならない。
j li CSRC(Contributing Sources:RTPパケットのストリームの結合識別子)。
k li RTP拡張ヘッダ。RTPを使用するアプリケーションが、RTPヘッダに付加情報を追加したい時に使用する。拡張ヘッダは、ヘッダ拡張用の識別子と、拡張ヘッダのサイズ、拡張ヘッダの内容が含まれる。


・ペイロードの種類

ペイロードの種類 コーデック Video/Audio タイムスタンプの周波数
0
ITU-T G.711 A-law
Audio
8000
1
U.S. Standard 1016
Audio
8000
2
ITU-T G.721
Audio
8000
3
GSM06.10
Audio
8000
4
(未割り当て)
Audio
8000
5
DVI ADPCM
Audio
8000
6
DVI ADPCM
Audio
16000
7
Xerox linear predictive encoding
Audio
8000
8
ITU-T G.711 mu-law
Audio
8000
9
ITU-T G.722
Audio
8000
10
8-bit Liner Audio
Audio
44100
11
16-bit Liner Audio
Audio
44100
12
(未割り当て)
Audio
13
(未割り当て)
Audio
14
MPEG-1/-2 Audio
Audio
90000
15
ITU-T G.728
Audio
8000
16〜23
(未割り当て)
Audio
24
(未割り当て)
Video
25
Sun Microsystems CELL-B encoding
Video
90000
26
JPEG
Video
90000
27
(未割り当て)
Video
28
Xerox NetVideo
Video
29
(未割り当て)
Video
30
(未割り当て)
Video
31
H.261
Video
90000
32
MPEG-1/-2 Video
Video
90000
33
MPEG-2 TS
Audio/Video
90000
34〜71
(未割り当て)
72〜76
(予約)
77〜95
(未割り当て)
96
(動的割り当て用)

 

<< 1 2 3 4

 

(コラム記事/ (株)アイ・ビー・イー 開発部)

製品・システム・技術に関するお問い合わせ