JP2015504288A - ストリーミングサービスを提供する方法及び装置 - Google Patents

ストリーミングサービスを提供する方法及び装置 Download PDF

Info

Publication number
JP2015504288A
JP2015504288A JP2014553262A JP2014553262A JP2015504288A JP 2015504288 A JP2015504288 A JP 2015504288A JP 2014553262 A JP2014553262 A JP 2014553262A JP 2014553262 A JP2014553262 A JP 2014553262A JP 2015504288 A JP2015504288 A JP 2015504288A
Authority
JP
Japan
Prior art keywords
fec
encoding
decoding
block
packet
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.)
Granted
Application number
JP2014553262A
Other languages
English (en)
Other versions
JP6504820B2 (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2015504288A publication Critical patent/JP2015504288A/ja
Application granted granted Critical
Publication of JP6504820B2 publication Critical patent/JP6504820B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Abstract

本発明によるストリーミングデータエンコーディング方法は、順方向エラー訂正ソースブロックを1個以上のFECサブブロックに分ける段階と;前記1個以上のFECサブブロックをFECエンコーディングする第1エンコーディング段階と;前記FECソースブロックをエンコーディングする第2エンコーディング段階と;前記第1エンコーディング段階でエンコーディングされた第1エンコーディングデータ及び前記第2エンコーディング段階でエンコーディングされた第2エンコーディングデータを含む第3エンコーディングデータを生成する段階と;を含む。本発明の一実施例によれば、多様な環境または移動及び通信状態の変更によって通信環境が変わる多数のユーザにストリーミングサービスを円滑に提供することができる。また、複数のパリティ情報を伝送し、さらに信頼度の高いデータ復旧が可能なストリーミングサービスを提供することができる効果がある。

Description

本発明は、ストリーミングサービスを提供するための方法及び装置に関する。より具体的には、多様な通信環境にあるユーザにより品質の高いストリーミングサービスを提供するための方法及び装置に関する。
一般的に、ストリーミングサービスのためには、Block(N、K)codeが使用され、同一のCode Rate(=K/N)でチャネル状況が同一のPLR(Packet Loss Rate)を有するとしても、Nを大きくすれば、Code Rateを高めることができる。一方、Nを小さくすれば、Code Rateが低くならなければならない。
また、同一のPLRであるとしても、Random lossでは、小さいNを、Burst lossでは、大きいNを必要とするようになる。ここで、Nを大きくするという意味は、順方向エラー訂正(Forward Error Correction、FEC)Block周期が長くなるという意味であって、受信端でのdelayを誘発するようになる。
これは、パケット(Packet)単位で伝送されるネットワーク(Network)特性に起因したものであって、N個のPacketで構成されたFEC Block内の損失されたpacketを復旧するためには、FEC Block内の少なくともK個以上のpacketを受信した後、復旧が可能であるから、受信端でFECデコーディング(decoding)のためにFEC Block周期内外に該当する時間を待たなければならないからである。
一般的に、単一ユーザに伝送するユニキャスト(Unicast)環境では、良いチャネル環境にあるユーザにはFEC Blockのサイズを小さくして、ディレイ(Delay)を最小化して伝送することによって、ユーザは、ストリーミングサービス感想を早くすることができる。しかし、通信環境が悪いチャネル環境にあるユーザには、早いサービスを提供するためには、相対的に低いCode Rateが必要である。このように、低いCode Rate確保のために、伝送効率に負担が発生することができるので、FEC Blockのサイズを大きくして、伝送効率を高める。但し、FEC Blockのサイズを大きくする場合、相対的に長いディレイ(Delay)でサービスを鑑賞するようにする。
ストリーミング伝送サービスが多数のユーザにマルチキャスト(multicast)またはブロードキャスト(broadcast)されるとき、ユーザは、それぞれ良いチャネル環境(例えばPLR1%)でサービスを受信し、他のユーザは、相対的に悪いチャネル環境(例えば、PLR10%)でサービスを受信するようになる。または、一部のユーザは、ランダムパケットロス(random packet loss)環境で、他のユーザは、バーストパケットロス(burst packet loss)環境でそれぞれサービスを受信するようになる。このような場合、各ユーザのためにデータを効率的に伝送することができる方法が要求される。
本発明は、前述した問題点を解決するためになされたもので、その目的は、多様な環境に位置する多数のユーザまたは移動によって通信状態が変わる多数のユーザにストリーミングサービスを容易に提供する方法及び装置を提供することにある。
前記目的を達成するために、本発明の一実施例によるストリーミングデータエンコーディング方法は、順方向エラー訂正(Forward Error Correction、FEC)ソースブロックを1個以上のFECサブブロックに分ける段階と;前記1個以上のFECサブブロックをFECエンコーディングする第1エンコーディング段階と;前記FECソースブロックをエンコーディングする第2エンコーディング段階と;前記第1エンコーディング段階でエンコーディングされた第1エンコーディングデータ及び前記第2エンコーディング段階でエンコーディングされた第2エンコーディングデータを含む第3エンコーディングデータを生成する段階と;を含む。
本発明の他の実施例によるストリーミングデータデコーディングする端末での方法は、ストリーミングデータを受信する段階と;前記端末の通信環境を判断する段階と;前記判断された端末の通信環境によって前記受信したストリーミングデータをデコーディングする方法を決定する段階と;前記決定されたデコーディング方法で前記受信されたストリーミングデータをデコーディングする段階と;を含む。
本発明の一実施例によれば、多様な環境または移動及び通信状態の変更によって通信環境が変わる多数のユーザにストリーミングサービスを円滑に提供することができる。また、複数のパリティ情報を伝送し、さらに信頼度の高いデータ復旧が可能なストリーミングサービスを提供することができるという効果がある。
図1は、実施例によるエンコーディング方法を示すブロック図である。 図2は、本発明の第1実施例によるデコーディング方法を示す図である。 図3は、本発明の第2実施例によるデコーディング方法を示す図である。 図4は、本発明の実施例によるエンコーディング時のデータの流れを示す図である。 図5aは、本発明の実施例によるデコーディング方法を示す流れ図である。 図5bは、本発明の実施例によるデコーディング時のデータの流れを示す図である。
以下、本発明の実施例を添付の図面を参照して詳細に説明する。
実施例を説明するに際して、本発明の属する技術分野によく知られていて、本発明と直接的に関連がない技術内容については説明を省略する。これは、不要な説明を省略することによって、本発明の要旨を不明にせず、さらに明確に伝達するためのものである。
同様の理由で添付の図面において一部の構成要素は誇張されるか、省略されるか、または概略的に図示される。また、各構成要素のサイズは、実際サイズを反映するものではない。以下、本発明の実施例によって携帯端末機を説明するための図面を参照して本発明について説明する。
ストリーミングサービスがマルチキャストあるいはブロードキャストされるとき、前記ストリーミングサービスを受信するユーザグループのうち任意のユーザ(以下、ユーザグループA)は、相対的に良いチャネル環境(例えばPLR1%)でサービスを受信し、残りのユーザ(以下、ユーザグループB)は、前記ユーザグループAに比べて相対的に悪いチャネル環境(例えば、PLR10%)でサービスを受信することができる。または、ユーザグループAは、ランダムパケットロス(random packet loss)、ユーザグループBは、バーストパケットロス(burst packet loss)環境でそれぞれサービスを受信することができる。また、ユーザグループAのユーザがチャネル状態の変化またはユーザの位置移動などによって良いチャネル環境から悪いチャネル環境に通信チャネル環境が変わるようになり、ユーザグループBに該当するようになることができる。一例として、1つのグループのユーザが良いチャネル状態(低いPLR及びRandom loss)でストリーミングサービスを受信しつつ、データコンゼスチョン(data congestion)などの理由で前記1つのグループのうち一部または全部のユーザが相対的に悪い(高いPLR及びBurst loss)環境に移動するようになる場合を考慮することもできる。また、無線移動通信環境で基地局(Base Station)のセル(Cell)がカバーする通信半径があり、前記半径中に位置するユーザのうち、基地局に比較的近くに位置するユーザをユーザグループAに分類することができ、前記セルがカバーする半径の境界に位置するユーザをユーザグループBに分類することができる。
このように多数のユーザが同一のストリーミングサービスを受信する状況で、各ユーザグループの通信環境が多様な場合、1つのグループのユーザに合わせてストリーミングコードを調節することが困難なことがある。より具体的に、Unicastとは異なって、MulticastやBroadcastでは、ユーザグループAとユーザグループBに1つの方式でストリーミングサービスを伝送しなければならないので、前記Unicastのように、ユーザの状態によって異なるコードレートを適用するなどのユーザ基盤サービスを提供することができないという問題点がある。
ユーザグループA及びユーザグループBに同一にストリーミングサービスを提供する場合を仮定してみる。この際、小さいFEC Blockでストリーミングサービスをするようになれば、ユーザグループBのために低いCode Rateを使用しなければならないので、伝送効率が低い。また、大きいFEC Blockでストリーミングサービスをするようになれば、ユーザグループAは、サービスをディレイによって早く鑑賞することができるチャネル環境にあるにもかかわらず、大きいFEC Blockに起因してサービスを提供するのにディレイが発生することができる。
また、ストリーミングサービスがマルチキャストやブロードキャストでユーザにサービスされる状況を仮定する。この際、サービス提供者は、一般的なチャネル状態を仮定してCode Rate及びFEC Blockサイズを決定して伝送するようになる。この際、ユーザの移動により、チャネル状態が予想より悪くなるか、またはサービス伝送途中にネットワーク端でデータコンゼスチョン(data congestion)によってバーストパケットロス(burst packet loss)が発生する場合を仮定してみることができる。このような場合、発生した前記バーストパケットロスによって、既伝送されたFEC Block内のpacket lossを復旧せず、ストリーミングサービス途中に画面がつぶれるか、停止する現象が発生することができる。したがって、以後、悪いチャネル状態が持続する場合、ユーザは、サービスを円滑に受信することができない。
図1は、実施例によるエンコーディング方法を示すブロック図である。
図1を参照すれば、ストリーミングサービス提供のためにFECエンコーディング時に同一のFECソースブロック(Source Block)100を複数個のエンコーダー120、130を通じてエンコーディングすることができる。
このようなエンコーディング環境で可能なエンコーディング環境は、次の通りである。
1.Case 0:No coding
2.Case 1:1段階(One Stage)FEC coding(FEC2エンコーダー130除外(skipped))
3.Case 2:1段階(One Stage)FEC coding(FEC1エンコーダー120除外(skipped))
4.Case 3:2段階(Two Stages)FEC coding(FEC1、2エンコーディング120、130両方エンコーディング進行)
参照として、FEC1エンコーダー120及びFEC2 130は、それぞれ同一のコードを使用してエンコーディングを進行することができる。また、場合によって、それぞれ異なるコードレートを適用してエンコーディングを進行することもできる。
FEC Source Block 100は、ストリーミングサービスに提供されるデータを含むブロックである。FEC Source Block 100をM個のFEC Sub−Block 112、114、116に分割することができる。前記Sub−Blockは、通信状況によってそのサイズが変わることができる。一例として、1個のFEC Sub−Blockが再生時に既設定された時間内外に再生されることができるように設定することができ、さらに好ましくは、分けられたFEC Sub−Blockに該当するデータが同一の時間の間に再生されることができるように、Sub−Blockのサイズを調節することができる。また、一般的な通信環境を考慮してユーザが受信するときに必要なコードレートによって伝送負荷を最小化することができるように、FEC Sub−Blockのサイズを調節することもできる。前記FEC1エンコーダー120がエンコーディング時に使用するコードをFEC1 codeと称することができ、前記FEC2エンコーダー130がエンコーディング時に使用するコードをFEC2 codeと称することができる。
前記第1〜第MのFEC Sub−Blockは、FEC1エンコーダー120を通じてエンコーディングされることができる。前記第1のエンコーダーによってエンコーディングされたデータは、第1〜第MのFEC Sub−Block 141、143、145を含むことができる。前記第1〜第MのFEC Sub−Block 141、143、145は、前記第1〜第MのFEC Sub−Blockと同一の内容であってもよく、異なる内容であってもよい。また、FEC1エンコーダー120のエンコーディング結果によって第1〜第MのFEC Sub−Block 141、143、145それぞれのSub−Blockの復旧のための第1〜第MのP1(パリティペイロード1)142、144、146を含むことができる。
一例として、第1のFEC Sub−Block 141を受信したユーザは、受信した第1のFEC Sub−Block 141にある程度の損失がある場合にも、第1のP1 142を通じてエラーを復旧することができる。
また、FEC Source Block 100をFEC2エンコーダー130を通じてエンコーディングを進行することができる。図面上には、FEC Source Block 100全体をFEC2エンコーダー130がエンコーディングするものと図示したが、実施例によってFEC1エンコーダー120がエンコーディングするSub−Blockより大きいサイズのSub−BlockでFEC Source Block 100を分割してエンコーディングすることもできる。
FEC2エンコーダー130にエンコーディングされたFEC Source Block 100のP2(パリティペイロード2)150が伝送されるデータに添付されることができる。実施例において前記2個のエンコーダー120、130によってエンコーディングされたデータ141〜150をユーザに伝送することができる。前記P2 150を通じて、ユーザは、受信されたFEC Source Blockに一定水準の損失がある場合にも、P2 150を通じてエラーを復旧することが可能である。
実施例によれば、図1に該当するエンコーディング方法によってデータを受信したユーザは、次のような方法でストリーミングサービスを再生することが可能である。
1.ユーザグループAは、FEC1エンコーダー120のcodeを利用して損失されたpacketを復旧して比較的低いdelay(fast start−up)でサービスを鑑賞し、
2.ユーザグループBは、FEC1エンコーダー120のcodeを利用した損失されたpacket復旧失敗時にFEC2エンコーダー130のcodeを利用して復旧することができる。また、状況によってすぐFEC2エンコーダー130のcodeを利用して損失されたpacketを復旧し、サービスを鑑賞する。これは、ユーザグループBがチャネル状況測定などを通じて自分の通信環境をモニターした場合に提案されることができる方法である。
3.ユーザグループAにあるユーザが、ユーザグループBに転換される場合、2によるdecoding方法で損失されたpacketを復旧し、サービスを鑑賞することができる。
4.ユーザグループBにあるユーザは、2によるdecoding方法で損失されたpacketを復旧し、サービスを鑑賞した後、ユーザグループAに転換されても、2によるdecoding方法を続いて維持し、サービスを鑑賞することができる。
MMTパケット(Packet)は、MMT−CI、MMT ADC、MMT Asset(Video)、MMT Asset(Audio)を含む。それぞれのAssetは、1個以上のMPU(Media Processing Unit)で構成されている。
Video MMT Assetを構成するMPUは、MMT Payload Formatによって伝送手順に合わせてMMT Payloadでパケット化(Packetization)され、MMT Payloadのstreamで構成され、Audio MMT Assetを構成するMPUも、MMT Payload Formatによって伝送手順に合わせてMMT PayloadでPacketizationされ、MMT Payloadのstreamで構成される。
VideoのためのMMT Payload streamとAudioのためのMMT Payload streamは、互いに多重化(Multiplexing)された後、それぞれのMMT PayloadにMMT Packet Headerを追加し、MMT Packetで構成されたstreamを構成する。
または、VideoのためのMMT Payload streamでそれぞれのMMT PayloadにMMT Packet Headerを追加し、MMT Packetで構成されたVideo StreamとAudioも、同様にMMT Packetで構成されたAudio Streamを構成した後、多重化(Multiplexing)し、MMT Packet Streamを構成する。ここで、多重化(Multiplexing)ということは、MMT payload by MMT payloadまたはMMT Packet by MMT Packetで互いに交ぜる手続を含むことができる。
MMT PacketをFEC Source Payloadと呼ぶ場合、前記MMT Packet Stream、すなわちFEC Source Payload Streamは、所定個数で構成されたFEC Source Block 100に分けられ、それぞれのFEC Source Block 100は、図1で提案されたCase 3のような方法によってFEC encodingされることができる。この際、FEC Source Block 100は、M個のFEC Sub−Block 112、114、116に分けられる。
また、それぞれのFEC Sub−Blockも、所定個数のFEC Source Payloadを含むことができる。それぞれのFEC Sub−Blockは、FEC1エンコーダー120のcodeを利用して所定個数のFEC Parity Payloadを生成し、FEC Source Block 100は、FEC2エンコーダー130のcodeを利用して所定個数のFEC Parity Payload(図面上のP2 150)を生成する。
その後、生成されたそれぞれのFEC Parity Payloadは、MMT Packet Headerを追加し、MMTパケット化する。そして、MMT FEC Payload IDをそれぞれのMMT Packetに追加し、FEC Packet(Source PayloadのためのFEC PacketをFEC Source Packetと言い、Parity PayloadのためのFEC PacketをFEC Parity Packetという)化し、最終的に下位レイヤ(Layer)に伝送することができる。
前記MMT FEC Payload IDは、FEC Source PayloadのためのMMT FEC Payload IDとParity PayloadのためのMMT FEC Payload IDに区分されることができ、これは、受信端でFEC Blockの間の区分のためのBlockID情報、該当FEC Block内のFEC Source Payloadの個数情報、FEC Parity Payloadの個数情報、FEC Source PayloadとFEC Parity PayloadのFEC Block内の手順を示すID(or Sequence Number)情報などを含むことができる。前記IDは、受信端でFEC Packet Block及びFEC Packet Sub−Block内の受信されたPacketからFEC decodingを可能にするための情報である。
また、送信端で適用したFEC coding structureを受信端が知ることができるようにするために、図1のcase 3のように、FEC encodingされているという情報をメッセージを通じて受信端にあらかじめ伝達することができる。前記メッセージは、FEC Block内のFEC Source PayloadとFEC Parity PayloadのためのMMT Packetとは異なるMMT Packet内に格納するか、同じMMTPacket内に格納することができる。また、前記メッセージを伝送し、受信端があらかじめ送信端で適用したFEC coding structureを知ることができるようにする。前記のように、FEC Block内のFEC Source PayloadとFEC Parity PayloadのためのMMT Packetとは異なるMMT Packet内に格納して伝送する情報としては、FEC coding structure以外にFEC1 code ID、FEC2 code ID、そしてFEC Source BlockがFEC Information Blockに転換されたMode情報などFEC関連messageを含むことができる。また、他の別途のMMT PacketでMMT−CI、MMT−ADCなどの伝送及びcontent消費関連情報が伝送される。
その後、受信端では、別途のMMT Packetで伝送された伝送及びcontent消費関連情報及びFEC関連messageを習得し、受信されたMMT PacketのMMT FEC Payload IDからFEC Block ID及びFEC Decoding関連情報を習得し、当該FEC Packet Block及びFEC Packet Sub−Block内の損失されたPacketを復旧することができる。
この際、ユーザグループAは、FEC1 codeによってencodingされたFEC Packet Sub−Block内のFEC Source Packetとそれと関連したFEC Parity PacketからFEC Blockを再生成し、これからFEC decodingを行うことによって損失されたFEC Source Payloadを復旧し、ユーザグループBは、FEC1 codeによるFEC decoding失敗時にFEC2 codeによってencodingされたFEC Packet Block内のFEC Source Packetとそれと関連したFEC Parity PacketからFEC Blockを再生成し、これからFEC decodingを行い、損失されたFEC Source Payloadを復旧することができる。
また、図面上に2個のFECエンコーダーが開示されたが、前記エンコーディング手続は、同一のエンコーダーで並列的に処理されることができる。
図2は、ユーザグループAによるFECバッファリングモデル(buffering model)及びデコーディングブロック図(decoding block diagram)を示し、図3は、ユーザグループBによるFEC buffering model及びdecoding block diagramを示す。
図2及び図3を参照すれば、ユーザグループAに属しているユーザの場合、AL−FEC Decoding Buffer 240は、それぞれのFEC Packet Sub−Block 210〜224に含まれている受信されたFEC Source PayloadとFEC Parity PayloadをMMT FEC Payload IDで示している順に格納することができる。この際、受信されないFEC Source Payloadの席は、空きにしておくことができ、実施例よって複数個のバッファーを通じてFEC Source Payloadを同時に受信することができる。
AL−FEC Decoding Buffer 240は、当該FEC Blockの少なくともFEC Source Payload個数以上のPayloadを確保し、decodingが用意されれば、これをFEC1デコーダー250に伝送し、受信しないFEC SourceまたはParity Payloadは、削除(Erasure)処理をして伝送することができる。
FEC1デコーダー250は、入力されるFEC Source PayloadとFEC Parity Payload、Erasure位置情報を利用してFEC1 decodingを行い、復旧されたFEC Source PayloadをAL−FEC Decoding Buffer 240に格納することができる。当該FEC Blockのdecodingが終了すれば、AL−FEC Decoding Buffer 240は、FECSource PayloadをDe−packetizer(MPUからMMT Payloadを経てMMT Packet化された過程の逆順)し、ビデオデコーディングバッファー260及びオーディオデコーディングバッファー270に伝送することができる。
その後、それぞれのMedia Decoding Bufferは、media decodingを行った後、displayし、最終的にユーザにストリーミングサービスを提供する。このようにユーザグループAは、FEC Packet Block 205をAL−FEC Decoding Buffer 240に格納するものではなく、FEC Packet Sub−Block単位で格納し、FEC decodingを行うので、FECによる低いdelayでcontentsを再生することができる。
図3を参照すれば、ユーザグループBに属しているユーザの場合、AL−FEC Decoding Buffer 340は、FEC Packet Sub−Block 310〜324の順にそれぞれのFEC Packet Sub−Block含まれている受信されたFEC Source PayloadとFEC Parity PayloadをMMT FEC Payload IDで示している順に格納し、ユーザグループAのようにFEC1デコーダーを利用したFEC decodingを行う。もし、FEC Packet Block内のすべてのFEC Packet Sub−BlockがFEC1デコーダーを利用したデコーディングを成功すれば、Source Blockに該当するSource PayloadをDe−packetizerし、それぞれのMedia Decoding Buffer 360、370に伝送し、最終的にユーザにストリーミングサービスを提供することができる。
もし、FEC Packet Block内の少なくとも1つのFEC Packet Sub−BlockがFEC decodingを失敗するようになれば、FEC Source Block 305のためのFEC Parity Payload 345を利用して、未だ復旧しないFEC Source Payloadを追加的に復旧する。
前記追加的な復旧後、AL−FEC Decoding Buffer 340は、FEC Source Block 305に該当するSource PayloadをDe−packetizerし、それぞれのMedia Decoding Buffer 360、370に伝送し、ユーザに最終的にストリーミングサービスを提供することができる。
実施例によって、ユーザグループAにあるユーザが、FEC Packet Sub−Blockに対するFEC decodingに頻繁に失敗し、ユーザに不便をもたらすものと判断されれば、ユーザグループBに転換するために自分のAL−FEC Decoding Bufferを図3のように拡張し、ユーザグループBにあるユーザのように、FEC decodingを行い、サービスを提供すれば良い。このような例としては、ユーザグループAでFEC decodingを行う途中に、急にチャネルでburst packet lossが発生し、FEC1デコーダーを利用したdecodingが不可能な場合、ユーザグループBに転換することによって、良質のサービスを提供することができる。
前記デコーディングをする端末は、FECデコーディングをすることができる1個以上のデコーダーと前記デコーダーを制御する制御部を含むことができる。
図4は、本発明の実施例によるエンコーディング時のデータの流れを示す図である。
図4を参照すれば、Streamingサービスのためにビデオエンコーダー410とオーディオエンコーダー415は、生成されたそれぞれのビデオコンテンツ(Video content)とオーディオコンテンツ(Audio content)をエンコーディング(encoding)して出力するようになり、これから、ビデオは、1つまたはそれ以上のMPUで構成されたビデオアセット(Video Asset)420を、オーディオは、1つまたはそれ以上のMPUで構成されたオーディオアセット(Audio Asset)を生成し、それぞれのMPUは、MMT Payload Formatに合わせてMMT Payloadでパケット化(Packetizer)され、MMTペイロードストリーム430、435を生成する。その後、それぞれのMMT PayloadにMMTパケットヘッダー(Packet Header)を追加し、MMTパケットストリーム(Packet Stream)440、445を生成する。生成されたVideo MMTパケットストリーム440とAudio MMTパケットストリーム445は、多重化(Multiplexing)された後、1つの多重化されたMMTパケットストリーム450で構成される。
多重化されたMMTパケットストリーム450は、以後FEC encodingのために所定個数のMMT Packetで構成されたSource Blockに分けられる。前記分けられたそれぞれのSource Blockは、図1のCase 3とFEC1エンコーダー及びFEC2エンコーダーによってエンコーディングされ(460)、Parity Payloadを生成することができる。
前記FECプロテクション(Protection)されたMMT PacketそれぞれにMMT FEC Payload IDを追加し、Parity Payloadには、MMT FEC Payload ID及びMMT Packet Headerを追加し、FECパケットストリーム470を作ってユーザに伝送するようになる。
図5aは、本発明の実施例によるデコーディング方法を示す流れ図である。
図5aを参照すれば、受信側の端末機は、StreamingサービスのFEC decodingのためにFECメッセージを受信する(500)。前記端末機は、受信したFECメッセージを基盤として受信されたFEC Packet Streamのエンコーディング方式を判断することができる(502)。もし、前記受信したFEC Packet Streamが本発明のCase 3のような方式でエンコーディングされた場合、段階506に進行し、そうではない場合、段階504で、既存の方式のようにデコーディングを行うことができる。
段階506で、端末は、現在端末の通信環境がユーザグループAまたはBに該当するか否かを判断することができる。前記端末は、チャネル環境測定を通じて通信環境を判断することができる。また、受信したFEC Packet Streamをデコーディングした後、デコーディング成功可否によって前記端末の通信環境を判断することもできる。また、受信端がユーザグループAに属するか、ユーザグループBに属するかを判断する事例は、受信されたMMT PacketのSequenceから損失されたMMT Packetの比率を予測し、また、FEC messageのFEC encoding関連情報(例えば、FEC Packet Sub−BlockのFEC Source Packet及びFEC Parity Packetの個数情報)に基づいて判断するか、またはFeedback channelのための自分が処しているチャネル状況を知ることができる。
もし前記端末の通信環境がユーザグループAにあると判断される場合、前記端末は、FEC1デコーダーがFEC Packet Sub−Block単位でdecodingを行うことができるようにFEC Decoding Bufferを準備することができる(508)。
もし、前記端末の通信環境がユーザグループBにあると判断されれば、FEC1デコーダー及びFEC2デコーダーがFEC Packet Sub−Block及びFEC Packet Block単位でdecodingを行うためのFEC Decoding Bufferを準備することができる(510)。
図5bは、本発明の実施例によるデコーディング時のデータの流れを示す図である。
図5bを参照すれば、端末は、FEC messageの受信後、FEC decodingが用意されれば、FECパケットストリーム(Packet Stream)を受信(520)する。
それぞれのFEC Packet内のMMT FEC Payload ID情報を獲得し、それぞれのFEC Blockに該当する受信されたFEC Source Payload(MMT Packet)とFEC Parity PayloadからFEC decodingを行う(530)。前記デコーディング方式は、図2及び図3で記述されたデコーディング方式を通じて行われることができる。
FECデコーディングを通じて損失されたFEC Source Payloadを復元し、復元された多重化されたMMTパケットストリーム(Multiplexed MMT Packet Stream)を生成する(540)。
Multiplexed MMT Packet StreamをビデオMMTパケットストリーム550及びオーディオMMTパケットストリーム555に分け、また、ビデオMMTPayload Stream 560及びオーディオMMT Payload Stream565を区分し、MMT Header及びDe−packetizingを行い、MPUで構成されたVideo Asset 570とAudio Asset 575をそれぞれ生成する。それぞれのMPUのビデオデコーダー580とオーディオデコーダー585に入力され、圧縮を解除した後、再生される。
本発明の属する技術分野における通常の知識を有する者は、本発明がその技術的思想や必須な特徴を変更することなく、他の具体的な形態で実施されることができることを理解することができる。したがって、以上で記述した実施例は、すべての面で例示的なものであり、限定的なものではないものと理解しなければならない。本発明の範囲は、前記詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲そしてその均等概念から導出されるすべての変更または変形された形態が、本発明の範囲に含まれるものと解釈されなければならない。
一方、本明細書と図面には、本発明の好ましい実施例について開示し、たとえ特定用語が使用されたが、これは、ただ本発明の技術内容を容易に説明し、発明の理解を助けるための一般的な意味として使用されたものであって、本発明の範囲を限定しようとするものではない。ここに開示された実施例以外にも、本発明の技術的思想に基づく他の変形例が実施可能であることは、本発明の属する技術分野における通常の知識を有する者に自明である。
100 ソースブロック(Source Block)
112、114、116 FEC Sub−Block
120 エンコーダー
130 エンコーダー
141、143、145 FEC Sub−Block
142、144、146 パリティペイロード1
150 パリティペイロード2
205 FEC Packet Block
210〜224 FEC Packet Sub−Block
240 AL−FEC Decoding Buffer
250 デコーダー
260 ビデオデコーディングバッファー
270 オーディオデコーディングバッファー
305 ソースブロック(Source Block)
310〜324 FEC Packet Sub−Block
340 AL−FEC Decoding Buffer
345 FEC Parity Payload
360、370 Media Decoding Buffer
350 デコーダー

Claims (10)

  1. ストリーミングデータのエンコーディング方法において、
    順方向エラー訂正(Forward Error Correction、FEC)ソースブロックを1個以上のFECサブブロックに分ける段階と;
    前記1個以上のFECサブブロックをFECエンコーディングする第1エンコーディング段階と;
    前記FECソースブロックをエンコーディングする第2エンコーディング段階と;
    前記第1エンコーディング段階でエンコーディングされた第1エンコーディングデータ及び前記第2エンコーディング段階でエンコーディングされた第2エンコーディングデータを含む第3エンコーディングデータを生成する段階と;を含む方法。
  2. 前記1個以上のFECサブブロックに分ける段階は、
    前記分けられたFECサブブロックに含まれるデータの再生時間が既定の範囲内の時間になることができるように、前記FECサブブロックを分ける段階を含むことを特徴とする請求項1に記載の方法。
  3. 第3エンコーディングデータを生成する段階は、前記第1エンコーディングデータ及び前記第2エンコーディング段階で生成されたFECソースブロックに対するパリティパケットを含むデータを生成する段階を含むことを特徴とする請求項1に記載の方法。
  4. 前記1個以上のFECサブブロックに分ける段階は、
    前記ストリーミングデータが伝送される環境によってFECサブブロックのサイズを流動的に決定する段階を含むことを特徴とする請求項1に記載の方法。
  5. 前記第1エンコーディング段階及び前記第2エンコーディング段階で使用されるエンコーディング方法は、同一であることを特徴とする請求項1に記載の方法。
  6. ストリーミングデータデコーディングする端末での方法において、
    ストリーミングデータを受信する段階と;
    前記端末の通信環境を判断する段階と;
    前記判断された端末の通信環境によって前記受信したストリーミングデータをデコーディングする方法を決定する段階と;
    前記決定されたデコーディング方法で前記受信されたストリーミングデータをデコーディングする段階と;を含むデコーディング方法。
  7. 前記ストリーミングデータを受信する段階は、順方向エラー訂正(Forward Error Correction、FEC)メッセージを受信する段階を含み、
    前記受信したFECメッセージを基盤としてデコーディング方法の集合を選択する段階を含むことを特徴とする請求項6に記載の方法。
  8. 前記端末の通信環境を判断する段階は、
    前記端末が測定するとか、報告を受けた通信チャネル環境基盤で前記端末の通信環境を判断する段階を含むことを特徴とする請求項6に記載の方法。
  9. 前記受信されたストリーミングデータをデコーディングする段階は、
    前記決定されたデコーディング方法を通じてデコーディングが失敗する場合、前記決定されたデコーディング方法と異なるデコーディング方法を通じてデコーディングする段階を含むことを特徴とする請求項6に記載の方法。
  10. 前記異なるデコーディング方法は、受信されたストリーミングデータのFECパケットブロックのパリティパケットを基盤として前記受信されたストリーミングデータをデコーディングすることを特徴とする請求項9に記載の方法。
JP2014553262A 2012-01-20 2013-01-21 ストリーミングサービスを提供する方法及び装置 Active JP6504820B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261588864P 2012-01-20 2012-01-20
US61/588,864 2012-01-20
KR10-2012-0111998 2012-10-09
KR1020120111998A KR20130094160A (ko) 2012-01-20 2012-10-09 스트리밍 서비스를 제공하는 방법 및 장치
PCT/KR2013/000468 WO2013109113A1 (ko) 2012-01-20 2013-01-21 스트리밍 서비스를 제공하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017207598A Division JP6535718B2 (ja) 2012-01-20 2017-10-26 ストリーミングサービスを提供する方法及び装置

Publications (2)

Publication Number Publication Date
JP2015504288A true JP2015504288A (ja) 2015-02-05
JP6504820B2 JP6504820B2 (ja) 2019-04-24

Family

ID=49218118

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014553262A Active JP6504820B2 (ja) 2012-01-20 2013-01-21 ストリーミングサービスを提供する方法及び装置
JP2017207598A Active JP6535718B2 (ja) 2012-01-20 2017-10-26 ストリーミングサービスを提供する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017207598A Active JP6535718B2 (ja) 2012-01-20 2017-10-26 ストリーミングサービスを提供する方法及び装置

Country Status (6)

Country Link
US (1) US9485297B2 (ja)
EP (1) EP2806589B1 (ja)
JP (2) JP6504820B2 (ja)
KR (1) KR20130094160A (ja)
CN (1) CN104137455B (ja)
WO (1) WO2013109113A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3226571A4 (en) * 2014-11-26 2018-04-18 LG Electronics Inc. Apparatus and method for transmitting and receiving broadcast signal
WO2017140261A1 (en) * 2016-02-19 2017-08-24 Mediatek Inc. Method and system of adaptive application layer fec for mpeg media transport
FR3061379B1 (fr) * 2016-12-22 2022-08-12 Expway Procede de transmission de donnees incluant une correction d’erreur directe
US11663073B2 (en) * 2020-12-10 2023-05-30 Advanced Micro Devices, Inc. Method and apparatus for data protection in memory devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005110294A (ja) * 2000-08-24 2005-04-21 Matsushita Electric Ind Co Ltd 送受信方法およびその装置
JP2006067072A (ja) * 2004-08-25 2006-03-09 Fujitsu Ltd エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
US20070300127A1 (en) * 2006-05-10 2007-12-27 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
JP2008508757A (ja) * 2004-07-27 2008-03-21 シーメンス アクチエンゲゼルシヤフト 二段階式エラー防御方法を伴う符号化方法および復号化方法並びに符号化装置および復号化装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19630343B4 (de) * 1996-07-26 2004-08-26 Telefonaktiebolaget L M Ericsson (Publ) Verfahren und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
US7243285B2 (en) * 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US7593380B1 (en) * 1999-03-05 2009-09-22 Ipr Licensing, Inc. Variable rate forward error correction for enabling high performance communication
AU2001278717A1 (en) 2000-08-24 2002-03-04 Matsushita Electric Industrial Co., Ltd. Transmitting/receiving method and device therefor
US7389463B2 (en) * 2001-05-29 2008-06-17 Thomson Licensing Hierarchical block coding for a packet-based communications system
WO2003071440A1 (en) * 2002-02-15 2003-08-28 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
WO2004001976A2 (en) * 2002-06-21 2003-12-31 Thomson Licensing S.A. Method of forward error correction
US7103830B1 (en) 2002-12-18 2006-09-05 Applied Micro Circuits Corporation DC balanced error correction coding
US7152199B2 (en) * 2004-06-02 2006-12-19 Teknovus, Inc. Method and apparatus for delineating data in an FEC-coded Ethernet frame
EP1797661B1 (en) * 2004-10-06 2011-06-01 Nokia Corporation Assembling forward error correction frames
EP1803245A1 (en) * 2004-10-07 2007-07-04 Nokia Corporation Efficient source blocking algorithm for fec for mbms streaming
WO2006061902A1 (ja) * 2004-12-09 2006-06-15 Mitsubishi Denki Kabushiki Kaisha データ送信装置、データ受信装置、およびデータ配信システム
US8279985B2 (en) * 2005-02-22 2012-10-02 Adaptix, Inc. Intelligent demodulation systems and methods in an OFDMA multicell network
US20080022345A1 (en) * 2006-06-29 2008-01-24 Samsung Electronics Co., Ltd. Demodulator and demodulation method
BRPI0622135A2 (pt) * 2006-12-21 2011-12-27 Thomson Licensing mÉtodo para suporte corretivo de erros futuros para dados de vÍdeo e Áudio em tempo real atravÉs de redes de trabalho protocoladas na internet
US8566676B2 (en) 2007-01-05 2013-10-22 Qualcomm Incorporated FEC code and code rate selection based on packet size
US20090262838A1 (en) * 2008-04-21 2009-10-22 Qualcomm Incorporated Method and apparatus for encoding transmission data blocks for enhanced switching performance
KR101534076B1 (ko) * 2008-04-30 2015-07-07 삼성전자주식회사 디지털 방송 송신기 및 수신기와 그 스트림 처리방법들
US20100011274A1 (en) * 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
EP2720399A1 (en) * 2008-08-25 2014-04-16 Aware, Inc. System and method of sub-carrier indexing for devices with different decoding capabilities
TW201141078A (en) * 2010-05-14 2011-11-16 Nat Univ Chung Cheng Method of handling packet loss using error-correcting codes and block rearrangement
KR101655269B1 (ko) * 2010-05-28 2016-09-07 삼성전자주식회사 무선통신시스템에서 자원분배 장치 및 방법
US20130136193A1 (en) * 2011-11-30 2013-05-30 Samsung Electronics Co. Ltd. Apparatus and method of transmitting/receiving broadcast data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005110294A (ja) * 2000-08-24 2005-04-21 Matsushita Electric Ind Co Ltd 送受信方法およびその装置
JP2008508757A (ja) * 2004-07-27 2008-03-21 シーメンス アクチエンゲゼルシヤフト 二段階式エラー防御方法を伴う符号化方法および復号化方法並びに符号化装置および復号化装置
JP2006067072A (ja) * 2004-08-25 2006-03-09 Fujitsu Ltd エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
US20070300127A1 (en) * 2006-05-10 2007-12-27 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems

Also Published As

Publication number Publication date
US9485297B2 (en) 2016-11-01
JP6504820B2 (ja) 2019-04-24
EP2806589A1 (en) 2014-11-26
CN104137455A (zh) 2014-11-05
EP2806589B1 (en) 2019-06-19
CN104137455B (zh) 2017-08-15
JP2018011365A (ja) 2018-01-18
WO2013109113A1 (ko) 2013-07-25
US20140359392A1 (en) 2014-12-04
EP2806589A4 (en) 2015-09-02
KR20130094160A (ko) 2013-08-23
JP6535718B2 (ja) 2019-06-26

Similar Documents

Publication Publication Date Title
JP4475235B2 (ja) コンテンツの符号化、配信及び受信方法と装置とシステムならびにプログラム
US8234547B2 (en) Seamless handover of multicast sessions in internet protocol based wireless networks using staggercasting
JP6535718B2 (ja) ストリーミングサービスを提供する方法及び装置
JP2006067072A (ja) エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2009527151A (ja) 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
JP6380935B2 (ja) 送信装置、受信装置、送信方法および受信方法
JP5344541B2 (ja) データ送信装置、送信方法及びプログラム
JP6278275B2 (ja) 送信装置、受信装置、送信方法および受信方法
US20150006991A1 (en) Graceful degradation-forward error correction method and apparatus for performing same
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
JP2011530907A (ja) チャネル切替のためのメディアストリームの分離
US10833710B2 (en) Bandwidth efficient FEC scheme supporting uneven levels of protection
CN103685314A (zh) 实现流媒体播放单播和多播无缝切换的方法
JP6785928B2 (ja) 方法
KR101953580B1 (ko) 영상회의 시스템에서 데이터 송수신 장치 및 방법
JP2011087091A (ja) 送信装置および送信装置の動作モード制御方法
JP4752898B2 (ja) コンテンツ配信システム、受信装置及び再生プログラム
JP2014068295A (ja) 無線環境に適したマルチキャストデータを配信する配信サーバ、システム及びプログラム
JP5262536B2 (ja) コンテンツ配信システム、配信装置、再生装置、配信方法、再生方法およびプログラム
JP2007074440A (ja) 通信方法、通信システム及び送信装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171026

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171102

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190326

R150 Certificate of patent or registration of utility model

Ref document number: 6504820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250