JP6529299B2 - 送信装置、受信装置、方法及びプログラム - Google Patents

送信装置、受信装置、方法及びプログラム Download PDF

Info

Publication number
JP6529299B2
JP6529299B2 JP2015058539A JP2015058539A JP6529299B2 JP 6529299 B2 JP6529299 B2 JP 6529299B2 JP 2015058539 A JP2015058539 A JP 2015058539A JP 2015058539 A JP2015058539 A JP 2015058539A JP 6529299 B2 JP6529299 B2 JP 6529299B2
Authority
JP
Japan
Prior art keywords
data
packet
fec
data packet
stream
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
Application number
JP2015058539A
Other languages
English (en)
Other versions
JP2016178549A (ja
Inventor
毅 小澤
毅 小澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015058539A priority Critical patent/JP6529299B2/ja
Priority to US15/070,183 priority patent/US10116415B2/en
Publication of JP2016178549A publication Critical patent/JP2016178549A/ja
Application granted granted Critical
Publication of JP6529299B2 publication Critical patent/JP6529299B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)

Description

本発明は、ストリームデータを送・受信する送信装置、受信装置、送信方法、受信方法、及びプログラムに関する。
近年、動画データのネットワーク伝送が世界的に利用されている。映像の高画素化とユーザの利用形態の多様化に伴い、今後は例えばSVC(Scalable Video Codec)技術を用いて、一つの映像データをユーザの要求に応じた解像度と品質でリアルタイム伝送することも要求されている。なお、SVCは、動画像データをフレームレートに関して階層符号化する(時間階層符号化)技術に関し、H.264/AVCの拡張方式として提案されている。
また、インターネット及びLANネットワークを介してリアルタイムに動画データをストリーム伝送する有力な標準技術にRTP(Realtime Transport Protocol)がある。RTPは、いわゆるOSI参照モデルのセッション層のプロトコルに当たり、トランスポート層にはUDP(User Datagram Protocol)が組み合わせて用いられることが一般的である。OSI(Open Systems Interconnection)参照モデルは、国際標準化機構(ISO)によって策定されたモデルであり、通信プロトコルを七つの階層に分けて定義している。なお、UDPは、動画データのリアルタイムストリーミングに有効な技術ではあるが、伝送中にパケット損失が発生して受信側で動画データが破損した場合、得られる映像の品質は低下してしまう。
このため、特許文献1には、UDPの上位プロトコルであるRTPを用いた通信において、損失パケットを回復する際にFEC(Forward Error Correction:前方誤り訂正)を用いる技術が開示されている。FECは、動画データのパケットに加え、伝送エラーとなってしまった動画データパケットを復元するためのデータパケットを同時に送信する技術である。なお、以下の説明では、動画データのパケットをメディアパケットと呼び、そのメディアパケットを復元するためのデータパケットをFECパケットと呼ぶこととする。FECパケットは、一つ以上のメディアパケットをグループ化し、それらメディアパケットに対しFEC生成演算を行って生成される。主に用いられているFEC生成演算にはXOR演算やリードソロモン演算がある。FECパケットを生成する際のメディアパケットのグループを指定する方法は、「汎用前方誤り訂正用RTPペイロードフォーマット」のRFC5109で定義される。
また、メディアパケットが許容量以上に損失してしまい、FECによる復元が不可能となる場合の解決策として、FECと再送制御を併用するいわゆるハイブリッドARQという方法がある。特許文献1には、FECパケットの送信と再送制御を併用することが記載されている。なお、再送制御とは、パケットの損失が発生した場合に、受信側が送信元に対して、その損失したパケットの再送信を要求し、送信元がそのパケットを受信側へ再送信する技術である。ハイブリッドARQでは、受信側は損失したパケットをFECでも復元できないと判断すると、送信元にそのパケットの再送信を要求する。
特開2010−141413号公報
ところで、動画データのリアルタイム伝送では、メディアパケットが正確に伝送されることと、伝送量が過大にならないこと、そしてメディアパケットの伝送から映像データおよび音声データの復号までの処理が可能な限り短い時間で実行されることが要求される。このような要求を満たすために、従来、映像,音声の両ストリームとそれらに付随するメタデータストリームのそれぞれにおいて、適切な量のFECパケットが生成されて伝送される。
また、SVCの場合、映像データは、基本レイヤーと一つ以上の拡張レイヤーの各データストリームとして伝送される。例えばユーザが要求する映像の解像度に応じて、基本レイヤーと拡張レイヤーのデータが伝送される。この場合、複数のユーザに対して異なる解像度のデータを同時に伝送することを考慮して、基本レイヤーと各拡張レイヤーのストリームは、それぞれ別のストリームとして伝送される。このように、SVCでは、一つの動画のデータ伝送は、複数のデータストリームで構成されることになるが、各ストリームのデータ量は大きく異なる。例えば、映像解像度の拡張性(Spacial Scalable)を採用した場合のSVCの動画データの場合、各レイヤーのデータ量は、基本レイヤーから上位の拡張レイヤーへ上がるにしたがって増大する。なお、映像データと音声データを比べると、音声のほうが一般的にデータ量は少ない。
しかしながら、ストリームによってデータ量に大きな違いがあったとしても、全体の伝送量を大きく増大させないために、メディアパケット数に対するFECパケット数は大きく変化させることはできない。したがって、データ量が大きいストリームに比べてデータ量が小さいストリームは、FEC生成のためのメディアパケットのグループが時間軸方向に広げられることになる。このことは、FEC生成を遅らせることにつながり、更にハイブリッドARQによるエラー復元失敗時の再送要求の実行の遅延を招き、結果としてリアルタイム性を損ねることにつながる。また、SVCの下位レイヤーでは、データ量が少ないために、複数のフレームを横断してFEC生成のグループ化が行われ易い。この場合、エラーが発生したフレームのパケットだけでなく、その次のフレームのパケットの到着を待たなければエラー回復は実行できないことになり、このこともリアルタイム性を損なう要因となる。さらに、SVCでは、下位レイヤーの復号化が完了しなければ、その上位レイヤーの復号化も完了できない。したがって、例えば下位レイヤーの復号化が失敗、或いは遅延することは、SVCの映像品質に影響を与えてしまう。このように、データが複数のレイヤーに分けられてレイヤーごとにストリームデータを伝送するSVCのような方式の場合、エラー回復の遅延によってリアルタイム性が損なわれる虞がある。
そこで、本発明は、エラー回復の遅延を防止可能にすることを目的とする。
本発明の送信装置は、送信データを構成するデータパケットであって第1のデータストリームによって送信される第1のデータパケットと、前記送信データを構成するデータパケットであって前記第1のデータストリームと異なる第2のデータストリームによって送信される第2のデータパケットとを用いて、損失データパケットを復元するための復元用データケットを生成する生成手段と、前記第1のデータパケット及び前記第2のデータパケットの送信に応じて、前記生成手段によって生成された一つの復元用データケットを送信する送信手段とを有する。
本発明によれば、エラー回復の遅延を防止することができる。
送信装置と受信装置とネットワークからなる全体構成を示す図である。 FECパケットの送信と再送信要求タイミングの説明に用いる図である。 実施形態の送信装置の機能ブロック構成を示す図である。 FEC生成処理のフローチャートである。 第1の実施形態におけるRTPヘッダ部の拡張領域の構成を示す図である。 第1、第2の実施形態のFEC生成情報テーブルの説明に用いる図である。 第1、第2の実施形態のFEC演算処理のフローチャートである。 実施形態の受信装置の機能ブロック構成を示す図である。 FEC復元処理のフローチャートである。 第1、第2の実施形態のFEC復元処理のフローチャートである。 第2の実施形態におけるFECヘッダの拡張領域の構成を示す図である。 実施形態の送信装置のハードウェア構成を示す図である。
<第1の実施形態>
以下、一例としてSVC技術を用い、動画像データと音声データをそれぞれ転送レートの異なる複数のストリームデータとして送・受信する例について説明する。SVC技術を用いる場合に限られず、本発明は、動画像データや音声データなどのデータを複数のデータストリームを用いて送信する場合に適用可能である。たとえば、SVC技術に代えて、HEVC(High Efficiency Video Coding)技術を用いることとしてもよい。本実施形態では、特に動画像のストリームデータを例に挙げて説明する。動画像のストリームデータは、複数のデータパケットに分割される。以下、本実施形態では、動画像のデータストリームのデータパケットを、メディアパケットと表記する。また、本実施形態では、メディアパケットに加え、伝送エラーとなってしまったメディアパケットを復元するための復元用データのパケットを同時に送信する。本実施形態では、前方誤り訂正(FEC)技術を用いた誤り訂正によるパケット復元を行う例を挙げる。なお、以下の説明では、FECによる損失パケットの復元用データパケットをFECパケットと表記する。
図1には、本実施形態の動画像送信装置101(以下、送信装置101とする。)と動画像受信装置103(以下、受信装置103とする。)を含むシステムの全体の構成例を示す。送信装置101は、ネットワーク102を介して受信装置103と接続している。送信装置101は、例えば動画ストリーミングサーバである。送信装置101は、映像データと音声データのストリームをRTP方式のメディアパケットとして送信する機能と、それらメディアパケットに対して後述するようにして生成される本実施形態のFECパケットをRTP方式で送信する機能とを有する。また、送信装置101は、受信装置103からの再送信要求(RTCP否定応答)に応じて、再送指定されたメディアパケットを再送信するパケット再送機能をも有する。受信装置103は、動画ストリームを受信する例えばクライアント端末である。受信装置103は、送信装置101から送信されたメディアパケットとFECパケットを受信する機能と、損失データパケットがある場合には、FECパケットと損失していないデータパケットとを用いて損失データパケットを復元する機能とを有する。また、受信装置103は、ストリーミング再生の際に、損失等により不足してしまうメディアパケットの再送信を、送信元である送信装置101に要求する機能を有する。
ここで、図1の送信装置101と受信装置103の詳細な説明を行う前に、本実施形態の送信装置101が生成するFECパケットの理解を容易にするために、先ず、SVCにおけるレイヤーとFECパケットについて簡単に説明する。
SVCでは、前述したように、複数のユーザに対して異なる解像度のデータを同時に伝送することを考慮して、基本レイヤーと各拡張レイヤーのデータストリームは、それぞれ別のストリームとして伝送される。送信データは、第1の解像度を有する画像を受信装置が表示するために用いる基本レイヤーのデータと、第1の解像度よりも解像度が高い第2の解像度を有する画像を受信装置が表示するために基本レイヤーのデータとともに用いる拡張レイヤーのデータとを含む。送信装置は、基本レイヤーのデータを第1のデータストリームによって送信する。また、拡張レイヤーのデータを第2のデータストリームによって送信する。前述したように、SVCでは、フレームごとに、下位レイヤーのデータがなければ、その上位レイヤーの復号化も完了できない。すなわち、SVCでは、上位レイヤーのデータは、下位レイヤーに対する差分データとなされているため、下位レイヤーのデータが先に伝送され、その後、上位レイヤーのデータが伝送される。そして、先に下位レイヤーのデータが復号化され、上位レイヤーのデータは下位レイヤーの復号データを元に復号化される。言い換えると、下位レイヤーは、上位レイヤーよりも伝送優先順位が高くなされている。このように、SVCでは、各レイヤーのストリームデータは互いに関連したデータとなっている。
また、前述したように、各レイヤーのデータ量は、基本レイヤーから上位の拡張レイヤーへ上がるにしたがって増大する。ただし、前述したように、全体の伝送量の制限から、メディアパケット数に対するFECパケット数は大きく変化させることができない。したがって、データ量の少ない下位レイヤーは、図2(a)を用いて後述するように、FEC生成のためのメディアパケットのグループが時間軸方向に広げられる。特にSVCの下位レイヤーでは、データ量が少ないために、複数のフレームを横断して(複数のフレームに跨った)FEC生成のグループ化が行われ易い。
また、前述したように、FECパケットは、一つ以上のメディアパケットをグループ化し、それらメディアパケットに対してFEC生成演算を行って生成される。以下、本実施形態では、FEC演算の対象となる複数のメディアパケットのグループを、FECグループと表記する。RFC5109では、メディアパケットのストリームを識別可能とする識別情報(識別子)であるSSRC(Synchronization Source)によりストリームが指定される。さらに、メディアパケットを特定可能とするパケット識別情報であるRTPシーケンス番号を指定することにより、ストリームの中からFECグループの対象とするとメディアパケットが特定される。なお、一つのFECパケットが指定できるメディアパケット、すなわち一つのFECグループとして指定できるメディアパケットは、同一のSSRCを持ち、最大で48個の連続したRTPシーケンス番号を持つものである。
図2(a)には、SVCの規格において、3つのレイヤーによりストリームデータを送信する際の、FECパケットの受信タイミングと、FEC復元処理の失敗に対する再送信判断が可能となるタイミングの一例を示す。図2(a)では、一つのパケットを四角形で表現し、その中で特にFECパケットには「F」の文字を入れている。また、SVCの規格では、前述したように、下位レイヤーのデータがなければ、その上位レイヤーの復号化も完了できない。このため、SVCでは、フレームごとに、基本レイヤーのストリーム送信の完了後に第1拡張レイヤーのストリームの送信が行われ、第1拡張レイヤーのストリーム送信の完了後に第2拡張レイヤーのストリームの送信が行われる。
図2(a)の例では、ストリームデータにはIDRフレームとPフレームが含まれる。なお、IDRフレームとPフレームは、AVC規格により決められているフレームである。IDRフレームのデータ、および、Pフレームのデータは、それぞれ、基本レイヤーのデータ、第1拡張レイヤーのデータ、および、第2拡張レイヤーのデータを含んでいる。図2(a)の例では、基本レイヤー、第1拡張レイヤー、第2拡張レイヤーのそれぞれのレイヤーにおいて、10個のメディアパケット1100を含む一つのFECグループに対して一つのFECパケット1101が生成されて送信される。図2(a)の例では、IDRフレームを構成する基本レイヤーのメディアパケット数は6個である。基本レイヤーのメディアパケットを用いて一つのFECパケットを生成するためには、IDRフレームを構成する基本レイヤーのメディアパケット6個と、Pフレームを構成する基本レイヤーのメディアパケット4個の計10個のメディアパケットを用いる必要がある。また、図2(a)の例では、IDRフレームを構成する第2拡張レイヤーのメディアパケット数は14個である。したがって、14個のうち10個のメディアパケットを用いて一つのFECパケットを生成することになる。続いて、残りの4個のメディアパケットと、Pフレームを構成する第2拡張レイヤーのメディアパケット6個を用いて一つのFECパケットを生成することになる。このように、図2(a)の例では、基本レイヤーと第2拡張レイヤーに関してはFECグループが、IDRフレームとPフレームに分かれている。このため、図2(a)の例の場合、基本レイヤーと第2拡張レイヤーに関しては、例えばFEC復元が失敗して再送信要求の必要があるか否かを判断可能となるタイミングは、IDRフレームの次のPフレーム中のFECパケットの到着後となる。
すなわち、図2(a)に示したFEC生成の場合は、データ量の異なる複数のストリームで構成されるデータの伝送に対し、リアルタイム性を担保しながら、適切なFECパケット数でエラー回復を制御することが難しくなる虞がある。
このため、本実施形態の送信装置101は、各レイヤーのストリームに含まれる複数のメディアパケットのなかから、各メディアパケットが送信される際の時系列順に、設定された個数のメディアパケットを集めて、FECグループを形成する。そして、送信装置101は、それら設定個数のメディアパケットのFECグループから、FECパケットを生成する。
図2(b)には、本実施形態において、3つのレイヤーによりストリームデータを送信する際に送信元で生成されるFECパケットと、受信側においてFEC復元処理の失敗に対する再送信判断が可能となるタイミングとを示す。この図2(b)では、図2(a)の例と同様に、一つのパケットを四角形で表現し、その中で特にFECパケットには「F」の文字を入れている。また、図2(b)においても図2(a)と同様に、各レイヤーにおけるストリーム送信は、フレームごとに、各レイヤーの伝送優先順位に応じて行われる。すなわち、フレームごとに、基本レイヤーのストリーム、次に第1拡張レイヤーのストリーム、その後、第2拡張レイヤーのストリームの順に、ストリームデータの伝送が行われる。
ただし、図2(b)の場合は、送信データの送信期間のうち一部の期間内に送信される所定数のデータパケットを含むFECグループが形成され、FECグループに含まれるデータパケットに基づいて前記復元用データのFECパケットが生成される。FECグループは、各レイヤーの各ストリームに含まれている複数のメディアパケットのなかで、送信される際の時系列順に、設定された個数のメディアパケットが集められて形成される。すなわち、本実施形態の場合、FECグループは、各レイヤーを横断するように、送信の時系列順に設定個数のメディアパケットが集められてFECグループが形成される。なお、図2(b)の例では、FECグループを形成するメディアパケットの設定個数として、10個を例に挙げている。
そして、図2(b)の場合、各レイヤーに含まれる複数のメディアパケットのなかから送信の際の時系列順に集められた10個のメディアパケットを用いて、FEC演算によるFECパケットが生成される。すなわち、図2(b)の場合、IDRフレームでは、基本レイヤーの6個のメディアパケット1110と第1拡張レイヤーの4個のメディアパケット1111からなる送信時系列順の10個のメディアパケットが一つのFECグループとなされる。そして、それら基本レイヤーと第1拡張レイヤーを跨いでFECグループに含められた送信時系列順の10個のメディアパケットから、FECパケット1102aが生成される。次に、第1拡張レイヤーの6個のメディアパケット1112と第2拡張レイヤーの4個のメディアパケット1113からなる送信時系列順の10個のメディアパケットが一つのFECグループとなされる。そして、それら第1拡張レイヤーと第2拡張レイヤーを跨いでFECグループに含められた送信時系列順の10個のメディアパケットから、FECパケット1102bが生成される。さらに、図2(b)の例の場合、次の10個の送信時系列順のメディアパケットは、第2拡張レイヤーの10個のメディアパケット1114となる。このため、これら10個のメディアパケット1114が一つのFECグループとなされてFECパケット1102cが生成される。Pフレームでは、基本レイヤーの4個のメディアパケット1115と第1拡張レイヤーの5個のメディアパケット1116と第2拡張レイヤーの1個のメディアパケット1117からなる時系列順の10個のメディアパケットが一つのFECグループとなされる。そして、それら基本レイヤーと第1拡張レイヤーと第2拡張レイヤーを跨いでFECグループに含められた送信時系列順の10個のメディアパケットから、FECパケット1102dが生成される。以下、次のメディアパケット1118以降においても前述同様になされる。すなわち、この図2(b)の例の場合は、前述の図2(a)のようにIDRフレームとPフレームとを跨ぐような(横断するような)FECグループは、生成されていないことになる。このようにして、第1のデータパケットと第2のデータパケットとを用いて、損失データパケットを復元するための復元用データのパケットを生成する。第1のデータパケットとは、送信データを構成するデータパケットであって第1のデータストリームによって送信されるデータパケットである。また第2のデータパケットとは、送信データを構成するデータパケットであって第1のデータストリームと異なる第2のデータストリームによって送信されるデータパケットである。
また、本実施形態において前述のようにして生成されたFECパケットは、一例として、FECパケットの伝送のために別途用意したレイヤーにより送信することができる。また、FECパケットは、例えば、基本レイヤーのメディアパケットのストリームに付加されて送信されてもよい。その他にも、FECパケットは、例えば音声データ用のストリームに付加して送信されてもよい。そして、詳細は後述するが、本実施形態では、後述するような各メディアパケットとFECグループとストリームをそれぞれ識別可能な識別情報が、RTPのメディアパケットのヘッダの拡張領域内に記述される。これにより、本実施形態によれば、何れのストリームに含まれるメディアパケットによってFECグループが形成されているのかを特定可能となっている。
本実施形態の図2(b)の例と、前述したSVCの規定によるFECパケットの図2(a)の例とを比較すると、図2(a)の場合は、基本レイヤーと第2拡張レイヤーにおいて、一つのFECグループがIDRフレームとPフレームを跨いでしまっている。したがって、図2(a)の例の場合、前述したように、基本レイヤーと第2拡張レイヤーに関しては、受信側でFEC復元の失敗による再送信要求の判断が可能となるタイミングはIDRフレームの次のPフレーム中のFECパケットの到着後になってしまう。これに対して本実施形態の図2(b)の場合、受信側では、各レイヤーのストリームを区別せずに、送信の際の時系列順の設定個数のメディアパケットからなるFECグループごとに、再送信要求の可否判断が行われる。すなわち、図2(b)の例の場合、受信側におけるFEC復元失敗と再送信要求の可否判断は、本実施形態のFECグループの対象となっている送信時系列順の設定個数のメディアパケットの受信直後のタイミングで可能となる。図2(b)の例の場合、FEC復元失敗と再送信要求の可否判断のタイミングは、IDRフレーム内となっており、図2(a)のように次のPフレームまで遅延してしまうことはない。このように、図2(b)の例では、リアルタイム性が求められるストリーム伝送において例えばエラー回復が失敗してパケットの再送信要求が行われる場合に、受信側は、図2(a)の例よりも早く再送信要求を行える。また、図2(b)の例では、データ量の異なる複数のストリームを伝送する場合に、FECデータ量(FECパケット数)の割合を略々一定に保ちながらも、エラー回復に必要なメディアパケットの時間的なばらつきが抑えられている。したがって、本実施形態では、エラー回復が容易で、且つ迅速なリアルタイムストリーム伝送が可能となる。以上のように、本実施形態によれば、レイヤーごとにデータ量の異なるストリームデータを伝送する場合において、リアルタイム性を担保しながら、適切なデータ量のFECによるエラー回復制御を実現することが可能となっている。すなわち、本実施形態では、FECによるエラー回復の遅延防止と、伝送データ全体の量をより効率的に制御可能としている。
次に、図2(b)に示したようなFECパケット生成を可能とする、本実施形態の送信装置101の詳細な構成を図3に示す。図3の各ブロックの機能の一部又は全体は、一例としてハードウェアにより実現することができる。なお、図3のパケットバッファ207(以下、バッファ207とする。)は、例えばHDDや大容量半導体メモリとなされる。FEC生成情報格納部208(以下、格納部208とする。)は、後述するFEC生成情報テーブルを格納するメモリ等である。また、図3に示した各ブロックの機能の一部又は全体は、記録媒体に記録されたプログラムをプロセッサが実行することにより実現されてもよい。プロセッサがプログラムを実行して図3の各ブロックの機能を実現する場合の構成例の図と説明については後述する。
図3に示す送信装置101において、映像入力部201は、例えば図示しないデータストレージ装置などから映像データを取得する。映像入力部201に入力された映像データは、映像符号化部202へ送られる。映像符号化部202は、映像データを圧縮符号化して、前述したような複数のレイヤーでストリーム伝送される、複数のストリームデータを形成する。映像符号化部202は、複数のストリームデータをパケット生成部203へ出力する。パケット生成部203は、圧縮符号化された映像データからなるストリームデータを、RTP送信用のパケットデータに分割して、バッファ207へ出力する。なお、以下の説明では、記載を簡略にするため、パケットデータを「パケット」と表記する。バッファ207は、パケットを格納する。音声入力部204は、図示しないデータストレージ装置などから音声データを取得する。音声入力部204に入力された音声データは、音声符号化部205へ送られる。音声符号化部205は、音声データを圧縮符号化してパケット生成部206へ出力する。パケット生成部206は、圧縮符号化された音声データからなるストリームデータを、RTP送信用のパケットに分割して、バッファ207へ出力する。バッファ207は、パケットを格納する。図3において、バッファ207に保持されているパケットが、前述のメディアパケットに相当する。
FECパケット生成部209は、バッファ207に保持されているメディアパケットの中から、格納部208の後述するFEC生成情報テーブルを参照してFECグループの対象となる各メディアパケットを順次読み出してFECパケットを生成する。なお、FEC生成情報テーブルの詳細については後述する。そして、FECパケット生成部209は、FEC生成処理が行われた後のメディアパケットをパケット送信部210へ渡す。送信部210は、メディアパケットを受信装置103へ送信する。また、FECパケット生成部209は、FEC生成処理による生成が完了したFECパケットを、送信部210に渡す。送信部210は、FECパケットを受信装置103へ送信する。また、FECパケット生成部209は、FECパケットをバッファ207へ送る。バッファ207は、FECパケットを格納する。FECパケット生成部209が行うFECパケット生成処理の詳細については後述する。
パケット受信部213は、受信装置103からパケットが送られてきた場合、そのパケットを受信する。受信部213は、受信したパケットがRTCPパケットである場合、RTCP解析部212に対して、そのRTPCパケットの解析処理を依頼する。解析部212は、RTCPパケットを解析する。解析部212は、解析したRTCPパケットが再送信要求(RTCP否定応答)のパケットである場合、再送部211に対して、再送信要求されたメディアパケットの再送信を依頼する。再送部211は、再送信依頼されたメディアパケットを、バッファ207から読み出し、送信部210に対して、受信装置103への送信を依頼する。これにより、送信部210は、再送信依頼されたメディアパケットを受信装置103へ送信する。
次に、本実施形態の送信装置101において、FECパケット生成部209がFECパケットを生成して送信するまでの処理の流れを、図4のフローチャートを参照しながら説明する。
図4において、FECパケット生成部209は、ステップS301として、バッファ207を監視している。そして、FECパケット生成部209は、ステップS302として、パケット生成部203、206からバッファ207へのメディアパケットの入力があったか否かを判断する。FECパケット生成部209は、ステップS302においてメディアパケットの入力がないと判断した場合、処理をステップS301へ戻し、バッファ207を監視する。一方、FECパケット生成部209は、ステップS302においてメディアパケットの入力があったと判断した場合、処理をステップS303へ進める。
ステップS303では、FECパケット生成部209は、そのメディアパケットをバッファ207から読み込む。ステップS303の後、FECパケット生成部209は、処理をステップS304へ進める。ステップS304では、FECパケット生成部209は、メディアパケットのヘッダの拡張領域から、メディアパケット識別情報であるRTPシーケンス番号とストリーム識別情報であるSSRCを取り出す。なお、ヘッダの拡張領域の詳細については後述する。ステップS304の後、FECパケット生成部209は、処理をステップS305へ進める。
ステップS305では、FECパケット生成部209は、取り出したRTPシーケンス番号とストリーム識別子を検索キーとして、格納部208のFEC生成情報テーブルを検索する。ステップS305の後、FECパケット生成部209は、処理をステップS306へ進める。
ステップS306では、FECパケット生成部209は、FEC生成情報テーブルの検索結果から、ステップS303で読み込んだメディアパケットの属するFECグループのFECパケットが、既に作成されてバッファ207に保持されているか否かを判断する。FECパケット生成部209は、ステップS306において、該当するFECパケットが作成済みでバッファ207に保持されていると判断した場合には、処理をステップS307へ進める。
ステップS307では、FECパケット生成部209は、バッファ207からFECパケットを読み出す。ステップS307の後、FECパケット生成部209は、処理をステップS308へ進める。
一方、FECパケット生成部209は、ステップS306において該当するFECパケットがないと判断した場合には、処理をステップS309へ進める。すなわち、ステップS306で該当するFECパケットがないと判断された場合、ステップS303で読み込まれたメディアパケットは、作成済みのFECパケットのFECグループの対象になっていないメディアパケットということになる。ステップS309では、FECパケット生成部209は、新たにFECパケットを生成した後、処理をステップS310へ進める。ステップS310では、FECパケット生成部209は、新たに生成したFECパケットに関する情報を、FEC生成情報テーブルへ登録する。このステップS310の後、FECパケット生成部209は、処理をステップS308へ進める。
ステップS308では、FECパケット生成部209は、ステップS303で読み込まれたメディアパケットを参照して、FECデータの生成演算を行う。このステップS308の後、FECパケット生成部209は、処理をステップS311へ進める。
ステップS311では、FECパケット生成部209は、ステップS308でのFEC演算が終わったメディアパケットを送信部210へ出力する。またこのときのFECパケット生成部209は、後述するように、メディアパケットのヘッダ部の拡張領域に、FECグループの識別情報、ストリーム識別情報、パケット識別情報等を記述する。その後、メディアパケットは、送信部210から受信装置103へ送信されることになる。ステップS311の後、FECパケット生成部209は、処理をステップS312へ進める。
ステップS312では、FECパケット生成部209は、FECグループの対象となっている全てのメディアパケットに対するFEC演算が完了したか否かを判断する。そして、FECパケット生成部209は、FECグループの対象となっている全てのメディアパケットに対するFEC演算が完了したと判断した場合には、処理をステップS313へ進める。一方、FECパケット生成部209は、FECグループの対象となっている全てのメディアパケットに対するFEC演算が完了していないと判断した場合には、処理をステップS315へ進める。
ステップS315では、FECパケット生成部209は、ステップS308のFEC生成演算によるFECデータのFECパケットを、バッファ207へ保持させる。このステップS315の後、FECパケット生成部209は、処理をステップS310へ戻す。
一方、ステップS313では、FECパケット生成部209は、FECパケットを送信部210へ出力する。これにより、FECパケットは、送信部210から受信装置103へ送信されることになる。すなわち、FECパケットは、FECグループの対象となっている各メディアパケットの送信が終わった直後に、受信装置103へ送信されることになる。ステップS313の後、FECパケット生成部209は、処理をステップS314へ進める。
ステップS314では、FECパケット生成部209は、格納部208のFEC生成情報テーブルから該当するFECパケットの登録を削除する。ステップS314の後、FECパケット生成部209は、処理をステップS316へ進める。
ステップS316では、FECパケット生成部209は、全てのストリームの全てのメディアパケットに対するFEC演算が終わり、それらFEC演算が終わった全てのメディアパケットとFECパケットの送信が完了したか否か判断する。そして、FECパケット生成部209は、全ての送信が完了しておらず、未処理のメディアパケットが残っていると判断した場合には、ステップS301へ処理を戻す。一方、FECパケット生成部209は、全ての送信が完了したと判断した場合には、パケット生成処理を終了する。
次に、図5(a)、図5(b)、図6(a)、図7(a)を参照して、図4のステップS308でFECパケット生成部209が行うFEC演算処理の詳細を説明する。
図5(a)、図5(b)は、本実施形態におけるメディアパケットのRTPパケットヘッダ400のフォーマットを示す図である。なお、図5(a)と図5(b)に示している各フィールドは同じであるが、特に図5(b)の例は、各フィールドに具体的な数値が記述された例を示している。図5(b)の場合、図5(a)と区別するために、各フィールドには各参照番号に「b」が付加されている。以下、図5(a)の例を挙げて説明する。
図5(a)は、標準RTPパケットのヘッダ拡張領域を示しており、SSRCフィールド405にはSSRCが記述され、シーケンス番号フィールド404にはRTPシーケンス番号が記述される。SSRCは前述したように、メディアパケットのストリーム識別情報(識別子)であり、このSSRCによりストリームが特定される。また前述したように、パケット識別情報となされているRTPシーケンス番号により、メディアパケットが特定される。すなわち、標準RTPパケットのヘッダ拡張領域を利用することで、前述の図2(b)に示したような各メディアパケットを特定するRTPシーケンス番号の指定が可能となる。また、各メディアパケットが属するストリームを特定するSSRCの指定が可能となる。
さらに、本実施形態では、RTPパケットのヘッダ拡張領域の一部を、FEC用拡張フィールド401として使用する。本実施形態において、FEC用拡張フィールド401は、FEC拡張用識別子フィールド410と、バイト数フィールド411と、FECグループシーケンス番号フィールド412と、非使用フィールド413とが、それぞれ2バイトで構成される。なお、非使用フィールド(n/a)413は、便宜上ヘッダ拡張領域の全体サイズが4の倍数であることが好まれるため挿入されている。ペイロード部420は、データ本体が記述される領域である。
FECグループシーケンス番号(FEC group sequence number)は、RTPストリームのシーケンス番号とは異なり、同じFECグループに属する各レイヤーのストリームのメディアパケットで共用される連続番号である。すなわち、FECグループシーケンス番号は、FECグループを識別するためのグループ識別情報となされている。このFECグループシーケンス番号により、前述の図2(b)に示したような各レイヤーのストリームを横断するようなFECグループの各メディアパケットが何れのFECグループに属しているのかをそれぞれ一意に特定可能となる。なお、本実施形態におけるFECパケットのフォーマットは、RFC5109の定義と同一であるためここでは説明を省略する。
FEC拡張用識別子(profile ID for FEC extension)は、ヘッダ拡張領域が、本実施形態のFEC用拡張フィールドとして使用されていることを識別するための識別情報(識別子)である。バイト数(length)は、FEC用拡張フィールド401のデータ部のバイト数である。
図6(a)は、本実施形態におけるFEC生成情報テーブルの記述内容の一例を示した図である。FEC生成情報テーブルは、FECグループIDとグループ最大パケット数とFECグループシーケンス番号とグループ残り数とストリーム1選択フラグとストリーム2選択フラグとストリーム3選択フラグが一つのエントリーとして登録されている。なお、図6(a)では、ストリーム1,2,3の選択フラグの数値のみ2進数表記であり、他の数値は全て10進数表記である。
図6(a)の例において、グループ最大パケット数は、該当するエントリーのFECグループに属するメディアパケットの数を示している。図6(a)のFECグループIDが「1」のエントリーの場合、グループ最大パケット数として「10」が登録されているため、FECグループに属するメディアパケット数は10個となる。
図6(a)のFECグループシーケンス番号は、図5(a)に示したFEC用拡張フィールド401のFECグループシーケンス番号フィールド412に記述される番号が登録されている。図6(a)のグループ最大パケット数は、一つのFECグループに含まれるメディアパケットの数を示す。図6(a)の例では、IDが「1」のFECグループは、10個のメディアパケットを含むことを示している。また、図6(a)のFECグループシーケンス番号の欄には、同じFECグループに含まれる各メディアパケットを区別するためシーケンス番号が記載される。図6(a)のFECグループシーケンス番号の欄に記載されるシーケンス番号は、メディアパケットに対するFEC演算処理が行われる度に更新される。すなわち、FECグループシーケンス番号の欄に記載されるシーケンス番号は、新たにFEC演算処理が完了したメディアパケットのシーケンス番号で上書きされる。図6(a)のFECグループIDが「1」のエントリーの場合、FECグループシーケンス番号は「3456」の値となされている。この場合、図5(b)のFECグループシーケンス番号フィールド412には、十進法の「3456」を二進法で表現した「0000110110000000」の値が記述されることになる。
図6(a)のグループ残り数は、そのエントリーのFECグループにおいてFEC演算処理が未処理となっている残りのメディアパケット数を示している。図6(a)のFECグループIDが「1」のエントリーの場合、グループ残り数が「5」となっているため、FEC演算処理が未処理のメディアパケットは残り5個となる。
図6(a)のストリーム1選択フラグは、例えば図2(b)の基本レイヤーのストリームに対応している。このストリーム1選択フラグに「1」が立てられている場合、エントリーのFECグループに属するメディアパケットは、基本レイヤーのストリームに含まれていることを示している。ストリーム2選択フラグは、例えば図2(b)の第1拡張レイヤーのストリームに対応している。このストリーム2選択フラグに「1」が立てられている場合、エントリーのFECグループに属するメディアパケットは、第1拡張レイヤーのストリームに含まれていることを示している。ストリーム3選択フラグは、例えば図2(b)の第2拡張レイヤーのストリームに対応している。このストリーム3選択フラグに「1」が立てられている場合、エントリーのFECグループに属するメディアパケットは、第2拡張レイヤーのストリームに含まれていることを示している。図6(a)のFECグループIDが「1」のエントリーの場合、各フラグに「1」が立てられているため、このエントリーのFECグループは、基本レイヤー、第1拡張レイヤー、第2拡張レイヤーのメディアパケットを含んでいることになる。
図6(a)のFECグループIDが「1」のエントリーの場合、RTPヘッダ部のFEC用拡張フィールドには、図5(b)に示すヘッダ400bのFEC用拡張フィールド401bのような各値が記述される。すなわち、図5(b)において、FEC拡張用識別子フィールド410bには、拡張フィールドの使用を明示する拡張フラグとして16ビット分の「1」の値が記述される。また、FECグループシーケンス番号フィールド412bには、図6(a)のFECグループシーケンス番号「3456」を表す16ビットの「0000110110000000」の値が記述される。また、バイト数フィールド411bには、バイト数が「4」を表す16ビットの「0000000000000100」の値が記述される。なお、非使用フィールド413bは全て「0」となされる。
図7(a)は、図4のステップS308のFEC演算処理の詳細な処理の流れを示すフローチャートである。以下、図7(a)のフローチャートを参照しながら、本実施形態のFECパケット生成部209によるFEC演算処理について説明する。
図7(a)において、本実施形態のFECパケット生成部209は、先ず、ステップS601として、図6(a)のFEC生成情報テーブルから、該当するエントリーの情報を読み込む。ステップS601の後、FECパケット生成部209は、処理をステップS602へ進める。
ステップS602では、FECパケット生成部209は、FECパケットのヘッダ部とペイロード部に対してFEC演算(XOR演算)を行う。ステップS602の後、FECパケット生成部209は、処理をステップS603へ進める。
ステップS603では、FECパケット生成部209は、図6(a)のFEC生成情報テーブルのFECグループシーケンス番号の値を更新する。ステップS603の後、FECパケット生成部209は、処理をステップS604へ進める。
ステップS604では、FECパケット生成部209は、メディアパケットのFEC用拡張フィールドにFEC情報(FEC拡張用識別子、バイト数、FECグループシーケンス番号)を記述する。ステップS604の後、FECパケット生成部209は、処理をステップS605へ進める。
ステップS605では、FECパケット生成部209は、図6(a)のFEC生成情報テーブルの該当するエントリーの情報を更新する。このステップS605の処理の完了により、FECパケット生成部209は、図4のフローチャートのステップS308のFEC演算処理を終えて、処理を図4のステップS309へ進める。
以上の処理により、本実施形態の送信装置101は、前述したような、複数のストリームを横断するようなFECグループのメディアパケットを用いて生成されたFECパケットと、各メディアメディパケットを、受信装置103へ送信することができる。
なお、本実施形態では、RTPパケットのヘッダ部の拡張領域の一部をFEC用拡張フィールドとして用い、そのフィールドにFECグループシーケンス番号等を追加している。このため、ペイロード長が減少してネットワークの利用効率への影響が出ることが懸念されるが、RTPのメディアパケットのペイロード長は、FECパケットの最大ペイロード長に対応するために、14バイトから18バイトの縮小が行われる。本実施形態で用いるFEC用拡張フィールド分の8バイトは、その縮小分より小さいため、本実施形態によるメディアパケットのペイロード長の縮小はない。したがって、本実施形態のように、RTPパケットのヘッダ部の拡張領域の一部をFEC用拡張フィールドとして用いたとしても、ネットワークの利用効率に対して影響が出ることはない。また、RTPの規格によれば、RTPパケットのヘッダ部の拡張フィールドは、未対応であればそれを無視して良い仕様となされている。このため、メディアパケットのヘッダ部のFEC用拡張フィールドにFECグループシーケンス番号等を追加することは仕様上問題がない。
次に、本実施形態の送信装置101から送信された各レイヤーのストリームデータを受信する本実施形態の受信装置103の詳細を説明する。図8は、本実施形態の受信装置103の詳細な構成を示す図である。図8の各ブロックの機能の一部又は全体は、一例としてハードウェアにより実現することができる。なお、図8のパケットバッファ707(以下、バッファ707とする。)、復号化情報格納部708(以下、格納部708とする。)は、例えばHDDや大容量半導体メモリとなされる。また、図8に示した各ブロックの機能の一部又は全体は、記録媒体に記録されたプログラムをプロセッサが実行することにより実現されてもよい。プロセッサがプログラムを実行して図8の各ブロックの機能を実現する場合の構成例の図と説明については後述する。
図8に示す受信装置103において、パケット受信部710は、送信装置101から前述したような時系列の順に送信されてきたメディアパケットとFECパケットを受信する。受信部710は、それらメディアパケットとFECパケットの各受信パケットデータをバッファ707へ出力する。バッファ707は、受信部710から送られてきたメディアパケットとFECパケットの受信パケットデータを格納する。バッファ707は、格納したメディアパケットのうち、映像のパケットをパケット結合部703へ出力し、音声のパケットをパケット結合部706へ出力する。
パケット結合部703は、ストリームごとに、各映像のパケットを結合して映像符号化データを生成して映像復号化部702へ出力する。映像復号化部702は、ストリームごとの映像符号化データを復号化する。映像復号化部702は、復号化した映像データを映像表示部701へ出力する。映像表示部701は、映像データを図示しないディスプレイ装置等へ出力する。また、映像復号化部702は、復号のために読み込んだ映像符号化データのタイムスタンプ情報を格納部708に格納させる。
パケット結合部706は、ストリームの各音声のパケットを結合して音声符号化データを生成して音声復号化部705へ出力する。音声復号化部705は、音声符号化データを復号化する。音声復号化部705は、復号化した音声データを音声出力部704へ出力する。音声出力部704は、音声データを図示しないスピーカ等へ出力する。また、音声復号化部705は、復号のために読み込んだ音声符号化データのタイムスタンプ情報を格納部708に格納させる。
FEC復元部709は、バッファ707を監視し、損失データパケット(メディアパケットの損失)を検知すると、FECパケットを用いて、その損失データパケット(損失メディアパケット)の復元を試みる。FEC復元部709は、損失したメディアパケットが、何れのストリームに属し、何れのFECグループに属しているかについては、前述したトリーム識別情報とパケット識別情報、グループ識別情報に基づいて識別する。FEC復元部709における復元処理の詳細は後述する。FEC復元部709は、メディアパケットの復元が成功すると、その復元したメディアパケットをバッファ707へ保持させる。
一方、FEC復元部709は、バッファ707を監視するとともに、格納部708を参照して符号化データの復号化が間に合わなくなる虞がある損失メディアパケットを検出する。FEC復元部709は、復号化が間に合わなくなる損失パケットが検出された場合、再送要求部711に対し、該当するメディアパケットの再送信を依頼する。
再送要求部711は、FEC復元部709から再送信依頼を受けると、その再送信依頼で指定されたメディアパケットに関するRTCP否定応答のRTCPパケットを生成し、送信部712を介して送信元である送信装置101に送信する。
次に、本実施形態の受信装置103のFEC復元部709における復元処理の流れを、図9のフローチャートを参照しながら説明する。
図9において、FEC復元部709は、ステップS801として、バッファ707を監視している。そして、FEC復元部709は、ステップS802として、バッファ707に保持されるメディアパケットのRTPシーケンス番号及び到着時間からメディアパケットの損失が発生したか否かを判断する。FEC復元部709は、メディアパケットの損失が発生したと判断した場合には、処理をステップS803へ進め、一方、メディアパケットの損失が発生していないと判断した場合には、処理をステップS804へ進める。
ステップS803では、FEC復元部709は、損失メディアパケットのFEC復元処理を試みる。なお、ステップS803におけるFEC復元処理の詳細は後述する。ステップS803の後、FEC復元部709は、処理をステップS804へ進める。
ステップS804では、FEC復元部709は、格納部708に格納されているタイムスタンプに基づいて、符号化データの復号期限を取得する。ステップS804の後、FEC復元部709は、処理をステップS805へ進める。
ステップS805では、FEC復元部709は、復号期限の情報から、直近の復号期限に間に合わないと予測される損失メディアパケットがあるか否かを判断する。FEC復元部709は、直近の復号期限に間に合わないと予測される損失メディアパケットがあると判断した場合は、処理をステップS806へ進める。一方、FEC復元部709は、直近の復号期限に間に合わないと損失メディアパケットが無いと判断した場合は、処理をステップS807へ進める。
ステップS806では、FEC復元部709は、再送要求部711に対し、該当するメディアパケットの再送信を依頼する。ステップS806の後、FEC復元部709は、処理をステップS801へ戻す。
ステップS807では、FEC復元部709は、全てのストリームの全てのメディアパケットが受信されて復号化も完了したか否か判断する。そして、FEC復元部709は、全てのメディアパケットの受信と復号化が完了しておらず、未処理のメディアパケットが残っていると判断した場合には、ステップS801へ処理を戻す。一方、FEC復元部709は、全てのメディアパケットの受信と復号化が完了したと判断した場合には、処理を終了する。
次に、図10(a)は、図9のステップS803でのFEC復元処理の詳細な処理の流れを示すフローチャートである。以下、図10(a)のフローチャートを参照しながら、本実施形態のFEC復元部709による詳細なFEC復元処理について説明する。
図10(a)において、本実施形態のFEC復元部709は、先ず、ステップS901として、損失したメディアパケットのRTPシーケンス番号と到着時間、その前後に到着したメディアパケットのFECグループシーケンス番号を取得する。なお、損失メディアパケットのRTPシーケンス番号と到着時間が取得できない場合、FEC復元部709は、その前後に到着したメディアパケットのFECグループシーケンス番号から、損失メディアパケットのRTPシーケンス番号と到着時間を予測する。そして、FEC復元部709は、それら損失メディアパケットのRTPシーケンス番号と到着時間、その前後に到着したメディアパケットのFECグループシーケンス番号から、損失メディアパケットのFECグループシーケンス番号を求める。ステップS901の後、FEC復元部709は、処理をステップS902へ進める。
ステップS902では、FEC復元部709は、損失メディアパケットのFECグループシーケンス番号から、復元対象としているFECパケットを検索する。ステップS902の後、FEC復元部709は、処理をステップS903へ進める。
ステップS903では、FEC復元部709は、ステップS902での検索により該当するFECパケットがあったか否か判断する。FEC復元部709は、該当するFECパケットが無いと判断した場合には、FEC復元処理を終了して、図9のステップS804へ処理を進める。一方、FEC復元部709は、該当するFECパケットが有ると判断した場合には、処理をステップS904へ進める。
ステップS904では、FEC復元部709は、FECグループシーケンス番号により該当するFECパケットがFECグループの対象としているメディアパケットをバッファ707から検索する。ステップS904の後、FEC復元部709は、処理をステップS905へ進める。
ステップS905では、FEC復元部709は、損失メディアパケットを復元できるだけの各メディアパケットが揃っているか否かを判断する。FEC復元部709は、損失メディアパケットを復元できるだけのメディアパケットが揃わず、復元が不可能であると判断した場合には、FEC復元処理を終了して、図9のステップS804へ処理を進める。一方、FEC復元部709は、損失メディアパケットを復元できるだけのメディアパケットがあり、復元が可能であると判断した場合には、処理をステップS906へ進める。
ステップS906では、FEC復元部709は、損失メディアパケットを、FECグループのFECパケットとメディアパケットを用いた復元演算(XOR演算)を行う。ステップS906の後、FEC復元部709は、処理をステップS907へ進める。
ステップS907では、FEC復元部709は、復元されたメディアパケットをバッファ707に保持して、FEC復元処理を終了し、図9のステップS804へ処理を進める。
以上の処理により、本実施形態の受信装置103は、複数のストリームを横断するようにしてFECグループが構成されたメディアパケットとFECパケットを用いて、損失したメディアパケットを復元することができる。
なお、本実施形態では、受信装置103のFEC復元部709は、メディアパケットの損失判断をRTPシーケンス番号により行い、その後、対応するFECグループシーケンス番号を検索している。その他の例として、FEC復元部709は、メディアパケットの損失判断を、FECグループシーケンス番号を参照することで行ってもよい。
以上、説明したように、第1の実施形態の送信装置101、受信装置103によれば、エラー回復の遅延を防止可能である。
<第2の実施形態>
次に、第1の実施形態とは一部の処理が異なる第2の実施形態について説明する。なお、第2の実施形態の送信装置101、受信装置103の構成は前述の第1の実施形態の場合と同じである。第2の実施形態の場合、FEC情報、図4のステップS308のFEC演算処理、図9のステップS803のFEC復元処理が、第1の実施形態とは異なる。ここでは、第1の実施形態とは異なる部分についてのみ説明する。以下、図6(b)、図7(b)、図11(a)、図11(b)を参照して、第2の実施形態の場合の図4のステップS308のFEC演算処理の詳細について説明する。
図11(a)は、第2の実施形態におけるFECパケットのヘッダ1000のフォーマットを示す図である。図11(a)に示す本実施形態のFECパケットのヘッダ1000は、RFC5109で定義されているFECパケットフォーマットとは一部異なっている。第2の実施形態の場合のFECパケットのヘッダ1000は、ヘッダ拡張領域の一部が、ストリーム用拡張フィールド1001,1002として用いられる。
ストリーム用拡張フィールド1001は、SSRCフィールド1010とベースシーケンス番号(base sequence number)フィールド1011とマスク(mask)フィールド1012により構成される。同様に、ストリーム用拡張フィールド1002は、SSRCフィールド1013とベースシーケンス番号フィールド1014とマスクフィールド1015により構成される。ストリーム用拡張フィールド1001はストリーム1用の拡張フィールドであり、ストリーム用拡張フィールド1002はストリーム2用の拡張フィールドである。なお、図11(a)の例は、ストリーム1,2の二つのストリームのみを挙げているが、これは一例であり、三つ以上であってもよい。ストリーム1は例えば基本レイヤーのストリーム、ストリーム2は例えば第1拡張ストリームのように、各レイヤーのストリームに関連付けられる。ストリーム用拡張フィールドに記述されるストリーム数は、number of sourcesフィールド1020に記述される。すなわち、SSRCフィールドとベースシーケンス番号フィールド及びマスクフィールドは、FECグループの対象となるメディアパケットが属しているストリーム数に対応した数だけ連なるように、FECパケットのヘッダ拡張領域内に記述される。なお、base sequence numberフィールドは、RFC5109に定義されているSN baseフィールドであり、また、maskフィールドもRFC5109に定義されているフィールドである。
FECパケットのヘッダ部のSSRCフィールドは、FECグループの対象となるメディアパケットが属するストリームを識別するストリーム識別情報(識別子)が記述されるフィールドである。ベースシーケンス番号フィールドは、SSRCにより特定されるストリーム内で、FECグループの対象となっているメディアパケットのうちで、先頭のメディアパケットを表すシーケンス番号が記述されるフィールドである。マスクフィールドは、SSRCにより特定されるストリーム内で、ベースシーケンス番号フィールドに記述された先頭のパケットに続く何れのメディアパケットが、FECグループの対象になされているかを表す情報が記述されるフィールドである。マスクフィールドに記述される16ビットの値は、それぞれの値が、FECグループの対象になされているメディアパケットの並び順に対応している。すなわち、マスクフィールドの16ビットのうち「1」のビットが立てられている順番に対応したメディアパケットが、FECパケットの生成に関連付けられている(FECグループの対象になっている)ことを示している。これらベースシーケンス番号フィールド及びマスクフィールドの値により、SSRCフィールドで識別されるストリーム内でFECグループの対象となっているメディアパケットが特定される。すなわち、ベースシーケンス番号フィールド及びマスクフィールドの値は、FECグループの対象となるメディアパケットが、SSRCで特定されたストリーム内の、何れのメディアパケットであるかを特定するためのパケット識別情報となっている。
図6(b)は、第2の実施形態におけるFEC生成情報テーブルの記述内容の一例を示した図である。第2の実施形態の場合のFEC生成情報テーブルは、FECパケットIDと各ストリームのベースシーケンス番号と選択マスクの各値が、一つのエントリーとして登録されている。図6(b)のベースシーケンス番号は図11(a)のベースシーケンス番号フィールドに記述される情報であり、図6(b)の選択マスクの値は図11(a)のマスクフィールドに記述される情報である。なお、図6(b)では、ストリーム1,2の選択マスクの数値のみ2進数表記であり、他の数値は全て10進数表記である。
また、図6(b)のFECパケットIDが「1」のエントリーの場合、FECパケットのヘッダ部の拡張フィールドには、図11(b)に示すヘッダ部1050のストリーム用拡張フィールド1051のような各値が記述される。すなわち、図6(b)の例において、FECパケットIDが「1」のエントリーでは、ストリーム1のベースシーケンス番号が「1000」となされている。また、ストリーム1の選択マスクは「1010101010101010」、ストリーム2のベースシーケンス番号は「4500」、ストリーム2の選択マスクは「0101010101010101」となされている。したがって、図6(b)のFECパケットIDが「1」のエントリーの場合、図11(b)のストリーム用拡張フィールド1051のSSRCフィールド1060には「1」が記述される。また、ベースシーケンス番号フィールド1061には「1000」を2進数で表した「0000001111101000」が、マスクフィールド1062には「1010101010101010」が記述される。同様に、図6(b)のFECパケットIDが「2」のエントリーの場合、図11(b)のストリーム用拡張フィールド1052のSSRCフィールド1063には「2」が記述される。また、ベースシーケンス番号フィールド1064には「4500」を2進数で表した「0001000110010100」が、マスクフィールド1065には「0101010101010101」が記述される。
図7(b)は、第2の実施形態における図4のステップS308のFEC演算処理の詳細な処理の流れを示すフローチャートである。以下、図7(b)のフローチャートを参照しながら、第2の実施形態の場合のFECパケット生成部209によるFEC演算処理について説明する。
図7(b)において、第2の実施形態のFECパケット生成部209は、先ず、ステップS606として、図7(b)のFEC生成情報テーブルから、該当するエントリーの情報を読み込む。ステップS606の後、FECパケット生成部209は、処理をステップS607へ進める。
ステップS607では、FECパケット生成部209は、図11(a)、図11(b)に示したようなFECパケットのヘッダ部のフィールドとペイロード部のデータに対して、前述同様にFEC演算(XOR演算)を行う。ステップS607の後、FECパケット生成部209は、処理をステップS608へ進める。
ステップS608では、FECパケット生成部209は、FECパケットのストリーム用拡張フィールドであるSSRCフィールド、ベースシーケンス番号フィールド、マスクフィールドに、それぞれストリームとメディアパケットの各識別情報を書き込む。
以上の処理により、第2の実施形態の送信装置101は、複数のストリームを横断するようなFECグループのメディアパケットを用いて生成されたFECパケットと、各メディアパケットを、受信装置103へ送信する。
次に、第2の実施形態の受信装置103のFEC復元部709の復元処理は概ね図9のフローチャートの流れに沿って行われるが、第2の実施形態の場合は、ステップS803における処理が第1の実施形態とは異なる。第2の実施形態のFEC復元部709におけるステップS803のFEC復元処理の詳細な流れを図10(b)のフローチャートを参照しながら説明する。
FEC復元部709は、先ずステップS908として、損失したメディアパケットのRTPシーケンス番号と、各FECパケットのヘッダ部のSSRCフィールド、ベースシーケンスフィールド、マスクフィールドを参照する。そして、FEC復元部709は、それら参照した値を検索キーとして、損失メディアパケットを復元可能なFECパケットを、バッファ707から検索する。ステップS908の後、FEC復元部709は、処理をステップS909へ進める。
ステップS909では、FEC復元部709は、ステップS908での検索処理で該当するFECパケットが検索できたか否かを判断する。FEC復元部709は、該当するFECパケットがないと判断した場合には、復元処理を終了して、図9のステップS804へ処理を進める。一方、FEC復元部709は、該当するFECパケットがあると判断した場合には、処理をステップS910へ進める。
ステップS910では、FEC復元部709は、該当するFECパケットのヘッダ部のSSRCフィールド、ベースシーケンス番号フィールド、マスクフィールドの各値を参照して、復元に必要なメディアパケットを、バッファ707から検索する。ステップS910の後、FEC復元部709は、処理をステップS911へ進める。
ステップS911では、FEC復元部709は、損失メディアパケットを復元可能なメディアパケットが揃っているか否かを判断する。FEC復元部709は、損失メディアパケットを復元できるだけのメディアパケットが揃わず、復元が不可能であると判断した場合には、FEC復元処理を終了して、図9のステップS804へ処理を進める。一方、FEC復元部709は、損失メディアパケットを復元可能なメディアパケットが揃っていて、復元が可能であると判断した場合には、処理をステップS912へ進める。
ステップS912では、FEC復元部709は、損失メディアパケットを、FECパケットと、ステップS901で検索されたメディアパケットのヘッダ部及びペイロード部を用いた復元演算(XOR演算)を行う。ステップS912の後、FEC復元部709は、処理をステップS913へ進める。
ステップS913では、FEC復元部709は、復元されたメディアパケットをバッファ707に保持して、FEC復元処理を終了し、図9のステップS804へ処理を進める。
前述した処理により、第2の実施形態の受信装置103は、複数のストリームを横断するようにして構成されたFECグループのFECパケットを用いて、損失したメディアパケットを復元する。
以上説明したように、第2の実施形態の送信装置101、受信装置103によれば、エラー回復の遅延を防止可能である。
次に、記録媒体に記録されたプログラムをプロセッサが実行することにより、前述した図3に示した各ブロックの機能を実現する送信装置1200の一例を、図12に示す。
図12に示す送信装置1200において、映像入力部1201は、映像データが入力され、前述した図3の映像入力部201に対応している。音声入力部1204は、音声データが入力され、前述した図3の音声入力部204に対応している。
プロセッサ1202は、ROM(Read Only Memory)1205に記録されたプログラムを読み出して実行する。プロセッサ1202は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等とすることができる。RAM1206は、プロセッサ1202がROM1205から読み出したプログラムが展開される。また、RAM1206は、プロセッサ1202のワークスペースとして用いられる。また、RAM1206は、図3のバッファ207としても機能する。ROM1205は、前述した図3に示した各ブロックの機能をプロセッサ1202が実行するためのプログラムを記録した記録媒体である。
プロセッサ1202は、ROM1205から読み出されてRAM1206に展開されたプログラムを実行することにより、前述した図3に示した各ブロックの機能を実現する。すなわち、プロセッサ1202は、例えば、映像又は音声の符号化処理、メディアパケットの生成処理、FECパケットの生成処理、メディアパケットの再送制御処理、RTCPの解析処理、パケットバッファ制御処理等を行う。なお、プロセッサ1202は、複数設けられていてもよく、図3に示した各ブロックの機能を、各プロセッサがそれぞれ分担して実行してもよい。
通信部1203は、パケットを送受信するための通信インタフェースである。通信部1203は、図3に示したパケット送信部210及びパケット受信部213の機能を実現する構成である。
次に、記録媒体に記録されたプログラムをプロセッサが実行することにより、前述した図8に示した各ブロックの機能を実現する受信装置は、基本的な構成は図12と略々同じである。但し、受信装置の場合は、図12の映像入力部1201に代えて映像表示部が設けられ、また図12の音声入力部1204に代えて音声出力部が設けられる。以下、図12を参照しながら、受信装置について説明する。
受信装置の場合、映像表示部は、映像データをディスプレイ装置等に表示させるための構成であり、前述した図8の映像表示部701に対応する。音声出力部は、音声データをスピーカ等に出力させるための構成であり、前述した図8の音声出力部704に対応する。
また、受信装置の場合のRAM1206は、図8のバッファ707として機能する。受信装置の場合のROM1205は、前述した図8に示した各ブロックの機能をプロセッサ1202が実行するためのプログラムを記録した記録媒体である。
受信装置の場合のプロセッサ1202は、ROM1205から読み出されてRAM1206に展開されたプログラムを実行することにより、前述した図8に示した各ブロックの機能を実現する。すなわち、受信装置の場合のプロセッサ1202は、例えば、映像又は音声の復号化処理、メディアパケットの結合処理、FEC復元処理、メディアパケットの再送要求制御処理、パケットバッファ制御処理等を行う。なお、受信装置の場合においても、プロセッサ1202は、複数設けられていてもよく、図8に示した各ブロックの機能を、各プロセッサがそれぞれ分担して実行してもよい。
受信装置の場合の通信部1203は、パケットを送受信するための通信インタフェースである。すなわち、通信部1203は、図8に示したパケット受信部710及びパケット送信部712の機能を実現する構成である。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、前述した実施形態では、SVCを例に挙げたが、例えばH.265(ISO/IEC23008−2 HEVC)等のフォーマットのストリームデータに対しても本実施形態は適用可能である。
以上、本発明の好ましい実施形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
101 送信装置、102 受信装置、208 FEC生成情報格納部、209 FEC生成部、211 パケット再送部、212 RTCP解析部、708 FEC復号化情報格納部、709 FEC復元部、711 パケット再送要求部

