信号・規格送出配信アーカイブ

PCR

Program Clock Reference / ピーシーアール

TSの中を定期的に流れる、送り手の27MHzの基準時計の値です。受信機はこの値に自分の時計を合わせ、映像と音声を決められた時刻に復号して表示します。値が揺れるとバッファが破綻し、映像が止まったり音がずれたりします。

正式名称
Program Clock Reference(プログラム時刻基準参照値)
規格
ISO/IEC 13818-1(ITU-T H.222.0)
基準クロック
27MHz
値の形
33ビットの90kHzのbaseと9ビットの27MHzのextension。27MHz換算ではbase×300+extension
送る間隔
MPEG-2 Systemsでは100ミリ秒以内ごと
許容ジッタ
±500ナノ秒
入っている場所
TSパケットのアダプテーションフィールド。どのPIDに入れるかはPMTのPCR_PIDが示す
関係する値
PTS(表示時刻)とDTS(復号時刻)。どちらも90kHz単位

TS解析ツールが「PCR accuracy」や「PCR jitter」の項目を赤で出していて、映像は一見ふつうに見える。この状態を放っておくと、受信機やデコーダーによっては数分後に映像が止まります。PCRはストリームの中を流れる時計で、これが揺れると受け手は自分の時計を正しく作れなくなります。

PCRが使われる場面

放送局の送出では、エンコーダーと多重化装置がPCRを打ちます。多重化のときにパケットの並びが変われば、PCRの値も並び直した位置に合わせて打ち直す必要があるため、装置にはPCRの再挿入や補正の機能があります。送出系の監視装置では、PCRの間隔とずれを常時測り、決められた範囲を外れたら警報を出します。

IP回線で素材を送る場面でも重要になります。エンコーダーが出したTSをネットワークに流すと、パケットの到着時刻がばらつくので、受け側のデコーダーはバッファで吸収しながらPCRを読み取ります。SRTやRISTで受けたTSをデコードする機器の設定に、バッファの深さを指定する項目があるのはこのためです。

検証では、TSDuckやStreamXpertのような解析ツールでPCRの間隔と精度を測ります。ETSI TR 101 290の監視項目にもPCRに関する項目が並んでいて、放送の品質確認で参照されます。

PCRの仕組み

PCRは、送り手が持つ27MHzのカウンターの値です。33ビットの90kHzの部分と9ビットの27MHzの部分に分かれていて、27MHz換算の値はbase×300+extensionで求めます。90kHzの部分は、フレームごとの時刻を示すPTSやDTSと同じ単位です。

受信機は、届いたPCRの値と自分のカウンターの差を見て、PLLで自分の27MHzの発振器を少しずつ引き込みます。これで受け手の時計が送り手の時計と同じ速さで進むようになり、PTSやDTSの時刻が意味を持ちます。どのパケットにPCRが入っているかはPMTのPCR_PIDが示すので、番組ごとに別の時計を持てます。

MPEG-2 Systemsは、PCRを100ミリ秒以内の間隔で送り、値のずれを±500ナノ秒以内に収めるよう定めています。この精度が要求されるのは、受け手の発振器を引き込む材料がPCRしかないためです。

PCRのジッタでバッファがあふれる理由

デコーダーの中には、届いたデータを一時的に置くバッファがあります。送り手は、このバッファがあふれず空にもならないように、PTSとDTSで各フレームの復号と表示の時刻を指定しています。

受け手の時計が送り手より速く進むと、データを予定より早く取り出して表示してしまい、バッファが空になります。画面が固まる、音が途切れる、といった症状がここで出ます。逆に受け手の時計が遅いと、データが溜まり続けてバッファがあふれ、パケットが捨てられます。どちらも映像や音声そのものは壊れていないので、ファイルを再生し直すと問題なく見えることがあり、原因の切り分けが難しくなります。

PCRが揺れる原因は、多重や再多重でパケットの位置が変わったのにPCRを打ち直していない、IP伝送でパケットの到着時刻がばらついている、変換ソフトがPCRを補正せずにビットレートだけ変えている、といったものです。ファイルとして保存して後から再生するだけなら影響は出にくく、リアルタイムで受けて流す経路ほど問題になります。

よくある質問

PCRとPTSの違いは何ですか

PCRは送り手の時計の値で、受け手が自分の時計を合わせるために使います。PTSは各フレームを表示する時刻で、PCRで作った時計の上で読む値です。時計が正しくなければ、PTSの時刻も意味を持ちません。

PCRジッタが大きいと何が起きますか

受信機が送り手の時計を正しく再現できず、デコーダーのバッファが空になるかあふれます。映像が一瞬止まる、音が切れる、映像と音がずれるといった症状で現れます。ファイルの再生では出にくく、リアルタイムの伝送や放送波で問題になります。

FFmpegでTSを作るとPCRはどうなりますか

FFmpegのmpegtsの出力はPCRを自分で挿入します。ただし放送設備へ入れるTSとして精度が足りるかは別の話なので、監視装置や解析ツールでPCRの間隔と精度を測ってから使う必要があります。

似ている形式との違い

名前主に使う場面PCRとの違い
PTS・DTSフレームごとの時刻各フレームをいつ復号し、いつ表示するかを示す値。PCRはそれを測るための時計そのもの
ゲンロックベースバンド機器の同期機器の映像出力のタイミングを基準信号にそろえる仕組み。PCRは圧縮ストリームの中で時計を運ぶ方法
PTPIP設備の時刻配信ネットワークで時刻を配る方式。ST 2110の機器が使う。PCRはTSの中に時刻を埋め込む

関連する用語

最終更新