説明

データ受信処理装置およびデータ受信処理方法

【課題】受信側における欠落したパケットの復元処理に起因するジッタの影響を受けないデータ受信処理装置を提供する。
【解決手段】アダプティブクロック方式で管理されるTTS(タイムスタンプ付きトランスポート・ストリーム)バッファ105の他に、RTPバッファ102を設ける。IP処理部101からRTPバッファ102に入力されたパケットは即座にTTSバッファ105に記憶する。RTPバッファ102には欠落したパケットの復元に使用するパケットを保存する。復元部103とNullパケット処理104は、欠落したパケットを検出したとき、一時的にTTSバッファ105内の欠落したパケット部分に代替データを記憶する。復元部103とパケット置換部106は、欠落したパケットが復元可能なときには復元したパケットを、代替データに置換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信網を介して受信したデータについて受信処理を行うデータ受信処理装置と方法に関する。
本発明は特に、通信網を介して受信したパケットに欠落があった場合に欠落したパケットを復元する時に起こる「バッファリング・ジッタ」を改善するデータ受信方法とデータ受信装置に関する。
【背景技術】
【0002】
通信網(ネットワーク)を用いてプッシュ型の通信を行うとき、受信側のバッファに受信データが収容しきれないというオーバーフロー、または、バッファにおける受信データの蓄積量が極端に低下するというアンダーフローが起こることがある。
本明細書において、これらをバッファの破綻と言う。
【0003】
バッファの破綻を防止する対策の1つとして、通常、バッファへのデータを書き込むための書き込みクロックと、バッファからデータを読みだすための読み出しクロックとを同期させる。
書き込みクロックは、通信網の送信側のデータ送信クロックに対応しており、読み出しクロックは受信側における再生クロックに対応している。したがって、送信側のデータ送信クロックと受信側の再生クロックとの同期をとればよい。
【0004】
しかしながら、通信網、または、通信経路におけるデータの遅延の揺らぎ(ジッタ)が存在し、送信側のクロックと、受信側のクロックとが同期しているという、網同期が確立しているという保証は、通常、得られない。
そのようなジッタとしては、ネットワークの負荷スパイクに起因する高周波ジッタと、連続的に変動する揺らぎが知られている。
【0005】
そのため、非同期方式の通信網、たとえば、ATM(Asynchronous Transfer Mode、非同期転送モード) 網などにおいては、受信側においてバッファの滞留量(データ蓄積量)を常時監視しておき、バッファの滞留量が一定になるように、再生クロックの制御を行っている。これを「アダプティブ(適応型)クロック再生法」と呼ぶ。
【0006】
「アダプティブクロック再生法」の概念は、非特許文献1(ITU(国際電気通信連合)−T勧告1.363.1)に定義されている。
また、通信網、または、通信経路におけるデータの遅延の揺らぎ(ジッタ)を考慮した、アダプティブクロック方式を適用した装置も提案されている(たとえば、特許文献1、2)。
【0007】
ここで、「アダプティブクロック再生法」のIP(Internet Protocol)網におけるリアルタイム・ストリーミング(実時間データ伝送)などに適用することを想定した例を示す。
図1はその場合の受信機200の構成を示す。受信機200は、通信網230からIPデータを受信して信号処理を行う受信処理部210と、映像データ、音声データなどに再生を行う再生処理部220とを有する。
【0008】
アダプティブクロック方式に基づいて、受信処理部210におけるTTS処理部215において、タイムスタンプ(TimeStamp)処理の対象となる、タイムスタンプ付きトランスポート・ストリーム(TTS)バッファのデータの滞留量(データの蓄積量)を監視する。
【発明の開示】
【発明が解決しようとする課題】
【0009】
パケットが通信網230を通過した際、パケットの欠落が生じることがあり、TTS処理部215の前段における、RTPパケット処理およびFEC処理部213において、欠落したパケットの復元処理を行う。RTPはReal Time Transport Protocolの略であり、FECはForward Error Correctionの略である。
RTPパケット処理およびFEC処理部213において、通信網230において欠落したパケットの欠落処理または復元処理を行う場合に、復元処理に伴うバッファ処理(バッファリング)によって監視対象のバッファリングの滞留量に影響が生ずる。
【0010】
その理由を説明する。
たとえば、図2に例示したパケット配置において、”01“のパケットが欠落したと仮定すると、その復元のためには、欠落した”01“のパケットと連続する、少なくとも、”91“のパケットと、”C1“のパケットの到来を待って、”91“のパケットと、”C1“のパケットとを用いて復元する。
このように、”91“のパケットと、”C1“のパケットの到来を待って、欠落したパケットの復元処理(訂正処理)を行うので、TTS処理部215のバッファ処理に遅延が起こる。
【0011】
その結果、通信経路におけるデータの遅延の揺らぎ(ジッタ)を考慮した「アダプティブクロック方式」を適用したとしても、受信処理部における欠落したパケットの復元処理などにおいて受信したパケットをバッファリングしてしまうことにより、「アダプティブクロック方式」の精度に影響を与える。
【0012】
また、TTSバッファにおける受信データのオーバーフローまたはアンダーフローを回避するため、しばしば、TTSバッファへのデータの蓄積量を上限と下限をしきい値として設定することが行われている。
しかしながら、TTSバッファ処理部215の前段のRTPパケット処理およびFEC処理部213のバッファリングの影響が、監視対象のバッファへのデータの入力において、ジッタのような振る舞いとなる。
【0013】
そのようなジッタを吸収するため、TTSバッファのしきい値(余裕)を大きくする必要がある。そうすると、バッファの規模が大きくなるという不利益に遭遇する。
TTSバッファは、通常、FIFOバッファとして構成されている。
【0014】
上述した問題は、監視するTTSバッファを限定したために生ずる問題である。
ある程度、ブロックをまとめたシステムを想定し、そのシステムの内部に滞留されているデータを観察することにより、そのシステムの内部のジッタを包含し、その影響を無視するという考えも成り立つ。
【0015】
その具体的な方法としては、図1におけるRTP処理と、TTS処理のデータの滞留量を合計して考えることにより、そのシステムの内部のデータ移動や、ジッタなどを無視することができる。
ただし、この場合、システム内に欠落したパケットの復元処理部を含めているため、欠落したパケットの復元により、システムへのデータの入力と、システムからのデータの出力の量が一致しないことなどを考慮する必要がある。
【0016】
また、上記システムとして、データの入出力がオーバーフローまたはアンダーフローしないというバッファの破綻状態が起きないことは勿論、システム内部の各バッファでも破綻状態が起きないように制御する必要がある。
その結果、上記ブロックをまとめたシステムとして対策を講ずる手法は、バッファの制御が非常に複雑になるという問題に遭遇する。
【0017】
以上から、上述した課題を克服する、データ受信処理装置とデータ受信処理方法を提供することが望まれている。
【0018】
【非特許文献1】ITU−T勧告1.363.1
【特許文献1】特開2006-42273号公報
【特許文献2】特開2006-49941号公報
【課題を解決するための手段】
【0019】
本発明によれば、パケット化されたコンテンツ情報に各パケットの出力順序を示す連続性を示す情報が付加されたストリームを入力する入力手段と、該入力手段で入力した前記連続性を示す情報が付加されたストリームを保存する第1のバッファ手段と、該第1のバッファ手段から出力されたストリームを蓄積する第2のバッファ手段と、少なくとも、前記第1のバッファ手段に入力されるストリーム内の連続性の有無に基づいてパケットに欠落が生じたことを検出し、前記第2のバッファ手段に記憶されている検出した欠落したパケットデータ部分に代替パケットを挿入し、欠落したパケットが復元処理可能な場合、復元したパケットを前記第2のバッファ手段に保存された代替パケットを置き換える、復元処理手段と、前記第2のバッファ手段に蓄積されたパケットデータを出力する出力制御手段とを備えたデータ受信処理装置が提供される。
【0020】
好ましくは、前記第1のバッファ手段は、前記入力手段から入力されたストリームおよび前記復元処理に必要なパケットのみを保存する。
また好ましくは、前記復元処理手段は、前記第1のバッファ手段に保存されるストリーム内のパケットの番号の順序が乱れていることを検出した場合に、前記第2のバッファ手段に保存されたパケットの順序を正しく修正する。
【0021】
また本発明によれば、第1のバッファ手段と、第2のバッファ手段とを有する受信装置におけるデータ受信処理を行うため、入力されるパケット化されたコンテンツ情報に各パケットの出力順序を示す連続性を示す情報が付加されたストリームを入力する工程と、該入力手段で入力した前記連続性を示す情報が付加されたストリームを前記第1のバッファ手段に保存する第1のバッファ処理工程と、該第1のバッファ手段から前記ストリームを読みだして前記第2のバッファ手段に蓄積する第2のバッファ処理工程と、少なくとも、前記第1のバッファ手段に入力されるストリーム内の連続性の有無に基づいてパケットに欠落が生じたことを検出する工程と、前記パケットの欠落を検出したとき、前記第2のバッファ手段に記憶されている検出した欠落したパケットデータ部分に代替パケットを挿入する代替パケット挿入工程と、前記欠落したパケットが復元処理可能な場合、復元したパケットを前記第2のバッファ手段に保存された代替パケットを置き換える、置換工程と前記第2のバッファ手段に蓄積されたパケットデータを出力する出力制御工程とを有するデータ受信処理方法が提供される。
【0022】
本発明においては、2つのバッファ手段を設け、第1のバッファ手段において受信したパケットのうち、欠落したパケットの復元に必要なパケットを保存しておく。また第1のバッファ手段に入力されたストリームは即座に第2のバッファ手段に転送して、第2のバッファ手段に蓄積させる。
好ましくは、第2のバッファ手段へのパケットの書き込み、第2のバッファ手段からのパケットの出力は、アダプティブクロック方式を適用する。
復元処理手段が、第1のバッファ手段に入力されるストリームの中にパケットの欠落があるか否かを検出する。パケットの欠落を検出したとき、復元処理手段は、暫定的に、第2のバッファ手段に蓄積されたパケットのうち欠落した部分に対応する部分に、代替パケットを記憶する。
欠落したパケットの後に到来するパケットにを用いて欠落したパケットが復元可能な場合、復元処理手段が欠落したパケットに対応するパケットを復元して、第2のバッファ手段に記憶した代替パケットを置換する。
【発明の効果】
【0023】
本発明によれば、欠落したパケットの復元処理を、ジッタの影響を及ぼさずに、実現できた。
その結果、第2のバッファ手段におけるバッファ量の変動が小さくなり、第2のバッファ手段の容量が増大することを防止できる。
また、第2のバッファ手段の蓄積量(滞留量)を監視してクロック同期を行うアダプティブクロック方式の精度が向上する。
【0024】
また本発明によれば、順序が乱れたパケットの順序を、ジッタの影響を及ぼさずに、実現できた。
【発明を実施するための最良の形態】
【0025】
通信システム構成
図3は、本発明の実施の形態の受信機が適用される通信システムの構成を示す図である。
図3に図解した通信システム1は、通信網10を介して、送信機11から受信機12に、トランスポート・ストリーム(TS)の形態でパケット・データを送信するように構成されている。
【0026】
受信機の構成
図3は、受信機12の構成を示す。
受信機12は、通信網10に接続され、送信機11から送信されたトランスポート・ストリーム・データを受信して信号処理を行う受信処理部100と、受信処理部100で処理したデータを入力して、そのデータ固有の信号処理を行うコンテンツ処理部110とを有する。
送信機11から送信されるトランスポート・ストリームは、たとえば、圧縮され多重化された、たとえば、テレビジョン映像データと音声データとを含み、静止画データ、文字情報などを含んでもよい。テレビジョン映像データと音声データとを含み、静止画データ、文字情報などを含むことができる。これのデータを総称して、コンテンツ・データとき言う。
受信機12は、たとえば、IPテレビジョン受信機であり、送信機11から送出されたコンテンツを受信して、再生する。
たとえば、コンテンツ処理部110は、図1に再生処理部220として図解したように、多重化された映像データと音声データとを分離するTSデマルチプレクサ、分離された映像データと音声データをそれぞれ復号する映像デコーダ、音声デコーダを含むことができる。
【0027】
受信機12内の受信処理部100は、送信機11から送出されたコンテンツを受信して、コンテンツ処理部110におけるコンテンツの復号処理など再生処理可能なように、下記に例示する受信処理を行う。
【0028】
図4に受信処理部100の構成図を示す。
受信処理部100は、IP(Internet Protocol)処理部101と、RTP(Real Time
Transport Protocol) バッファ102とを有する。
受信処理部100はまた、復元部103と、Null(ヌル)パケット処理104と、TTS(タイムスタンプ(TimeStamp)付き(Transport Stream )バッファ105とを有する。
受信処理部100はさらに、パケット置換部106を有する。
受信処理部100はさらに、パケット出力部107と、クロック同期部108とを有する。
以下、各部の処理内容を述べる。
【0029】
IP処理部101
IP処理部101は、通信網10を経由して送信機11から送信されたIPパケットを受信する。
IP処理部101は、受信したIPパケットS10からIPヘッダ、UDP(User Datagram Protocol) ヘッダなどその後の処理、たとえば、コンテンツ処理部110における処理に用いないデータを取り除いてRTP(Real Time Transport Protocol) パケットを抽出する処理を行う。
IP処理部101は、復元部103の制御のもと、IP処理部101で抽出したRTPパケットデータS101のうちペイロード(Payload)部分のデータをRTPバッファ102に送出する。
【0030】
RTPバッファ102
RTPバッファ102は、IP処理部101から送出されたRTPパケットデータS101を保管(格納)する。
RTPバッファ102に保管されたRTPパケットデータは、復元部103の制御のもとで、タイムスタンプ(TimeStamp)付きTSパケットS102としてTTSバッファ105に送出される。
【0031】
TTSバッファ105
TTS(TimeStamp 付きTransport Stream)バッファ105は、復元部103の制御のもとでRTPバッファ102から出力されるペイロードデータ、すなわち、タイムスタンプ付きTSパケットを蓄積する(格納する)。
TTSバッファ105は、アダプティブクロック方式に基づき、蓄積量(滞留量)が監視されて、書き込みパケットと読み出しパケットとのクロック同期が行われる。
TTSバッファ105は、たとえば、FIFOバッファとして構成されている。
【0032】
なお、RTPバッファ102は、アダプティブクロック方式が適用されるTTSバッファ105とは異なり、IP処理部101から送出されたRTPパケットデータS101を保管(格納)し、即座に、復元部103の制御のもとで、タイムスタンプ(TimeStamp)付きTSパケットS102としてTTSバッファ105に送出し、後述する欠落したパケットの復元に使用するパケットのみを保存するバッファである。
したがって、RTPバッファ102の容量はTTSバッファ105のように大きくする必要はない。
【0033】
復元処理手段
復元部103は、上述したように、IP処理部101からRTPバッファ102へのパケットの送出、および、RTPバッファ102からTTSバッファ105へのパケットの送出の制御に加えて、下記に記す欠落したパケットの復元処理、および、順序が乱れて受信したパケットを正規の順序に修復する処理を行う。
【0034】
すなわち、RTPバッファ102に保管されたRTPパケットと、TTSバッファ105に蓄積されたタイムスタンプ付きTSパケットについて、たとえば、通信網10におけるパケットの欠落などがあった場合、復元部103、パケット置換部106、Nullパケット処理104と協働して、図4を参照して述べる受信・復元処理を行う。
【0035】
復元部103、Nullパケット処理104、パケット置換部106は、受信復元処理手段を構成する。
他方、RTPバッファ102は、本発明の第1のバッファ手段に対応しており、復元処理のための補助バッファであり、復元処理手段に含めることができる。
また、TTSバッファ105は、本発明の第1のバッファ手段に対応しており、アダプティブクロック方式に基づいて、通信網10から受信したパケットを蓄積するバッファとして機能する一方、復元処理手段の一部としても機能する。
【0036】
復元部103
復元部103は、復元判定部103Aと、復元処理部103Bとを有する。
復元部103は、パケットの欠落がなく下記の復元処理が不要と判断した場合は、RTPパケットのペイロードデータをRTPバッファ102からTTSバッファ105に送出するように、RTPバッファ102に指示する(RTPバッファ102を制御する)。
【0037】
復元部103は、RTPバッファ102に保存されたRTPパケットに欠落があることを検出した場合、後から到来するパケットを参照して、その欠落が復元可能な場合には欠落したパケットを復元する処理を行う。
また、復元部103は、RTPバッファ102に保管した受信したパケットの順序が乱れている場合、たとえば、受信順序が逆になっている場合、その順序を基に戻す処理を行う。
その詳細を後述する。
【0038】
復元判定部103Aは、IP処理部101からRTPバッファ102に入力されるRTPパケットデータS101に付与されているパケット番号を連続的に監視する。
【0039】
RTPパケットの欠落の復元
復元判定部103AによるRTPバッファ102に入力されるRTPパケットデータS101に付与されているパケット番号を連続的に監視することにより、復元判定部103AはRTPパケットの欠落があるか否かを判定することができる。
【0040】
RTPパケットの欠落を検出した復元判定部103Aは、たとえば、欠落したパケットの後に受信するパケットを用いて欠落したRTPパケットを復元可能か否かを判定する。
たとえば、RTPパケットが映像データ、音声データなどの場合は、1〜数個のパケットが欠落したとしても、映像データまたは音声データの連続性を考慮すると、欠落したデータに相当するデータを、たとえば、上述した方法によって、通常、復元することができる。
【0041】
復元処理部103Bは、たとえば、RTPバッファ102に格納されている欠落したパケットの番号の前後の番号のパケットを参照して、欠落したパケットを補間処理して、欠落したRTPパケットに相当するRTPパケットデータを復元する。あるいは、復元処理部103Bは、欠落したRTPパケットの番号の前の番号のRTPパケットデータから欠落したRTPパケットを類推して、欠落したパケットデータに相当するRTPパケットデータを復元する。
復元処理部103Bは、欠落したRTPパケットの復元が完了したら、復元が完了したことを示す、復元完了通知信号S103をパケット置換部106に通報する。
【0042】
RTPパケットの番号の順序の復元
また、復元判定部103AがRTPバッファ102に入力されるRTPパケットデータS101に付与されているパケット番号を連続的に監視することにより、受信処理部100で連続的に受信しRTPパケットの番号の順序が正当であるか否かを判定することができる。
RTPパケットの番号の順序が乱れる理由としては、通信網10に障害が発生したり、通信網10内に存在する遅延経路によって、送信機11から送信された受信IPパケットS10のストリームの内部の順序で逆になる場合がある。
復元判定部103Aは、このようなパケットの番号の順番が乱れていることを検出した場合、復元処理部103Bに通報する。
【0043】
復元処理部103Bは、TTSバッファ105に記憶されている順序が逆のパケットの順序を正しいパケットの番号に並べなおす。これにより、TTSバッファ105内のRTPパケットの保存順序(記憶位置)をRTPパケットの番号順に修正される。
【0044】
Nullパケット処理104
代替パケット処理手段として機能するNullパケット処理部104は、Nullデータ挿入判定部104Aと、タイムスタンプ算出部104Bと、Nullデータ挿入部104Cとを有する。
Nullパケット処理部104は、代替パケットとして、ダミーデータをパケットが欠落した部分に挿入して欠落したパケットを補う。すなわち、パケットに欠落があった場合、その復元に後で受信するパケットを用いて行うためなど、パケットの欠落を検出したその時点においては欠落したパケットを復元できない場合がある。Nullパケット処理部104が、一時的に、代替パケットをTTSバッファ105における欠落したパケット部分に挿入する。
【0045】
本実施の形態においては、代替パケットとして用いるデータダミーデータとして、Null(ヌル)、すなわち、値が「0」であるデータを挿入する。
なお、代替パケットは、欠落したパケットを復元できない場合は、そのまま、欠落したパケットとして残る。
以下、詳細に述べる。
【0046】
Nullデータ挿入判定部104Aは、復元判定部103Aと同様に、RTPバッファ102に入力されるRTPパケットデータS101に付与されているパケット番号を監視して、パケットの欠落があるか否かを判定する。
Nullデータ挿入判定部104Aが、IP処理部101において受信したパケットに欠落があると判定した場合、その判定結果をタイムスタンプ算出部104Bに通知して、タイムスタンプ算出部104Bの処理を行わせる。
【0047】
タイムスタンプ算出部104Bは、パケットの欠落数を算出する。すなわち、タイムスタンプ算出部104Bは、パケットが欠落した番号の前後の番号のRTPパケットの中のタイムスタンプおよび欠落したパケットの数からタイムスタンプを算出する。
Nullデータ挿入部104Cは、欠落したパケットの数に相当するNull(ヌル)パケット、すなわち、データの値が「0」であるパケットデータを準備して、挿入用ダミーデータS104Aとして、TTSバッファ105に送出する。
Nullデータ挿入部104Cが補うNullデータの数は、欠落したパケットの数に応じた数となる。
【0048】
Nullデータ挿入部104Cは、TTSバッファ105におけるパケットの欠落に応じてダミーパケットを挿入した位置と、対応するパケット番号を、挿入用ダミーデータ位置・番号信号S104Bとして、パケット置換部106に通知する。
【0049】
パケット置換部106
パケット置換部106は、パケット置換処理部106Aと、パケット置換テーブル106Bとを有する。
パケット置換処理部106Aは、復元部103から復元完了通知信号S103が入力された場合は、パケットの置換は不要であるから、何もしない。
他方、パケット置換処理部106Aは、Nullパケット処理部104のNullデータ挿入部104Cから挿入用ダミーデータ位置・番号信号S104Bが入力された場合は下記に記す処理を行う。
【0050】
パケット置換処理部106Aは、Nullパケット処理部104から挿入用ダミーデータ位置・番号信号S104Bとして出力された、TTSバッファ105によって、ダミーデータの(Nullパケット)の挿入位置と、パケットの番号とが通知される。
パケット置換処理部106Aは、パケット置換テーブル106Bに通知された内容をマップエントリとして追加する。もし、パケット置換テーブル106Bにマップエントリを追加できない場合は、パケット置換処理部106Aは、パケット番号のしきい値を設定し、しきい値を設定した以前のマップエントリをパケット置換テーブル106Bから削除する。
【0051】
また、パケット置換処理部106Aは、Nullパケット処理部104からの要求を受けて置換対象のパケットの番号に対応するポインタをパケット置換テーブル106Bに記憶されている置換データから検索する。検索によって対応するマップエントリが見つかれば、パケット置換処理部106Aは、検索によって検出されたマップエントリを示すパケット置換データS106AをTTSバッファ105に出力する。これにより、TTSバッファ105は、TTSバッファ105内の該当する位置にあるダミーパケット(代替パケット)を復元したパケットに置き換える。
【0052】
また、パケット置換処理部106Aのこの置換処理中に、ダミーパケットが受信処理部100からコンテンツ処理部110に出力されることがないようにする。すなわち、パケット置換処理部106Aは、出力停止信号S106Bをパケット出力部107に出力してパケット出力部107の処理を停止させる。
置換が終了したら、パケット置換処理部106Aは、パケット出力部107に出力していた出力停止信号S106Bを解除し、パケット置換テーブル106Bのマップエントリを削除する。
【0053】
パケット出力部107
パケット出力部107は、出力制御部107Aと、カウンタ107Bとを有する。
パケット出力部107は、TTSバッファ105に蓄積されているTSパケットを、コンテンツ処理部110に出力するか否かを判定する。出力可能である場合は、パケット出力部107は、TTSバッファ105に格納されているタイムスタンプ付きのTSパケットから、タイムスタンプを外してコンテンツ処理部110に出力する。
コンテンツ処理部110には、たとえば、図1に図解した、デマルチプレクサ、デコーダが設けられており、これらにタイムスタンプが外されたTSパケットが入力される。
【0054】
出力制御部107Aは、アダプティブクロック方式に基づいたクロック同期処理を行う。
ストリーム出力制御部107Aは、TTSバッファ105におけるタイムスタンプ付きのTSパケットのタイムスタンプと、カウンタ107Bの値を比較する。
カウンタ107Bのウカント値とTSパケットのタイムスタンプとが一致しているとき、出力制御部107Aは、TTSバッファ105に格納されているデータをコンテンツ処理部110へ出力するためのタイミング制御を行う。
また、TTSバッファ105にしきい値を設けることができ、カウンタ107Bのカウント値より、TTSバッファ105のTSパケットのタイムスタンプがしきい値以内で遅延していた場合、出力制御部107Aは即時に、TTSバッファ105からコンテンツ処理部110へのTSパケットの出力を制御する。
【0055】
出力制御部107Aはまた、TSパケットの出力を無効にすることを可能にする。その場合、カウンタ107Bはカウント処理は継続してインクリメントする(増加する)。
【0056】
さらに、ダミーパケットが挿入されたNullパケットが置換されていないまま出力タイミングを迎えた場合、たとえば、コンテンツ処理部110においてNulLパケットを処理することが可能な場合は、出力制御部107Aは、置換されていないパケットをそのまま出力する。
他方、ダミーデータを、コンテンツ処理部110などの後段の装置に出力したくない場合、出力制御部107Aは、ダミーパケットとして特殊なデータパターンを挿入しておく。そのような特殊なデータパターンとしては、たとえば、コンテンツ処理部110において、たとえば、フィルタ処理などで削除可能なものを用いることができる。
【0057】
クロック同期部108
クロック同期部108は、TTSバッファ105におけるTSデータの蓄積量、すなわち、パケットの滞留量を監視して、アダプティブクロック方式により、パケット出力部107のカウンタ107Bで用いるクロックの同期処理を行う。
【0058】
図5はIP処理部101、RTPバッファ102、復元部103、Nullパケット処理104の受信処理および復元処理を時間を追って説明するフローチャートである。
IP処理部101、RTPバッファ102、復元部103、Nullパケット処理104の詳細な処理内容は上述したので、下記の記述は概要に止める。
【0059】
ステップS1、パケットの入力、RTPパケットの抽出、RTPパケットの保存
IP処理部101が通信網10からパケットを入力して、入力したパケットからRTPパケットを抽出する。
RTPバッファ102は、IP処理部101から出力されるRTPパケットデータS101を保存する。RTPバッファ102に保存されたRTPパケットデータは、欠落したパケットの検出と、欠落したパケットの復元に使用される。
【0060】
ステップS2、パケットの欠落の判定
復元部103の復元判定部103Aは、RTPバッファ102に入力されるRTPパケットを連続的に監視して、受信処理部100で受信したパケットに欠落があるか否かを判定する。
復元判定部103Aが、パケットの欠落を検出したら、ステップ3の処理に移行し、ステップS3〜5において、代替パケットの挿入、パケット置換テーブルへの登録処理を行う。
パケットの欠落がなければ、ステップ6の処理に移行する。
【0061】
ステップS3、挿入するタイムスタンプの算出
、Nullパケット処理104のタイムスタンプ算出部104Bは、TTSバッファ105の最新のタイムスタンプ付きTSパケットのタイムスタンプと、RTPバッファ102への入力パケットの先頭のタイムスタンプと、欠落したパケット数から、挿入するタイムスタンプ数を算出する。
【0062】
ステップS4、代替パケット(ダミーパケット)の挿入
Nullパケット処理104のNullデータ挿入部104Cは、欠落したパケットの数に相当する数の代替パケットとして、挿入用ダミーデータS104AをTTSバッファ105に出力する。TTSバッファ105は、入力された挿入用ダミーデータS104Aに基づいて、欠落したパケットに対応する部分のデータを書き換える。
【0063】
ステップS5、パケット置換テーブルに登録
タイムスタンプ算出部104Bは、欠落したパケットの位置と欠落したパケット番号を示す挿入用ダミーデータ位置・番号信号S104Bをパケット置換部106に出力する。パケット置換処理部106Aは、挿入用ダミーデータ位置・番号信号S104Bに基づいて、パケット置換テーブル106Bに欠落したパケットの位置と番号の組を登録する。
【0064】
ステップS6、パケットの受信順序の判定
復元部103のNullパケット処理104は、RTPバッファ102に入力されるRTPパケットに付与されているパケットの番号を連続的に監視して、受信したパケットの順番が乱れていないか否かを判定する。
受信したパケットの順番が正常ならば、ステップS10の処理に移行する。受信したパケットの順序が逆などの乱れがある場合は、ステップS7の処理に移行する。
【0065】
ステップS7、置換テーブルの検索
パケット置換処理部106Aは、パケット置換テーブル106Bに記録されている置換データから置換対象のパケットの番号に対応するポインタを検索する。
対応するポインタが検索できた場合は、ステップS8の処理に移行し、検索できない場合は、ステップS11の処理に移行する。
【0066】
ステップS8、TTSバッファ105からTSパケットの出力禁止
パケット置換処理部106Aは、パケット出力部107に対して、出力停止信号S106Bを出力して、TTSバッファ105からタイムスタンプ無しTSパケットS105を出力することを禁止させる。
【0067】
ステップS9、パケットの置換処理
パケット置換処理部106Aは、TTSバッファ105と協働して、TTSバッファ105に蓄積されている乱れたパケットの受信順序を正常に戻す処理を行う。
【0068】
ステップS10、TSパケットの出力再開
パケット置換処理部106Aは、パケット出力部107に対してパケット置換データS106Aを解除する指示を行う。これにより、パケット出力部107は、TTSバッファ105からのTSパケットの出力を再開する。
【0069】
ステップS11、復元可能の判定
復元判定部103Aは、欠落したパケットを復元可能か否かを判定する。
復元可能な場合はステップS12の処理に移行し、復元できない場合は、処理を終了する。なお、復元できない場合は、ステップS4において欠落したパケットには代替パケットとして、Nullデータが挿入されている。
【0070】
ステップS12
パケット置換部106のパケット置換処理部106Aは、パケット置換テーブル106Bを検索して対応するマップエントリを探す。
対応するマップエントリを検索できたら、ステップS13の処理に移行する。
対応するマップエントリを検索できなかったら、処理を終了する。この場合、欠落したパケットに対応する部分には代替パケットとして、ダミーパケットが残る。
【0071】
ステップS13、復元処理
復元処理部103Bは、欠落したパケット部分の復元処理を行う。
【0072】
ステップS14、パケット置換処理
パケット置換テーブル106Bは、復元処理部103Bで復元処理した結果に基づいて、TTSバッファ105に蓄積されている欠落したパケットを置換する。
【0073】
以上の処理により、まず、欠落したパケットに対して、代替パケットとして、Nullデータが挿入され、復元可能な場合は代替パケットが挿入された部分が復元されたパケットに置換される。
【0074】
図6は、アダプティブクロック方式に基づく、TTSバッファ105からコンテンツ処理部110へTSパケットの出力処理、すなわち、TTSバッファ105のバッファ処理を示す、フローチャートである。
【0075】
ステップS21、TTSバッファ105の空きを判定
パケット出力部107の出力制御部107Aは、TTSバッファ105が空きか否か判定する。
TTSバッファ105が空いている場合、ステップ31の処理に移行し、TTSバッファ105にパケットが存在していれば、ステップ22の処理に移行する。
【0076】
ステップS22、タイムスタンプの比較の有効性
出力制御部107Aは、TTSバッファ105に蓄積されているタイムスタンプ付きのTSパケットのタイムスタンプと、カウンタ107Bのカウント値を比較して、比較の有効性を判定する。
比較が有効でない場合は、ステップ31の処理に移行する。
【0077】
ステップS23、タイムスタンプの比較
出力制御部107Aは、TTSバッファ105に蓄積されているタイムスタンプ付きのTSパケットの先頭のパケットのタイムスタンプと、カウンタ107Bのカウント値を比較する。
【0078】
ステップS24、25
ステップS24における出力制御部107Aの比較により、TTSバッファ105に蓄積されているTSパケットの先頭のパケットのタイムスタンプが、カウンタ107Bのカウント値より大きい場合は、ステップS25の処理に移行する。
ステップS25において、出力制御部107Aは、タイムスタンプの差分がしきい値以内か否かを判定する。
【0079】
ステップS26、パケットの即時出力
ステップS25において、出力制御部107Aが、タイムスタンプの差分がしきい値以内と判定した場合、出力制御部107Aは、TTSバッファ105と協働して、TTSバッファ105からTSパケットをコンテンツ処理部110に即時出力する。
【0080】
ステップS27、パケットの破棄
ステップS25において、出力制御部107Aが、タイムスタンプの差分がしきい値以内と判定しなかった場合、出力制御部107Aは、TTSバッファ105と協働して、からTSパケットを破棄する処理を行う。
【0081】
ステップS28、タイムスタンプの一致判定
出力制御部107Aは、TTSバッファ105に蓄積されているTSパケットのタイムスタンプと、カウンタ107Bのカウント値を比較して、両者の値が一致しているか否かを判定する。
【0082】
ステップS29、TSパケットの出力
出力制御部107Aは、TTSバッファ105に蓄積されているTSパケットののタイムスタンプと、カウンタ107Bのカウント値とが一致している場合、TTSバッファ105と協働して、TTSバッファ105に蓄積されているTSパケットをコンテンツ処理部110に出力する。
【0083】
ステップS30、カウンタ一致を待つ
出力制御部107Aは、TTSバッファ105に蓄積されているTSパケットののタイムスタンプと、カウンタ107Bのカウント値とが一致していない場合、一致するまで待機する。
【0084】
ステップS31、カウンタ107Bのインクリメント
出力制御部107Aは、上記バッファ処理に伴い、カウンタ107Bのカウントを増加させる。
【0085】
図5および図6を参照して述べた受信処理部100における処理により、パケットの復元処理手段における欠落したパケットの復元処理のために、TTSバッファ105のバッファ処理の影響がなくなる。その結果、TTSバッファ105のバッファ量の変動が小さくなる。したがって、TTSバッファ105の蓄積量(滞留量)を監視してクロック同期を行うアダプティブクロック方式の精度が向上する。換言すれば、アダプティブクロック方式を効果的に活用することができる。
【0086】
以下、本実施の形態と従来方法との結果の対比を行う。
図7(A)は従来のアダプティブクロック方式の結果を示す図であり、図7(B)は本発明の上記実施の形態による結果を示す図である。
バッファ(本発明の実施の形態のTTSバッファ105)の蓄積量があるしきい値に達したときにクロックの同期制御を行う。
このしきい値は、バッファのオーバーフローまたはアンダーフローを回避するため、TSデータが通信網を通過するときに受けるジッタを考慮して設定されることがある。
【0087】
本発明の実施の形態のコンテンツ処理部110によれば、欠落したパケットの復元処理によって、復元処理手段のTTSバッファ105のバッファ処理の影響がなくなるため、図7(B)に示したように、TTSバッファ105のしきい値を小さく設定するこができる。その結果、TTSバッファ105の容量を削減することができる。
【0088】
本発明の実施の形態に際しては、上述した実施の形態に限定されず、種々の変形態様をとることができる。
たとえば、受信処理部100の構成を、図4に図解した例示においては、IP処理部101、RTPバッファ102、復元部103、Nullパケット処理104、TTSバッファ105、パケット置換部106、パケット出力部107、クロック同期部108と機能分離した構成としたが、必ずしも、この例示的な構成には限定されない。
第1のバッファ手段としてのRTPバッファ102と、第2のバッファ手段としてのTTSバッファ105とは分離する必要がある。しかしながら、たとえば、復元部103、Nullパケット処理104、パケット置換部106は、図4を参照して述べた処理内容からも自明なように、これらの処理は連携して行う必要があることから、一体に構成した信号処理装置、たとえば、コンピュータを用いた信号処理装置で実現することもできる。
【0089】
同様に、たとえば、復元部103の構成を、復元判定部103Aと、復元処理部103Bに分離したことも例示であり、これらの処理を一体的な装置が実現することもできる。
【0090】
他方、Nullパケット処理104、パケット置換部106、パケット出力部107などの構成も例示であり、たとえば、これらの装置をそれぞれ一体的な装置によって構成することができる。
【0091】
したがって、本発明のデータ受信処理方法としては、たとえば、図4および図5を参照した述べた例示した処理内容を実現する内容であればよい。
【0092】
本発明の実施の形態として、たとえば、IPテレビジョン装置への適用を例示したが、本発明のデータ受信処理方法およびデータ受信処理装置は、IPテレビジョン装置への適用に限定される訳ではなく、上述した処理内容だ適用可能な種々の装置に適用できる。
【図面の簡単な説明】
【0093】
【図1】図1はアダプティブクロック方式を適用した従来のデータ受信処理装置を想定した構成図である。
【図2】図2は従来の欠落したパケットを復元する方法を説明する図である。
【図3】図3は本発明の受信機の実施の形態の構成図である。
【図4】図4は図3に図解した本発明の実施の形態の受信処理部の構成図である。
【図5】図5は図4に図解した受信処理部におけるパケットの受信信号処理を示すフローチャートである。
【図6】図6は図4に図解した受信処理部におけるパケットの出力処理を示すフローチャートである。
【図7】図7(A)は従来のアダプティブクロック方式の結果を示す図であり、図7(B)は本発明の上記実施の形態による結果を示す図である。
【符号の説明】
【0094】
1…通信システム、10…通信網、11…送信機、12…受信機、100…受信処理部、110…コンテンツ処理部、101…IP処理部、102…RTPバッファ、103…復元部、103A…復元判定部、103B…復元処理部、104…Nullパケット処理部、104A…Nullデータ挿入判定部、104B…タイムスタンプ算出部、104C…Nullパケット挿入部、105…TTSバッファ、106…パケット置換部、106A…パケット置換処理部、106B…パケット置換テーブル、107…パケット出力部、107A…出力制御部、107B…カウンタ、クロック同期部
S10…受信IPパケット、S101…RTPパケットデータ、S102…タイムスタンプ(TimeStamp)付きTSパケット、S103…復元完了通知信号、S104A…挿入用ダミーデータ(代替データ)、S104B…挿入用ダミーデータ位置・番号信号、S105…タイムスタンプ無しTSパケット

【特許請求の範囲】
【請求項1】
パケット化されたコンテンツ情報に各パケットの出力順序を示す連続性を示す情報が付加されたストリームを入力する入力手段と、
該入力手段で入力した前記連続性を示す情報が付加されたストリームを保存する第1のバッファ手段と、
該第1のバッファ手段から出力されたストリームを蓄積する第2のバッファ手段と、
少なくとも、前記第1のバッファ手段に入力されるストリーム内の連続性の有無に基づいてパケットに欠落が生じたことを検出し、前記第2のバッファ手段に記憶されている検出した欠落したパケットデータ部分に代替パケットを挿入し、欠落したパケットが復元処理可能な場合、復元したパケットを前記第2のバッファ手段に保存された代替パケットを置き換える、復元処理手段と、
前記第2のバッファ手段に蓄積されたパケットデータを出力する出力制御手段と
を備えたデータ受信処理装置。
【請求項2】
前記第1のバッファ手段は、前記入力手段から入力されたストリームおよび前記復元処理に必要なパケットのみを保存する、
請求項1に記載のデータ受信処理装置。
【請求項3】
前記復元処理手段は、前記第1のバッファ手段に保存されるストリーム内のパケットの番号の順序が乱れていることを検出した場合に、前記第2のバッファ手段に保存されたパケットの順序を正しく修正する、
請求項1に記載のデータ受信処理装置。
【請求項4】
前記復元処理手段は、
復元部と、
代替パケット処理部と、
パケット置換部と
を有し、
前記復元部は、前記パケットの欠落を検出し、前記パケットの順番の不規則を検出する復元判定部と、前記欠落したパケットを復元する復元処理部とを有し、
前記代替パケット処理部は、代替パケットデータ挿入判定部と、欠落したパケットの数と位置を算出するタイムスタンプ算出部と、前記第2のバッファ手段に代替パケットを挿入する処理を行う代替パケット挿入部とを有し、
前記パケット置換部は、欠落したパケットの置換処理を行うパケット置換処理部と、パケット置換テーブルとを有する、
請求項1〜3のいずれかに記載のデータ受信処理装置。
【請求項5】
前記第2のバッファ手段への前記第1のバッファ手段から出力されたストリームの蓄積および、前記出力制御手段による前記第2のバッファ手段からのパケットデータの出力は、アダプティブクロック方式に基づくクロック同期による、
請求項1〜4のいずれかに記載のデータ受信処理装置。
【請求項6】
前記パケット化されたコンテンツ情報は、映像データおよび音声データを圧縮して多重化したパケットデータを含み、
前記各パケットの出力順序を示す連続性を示す情報は、タイムスタンプを含む、
請求項1〜5のいずれかに記載のデータ受信処理装置。
【請求項7】
第1のバッファ手段と、第2のバッファ手段とを有する受信装置におけるデータ受信処理を行うため、
入力されるパケット化されたコンテンツ情報に各パケットの出力順序を示す連続性を示す情報が付加されたストリームを入力する工程と、
該入力手段で入力した前記連続性を示す情報が付加されたストリームを前記第1のバッファ手段に保存する第1のバッファ処理工程と、
該第1のバッファ手段から前記ストリームを読みだして前記第2のバッファ手段に蓄積する第2のバッファ処理工程と、
少なくとも、前記第1のバッファ手段に入力されるストリーム内の連続性の有無に基づいてパケットに欠落が生じたことを検出する工程と、
前記パケットの欠落を検出したとき、前記第2のバッファ手段に記憶されている検出した欠落したパケットデータ部分に代替パケットを挿入する代替パケット挿入工程と、
前記欠落したパケットが復元処理可能な場合、復元したパケットを前記第2のバッファ手段に保存された代替パケットを置き換える、置換工程と
前記第2のバッファ手段に蓄積されたパケットデータを出力する出力制御工程と
を有するデータ受信処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−41496(P2010−41496A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−203242(P2008−203242)
【出願日】平成20年8月6日(2008.8.6)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】