Claims (15)

  1. 送信データを構成するデータパケットであって第1のデータストリームによって送信される第1のデータパケットと、前記送信データを構成するデータパケットであって前記第1のデータストリームと異なる第2のデータストリームによって送信される第2のデータパケットとを用いて、損失データパケットを復元するための復元用データケットを生成する生成手段と、
    前記第1のデータパケット及び前記第2のデータパケットの送信に応じて、前記生成手段によって生成された一つの復元用データケットを送信する送信手段と
    を有する送信装置。
  2. 前記生成手段は、前記第1のデータパケット及び前記第2のデータパケットを含むグループを形成し、前記グループに含まれる複数のデータパケットに基づいて前記復元用データケットを生成する請求項1に記載の送信装置。
  3. 前記生成手段は、前記送信データの送信期間のうち一部の期間内に送信される所定数のデータパケットを含む前記グループを形成し、前記グループに含まれるデータパケットに基づいて前記復元用データケットを生成する請求項2に記載の送信装置。
  4. 前記生成手段は、データパケットが属する前記グループを識別するための識別情報を該データパケットに含める請求項2に記載の送信装置。
  5. 前記生成手段は、一つの前記グループに含まれる各データパケットを各々識別するための識別情報を生成して、前記復元用データケットに含める請求項2に記載の送信装置。
  6. 前記生成手段は、前記データパケットまたは前記復元用データケットのヘッダ部の拡張領域のなかに、前記識別情報を書き込む請求項4又は5に記載の送信装置。
  7. 前記生成手段は、前方誤り訂正の演算により前記復元用データケットを生成し、
    前記送信手段は、前記グループに含まれるデータパケットが送信されたタイミングで前記前方誤り訂正の演算による前記復元用データケットを送信する請求項2〜6の何れか1項に記載の送信装置。
  8. 前記送信データは、第1の解像度を有する画像を受信装置が表示するために用いる基本レイヤーのデータと、前記第1の解像度よりも解像度が高い第2の解像度を有する画像を前記受信装置が表示するために前記基本レイヤーのデータとともに用いる拡張レイヤーのデータとを含み、
    前記送信手段は、前記基本レイヤーのデータを前記第1のデータストリームによって送信し、前記拡張レイヤーのデータを前記第2のデータストリームによって送信する請求項1に記載の送信装置。
  9. 送信データを構成するデータパケットであって第1のデータストリームによって送信される第1のデータパケットと前記送信データを構成するデータパケットであって前記第1のデータストリームと異なる第2のデータストリームによって送信される第2のデータパケットとを用いて生成された一つの復元用データケットを受信する受信手段と、
    前記第1のデータパケット及び前記第2のデータパケットを含むグループのなかで損失していないデータパケットと前記一つの復元用データケットとを用いて、該グループのなかの損失データパケットの復元処理を行う復元手段と
    を有する受信装置。
  10. 前記復元手段は、前記データパケットのヘッダ部の拡張領域に書き込まれている、前記データパケットが属する前記データストリームを識別するためのストリーム識別情報と、前記データストリームのなかで前記データパケットを識別するためのパケット識別情報と、前記グループを識別するためのグループ識別情報に基づいて、前記データパケットが属するデータストリームと前記データパケットが属するグループと前記データパケットとを特定する請求項9に記載の受信装置。
  11. 前記復元手段は、前記復元用データケットのヘッダ部の拡張領域に書き込まれている、前記グループの対象となされている各データパケットが属する各データストリームを各々識別するためのストリーム識別情報と、前記データストリームのなかで前記グループの対象となされている各データパケットを各々識別するためのパケット識別情報とに基づいて、前記復元用データケットに対応したグループに属するデータパケットと前記データパケットが属するデータストリームとを特定する請求項9に記載の受信装置。
  12. データストリームを送信する送信装置が実行する送信方法であって、
    送信データを構成するデータパケットであって第1のデータストリームによって送信される第1のデータパケットと、前記送信データを構成するデータパケットであって前記第1のデータストリームと異なる第2のデータストリームによって送信される第2のデータパケットとを用いて、損失データパケットを復元するための復元用データケットを生成する生成ステップと、
    前記第1のデータパケット及び前記第2のデータパケットの送信に応じて、前記生成ステップによって生成された一つの復元用データケットを送信する送信ステップと
    を含む送信方法。
  13. データストリームを受信する受信装置が実行する受信方法であって、
    送信データを構成するデータパケットであって第1のデータストリームによって送信される第1のデータパケットと前記送信データを構成するデータパケットであって前記第1のデータストリームと異なる第2のデータストリームによって送信される第2のデータパケットとを用いて生成された一つの復元用データケットを受信する受信ステップと、
    前記第1のデータパケット及び前記第2のデータパケットを含むグループのなかで損失していないデータパケットと前記一つの復元用データケットとを用いて、該グループのなかの損失データパケットの復元処理を行う復元ステップと
    を含む受信方法。
  14. コンピュータを、請求項1〜8の何れか1項に記載の送信装置の各手段として機能させるためのプログラム。
  15. コンピュータを、請求項9〜11の何れか1項に記載の受信装置の各手段として機能させるためのプログラム。
JP2015058539A 2015-03-20 2015-03-20 送信装置、受信装置、方法及びプログラム Active JP6529299B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015058539A JP6529299B2 (ja) 2015-03-20 2015-03-20 送信装置、受信装置、方法及びプログラム
US15/070,183 US10116415B2 (en) 2015-03-20 2016-03-15 Transmission device, receiving device, transmission method, and receiving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058539A JP6529299B2 (ja) 2015-03-20 2015-03-20 送信装置、受信装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016178549A JP2016178549A (ja) 2016-10-06
JP6529299B2 true JP6529299B2 (ja) 2019-06-12

Family

ID=56925413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058539A Active JP6529299B2 (ja) 2015-03-20 2015-03-20 送信装置、受信装置、方法及びプログラム

Country Status (2)

Country Link
US (1) US10116415B2 (ja)
JP (1) JP6529299B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547467A (zh) * 2018-12-19 2019-03-29 北京东土科技股份有限公司 媒体数据纠错传输及纠错方法、装置、设备及存储介质
CN111800218B (zh) * 2019-04-08 2022-04-22 华为技术有限公司 一种数据流的传输方法和设备
US12001719B2 (en) * 2022-06-27 2024-06-04 Western Digital Technologies, Inc. Storage media based search function for key value data storage devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045098A (ja) * 1999-05-26 2001-02-16 Canon Inc データ通信システム、データ通信装置、データ通信方法及び記憶媒体
US8233532B2 (en) * 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
JP5408981B2 (ja) 2008-12-09 2014-02-05 キヤノン株式会社 通信装置、及び通信方法、プログラム
JP5412917B2 (ja) * 2009-03-27 2014-02-12 富士通株式会社 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム
KR20110101099A (ko) * 2010-03-05 2011-09-15 한국전자통신연구원 복수 전송 계층 연동형 3dtv 방송 서비스 제공을 위한 송신 및 수신 방법, 송신 및 수신 장치
US9929888B2 (en) * 2014-11-17 2018-03-27 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method

Also Published As

Publication number Publication date
US10116415B2 (en) 2018-10-30
US20160277548A1 (en) 2016-09-22
JP2016178549A (ja) 2016-10-06

Similar Documents

Publication Publication Date Title
US10542065B2 (en) Method and apparatus for transmitting/receiving media contents in multimedia system
JP2018196148A (ja) 順方向エラー訂正スキームを使用するパケット送受信装置及び方法
US20060291475A1 (en) Selective forward error correction
JP2015501098A5 (ja)
JP2014521245A (ja) マルチメディアシステムにおける前方誤り訂正パケットの生成方法とその誤り訂正パケットを送受信する方法及び装置
JP2010183439A (ja) 送信装置、及び、方法、プログラム
JP2008312126A (ja) データ送信装置、データ受信装置、及びデータ送受信システム
JP6529299B2 (ja) 送信装置、受信装置、方法及びプログラム
US20160275922A1 (en) Decoding and Synthesizing Frames for Incomplete Video Data
JP2007028241A (ja) 映像符号化・送信装置,映像符号化・送信方法,映像符号化・送信プログラムおよびその記録媒体
JPWO2015015879A1 (ja) 情報処理装置、情報処理方法及びプログラム
KR101343234B1 (ko) 미디어 인코더 및 디코더 사이의 피드백 및 프레임 동기화
CN101854224A (zh) 纠错编码方法、装置和系统以及转发控制方法和装置
JP4604851B2 (ja) 送信装置、受信装置、送信処理方法、受信処理方法、それらのプログラム
JP2009296164A (ja) データ送信装置、その制御方法及びプログラム
JP6305398B2 (ja) 送信機に関連する情報を用いたエラー回復のための方法及び装置
JP6511470B2 (ja) 通信システムにおけるパケット送受信方法及び装置
JP2012151622A (ja) 受信端末、パケットデータ受信方法、送信端末、送受信システム、中継端末およびパケットデータの中継方法
JP2013051565A (ja) 通信端末装置、通信制御方法、及び通信制御プログラム
KR20140124971A (ko) 순방향 오류 정정 패킷 송수신 장치 및 방법
US20130339482A1 (en) Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system
JP2007208418A (ja) 検査情報生成装置、送信装置及び中継装置
CN113612962A (zh) 视频会议处理方法、系统和装置
JP2018536325A (ja) 画像群(gop)に基づいてビデオデータのストリームを符号化するための方法
JP2009206608A (ja) 通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190227

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: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190514

R151 Written notification of patent or utility model registration

Ref document number: 6529299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151