JP6073527B2 - ビデオコーディングのための復号順序番号を有するシングルネットワークアブストラクションレイヤユニットパケット - Google Patents

ビデオコーディングのための復号順序番号を有するシングルネットワークアブストラクションレイヤユニットパケット Download PDF

Info

Publication number
JP6073527B2
JP6073527B2 JP2016517055A JP2016517055A JP6073527B2 JP 6073527 B2 JP6073527 B2 JP 6073527B2 JP 2016517055 A JP2016517055 A JP 2016517055A JP 2016517055 A JP2016517055 A JP 2016517055A JP 6073527 B2 JP6073527 B2 JP 6073527B2
Authority
JP
Japan
Prior art keywords
nal unit
rtp
nal
decoding order
video
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
JP2016517055A
Other languages
English (en)
Other versions
JP2016526350A (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016526350A publication Critical patent/JP2016526350A/ja
Application granted granted Critical
Publication of JP6073527B2 publication Critical patent/JP6073527B2/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
    • 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
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、2013年5月31日に出願された米国仮特許出願第61/829,950号の利益を主張する。
[0002]本開示は、ビデオデータの処理に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャの中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に2次元アレイで構成される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
[0006]ビデオデータは、1つまたは複数のプロトコルを使用して送信および受信され得る。各プロトコルは、プロトコルを使用するときにデータの送信および/または受信に対する様々なコンテンツおよびフォーマットの要件を指定し得る。たとえば、いくつかのプロトコルは、1つまたは複数のネットワークを介するトランスポートのために、データのストリームまたはセットをチャンクに分離し得る。いくつかのプロトコルでは、この分離手順は、パケット化またはフレーミングと呼ばれることがある。
[0007]本開示の技法は、リアルタイムトランスポートプロトコル(RTP:Real-time Transport Protocol)などのネットワークプロトコルを使用して送られ受信されるビデオデータを処理するための方法と装置とを提供する。より具体的には、本明細書で説明される技法は、様々な送信パラメータおよびモードとともに使用可能なシングルNALユニットパケットフォーマットを提供する。
[0008]本開示の一例では、リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理する方法は、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL:single network abstraction layer)ユニットを含むシングルNALユニットパケット内にビデオデータをカプセル化することと、RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいてシングルNALユニットパケット内に復号順序番号情報をカプセル化することとを含む。
[0009]本開示の別の例では、リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理する方法は、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットを含むシングルNALユニットパケット内にカプセル化されたビデオデータをカプセル化解除することと、RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、シングルNALユニットパケット内にカプセル化された復号順序番号情報をカプセル化解除することとを含む。
[0010]本開示の別の例では、リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するように構成された装置は、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含み、プロセッサは、リアルタイムトランスポートプロトコル(RTP)ペイロード内で、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットを含むシングルNALユニットパケット内にビデオデータをカプセル化することと、RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいてシングルNALユニットパケット内に復号順序番号情報をカプセル化することとを行うように構成される。
[0011]本開示の別の例では、リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するように構成された装置は、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットを含むシングルNALユニットパケット内にビデオデータをカプセル化するための手段と、RTPセッションがマルチストリーム送信(MST)モードにあることまたは受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいてシングルNALユニットパケット内に復号順序番号情報をカプセル化するための手段とを含む。
[0012]1つまたは複数の例の詳細が、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
[0013]本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示す概念図。 [0014]HEVCネットワークアブストラクションレイヤ(NAL)ユニットヘッダの構造を示す概念図。 [0015]アグリゲーションパケットに対するリアルタイムトランスポートプロトコル(RTP)ペイロードフォーマットの構造を示す概念図。 [0016]アグリゲーションパケット内の第1のアグリゲーションユニットの構造を示す概念図。 [0017]シングルNALユニットパケットに対するRTPペイロードフォーマットの構造を示す概念図。 [0018]本開示の技法によるシングルNALユニットパケットに対するRTPペイロードフォーマットの一例を示す概念図。 [0019]本開示の技法によるシングルNALユニットパケットに対するRTPペイロードフォーマットの別の例を示す概念図。 [0020]本開示で説明される技法を実施し得る例示的なビデオエンコーダを示す概念図。 [0021]本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0022]ネットワークの一部を形成するデバイスの例示的なセットを示すブロック図。 [0023]本開示の技法によるRTPペイロードフォーマット内にビデオデータをカプセル化するための例示的な動作を示すフロー図。 [0024]本開示の技法によるRTPペイロードフォーマット内にカプセル化されたビデオデータをカプセル化解除するための例示的な動作を示すフロー図。
[0025]本開示は、ビデオデータをパケット化するための様々な技法とデバイスとを導入する。1つまたは複数の例では、本開示は、ビデオデータをトランスポートするためのリアルタイムトランスポートプロトコル(RTP)ペイロードフォーマットの改善された設計を提示する。詳細には、本開示は、シングルネットワークアブストラクションレイヤ(NAL)ユニットのRTPパケットに対する復号順序番号(DON)をシグナリングするための技法を提示する。シングルNALユニットパケットを送信するための以前の技法は、いくつかの送信モードおよび送信パラメータと適合しなかった。代わりに、以前の技法は、シングルNALユニットが、アグリゲーションパケット内で送信されることを必要とし、オーバーヘッドの増加とスループットの減少とを招いた。柔軟なシングルNALユニットパケット内に復号順序番号情報を含むことによって、本明細書で説明される技法は、シングルNALユニットのより効率的な送信を可能にし、様々な送信モードと送信パラメータとを有するシングルNALユニットパケットの使用を可能にし得る。
[0026]図1は、本開示で説明される技法とともに使用され得る例示的なビデオ処理システム10を示すブロック図である。システム10は、たとえば、本開示で説明されるRTP技法を使用してビデオデータを生成し、処理し、送信するように構成され得る。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス12を含む。符号化ビデオデータは、メディアアウェアネットワーク要素(MANE)29によってソースデバイス12から宛先デバイス14にルーティングされ得る。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0027]システム10は、異なるビデオコーディング規格、プロプライエタリ規格、またはマルチビューコーディングの任意の他の方法に従って動作し得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそのスケーラブルビデオコーディング(SVC:Scalable Video Coding)拡張とマルチビュービデオコーディング(MVC:Multiview Video Coding)拡張とを含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264などのビデオ圧縮規格に従って動作し得る。MVC拡張の最近の公的に入手可能な共同ドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されている。MVC拡張のさらに最近の公的に入手可能な共同ドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2011年6月に記載されている。MVC拡張の現在の共同ドラフトは、2012年1月時点で承認されている。
[0028]さらに、ITU−Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのビデオコーディング共同研究部会(JCT−VC:Joint Collaboration Team on Video Coding)によって開発された新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)規格がある。「HEVC Working Draft 10」または「WD10」と呼ばれるHEVC規格の1つのドラフトは、文書JCTVC−L1003v34、Brossら、「High efficiency video coding (HEVC) text specification draft 10」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第12回会合:スイス、ジュネーブ、2013年1月14〜23日に記載されており、この文書は、2014年4月30日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipからダウンロード可能である。HEVC WD10の内容全体は参照により本明細書に組み込まれる。
[0029]説明の目的で、ビデオエンコーダ20およびビデオデコーダ30については、HEVC規格またはH.264規格およびそのような規格の拡張のコンテキストにおいて説明される。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG−2およびITU−T H.263がある。On2 VP6/VP7/VP8と呼ばれるものなど、プロプライエタリなコーディング技法もまた、本明細書で説明される技法のうちの1つまたは複数を実施し得る。本開示の技法は、HEVC他を含むいくつかのビデオコーディング規格に、潜在的に適用可能である。
[0030]宛先デバイス14は、リンク16を介して、復号されるべき符号化されたビデオデータを受信し得る。リンク16は、符号化されたビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、ソースデバイス12が、符号化されたビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。リンク16は、ソースデバイス12から宛先デバイス14にビデオデータをルーティングする、MANE 29などの1つまたは複数のMANEを含み得る。
[0031]代替的に、符号化されたデータは、出力インターフェース22からストレージデバイス27に出力され得る。同様に、符号化されたデータは、入力インターフェースによってストレージデバイス27からアクセスされ得る。ストレージデバイス27は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性のメモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス27は、ソースデバイス12によって生成された符号化されたビデオを保持し得る、ファイルサーバまたは別の中間ストレージデバイスに対応し得る。
[0032]宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス27から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス14に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含むいずれかの標準データ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含むことができる。ストレージデバイス27からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ストレージデバイス27から取り出されたビデオデータは、MANE 29などの1つまたは複数のMANEを使用して宛先デバイス14にルーティングされ得る。
[0033]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえば、インターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途のような、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0034]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は変調器/復調器(モデム)および/または送信機を含み得る。たとえば、出力インターフェース22は、本明細書で説明される技法に従ってRTPペイロード内にデータをカプセル化するように動作可能なRTPパケット化ユニットを含み得る。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。ただし、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0035]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータによって生成されたビデオは、ソースデバイス12によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化されたビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス27上に記憶され得る。
[0036]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は受信機および/またはモデムを含み得る。たとえば、入力インターフェース28は、本明細書で説明される技法に従ってRTPペイロード内にカプセル化されたデータをカプセル化解除するように動作可能なRTPパケット化解除ユニットを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信され、またはストレージデバイス27上に提供された符号化されたビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダが使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化されたビデオデータとともに含まれ得、またはファイルサーバを記憶した。
[0037]ディスプレイデバイス32は、宛先デバイス14と一体化されること、またはその外部に存在することがある。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含むことができ、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0038]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んでもよい。適用可能な場合、いくつかの例では、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
[0039]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。
[0040]HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づいた。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0041]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方ともを含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割される場合があり、各子ノードは、次に、親ノードとなり、別の4つの子ノードに分割される場合がある。4分木のリーフノードとしての最終的な分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連付けられるシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
[0042]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルをもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。PUは、形状が非正方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
[0043]HEVC規格は、CUごとに異なり得るTUに従った変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、通常、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
[0044]概して、PUは、予測処理に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUについてのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含み得る。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての分解能(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトル用の参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述することができる。
[0045]概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)を含む場合もある。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数を生成するために、TUを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示は、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示は、コーディングノードとPUとTUとを含む、ツリーブロック、すなわち、LCUまたはCUを指すために「ビデオブロック」という用語を使用する場合もある。
[0046]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはCU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
[0047]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示とによって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5NのPUおよび下部の2N×1.5NのPUで水平方向に区分された2N×2NのCUを指す。
[0048]本開示では、たとえば16×16ピクセルまたは16かける16ピクセルなど、「N×N」および「NかけるN(N by N)」は、垂直および水平の寸法に関して、ビデオブロックのピクセル範囲を示すために区別なく使用され得る。一般的に、16×16ブロックは、垂直方向に16個のピクセルを有し(y=16)、水平方向に16個のピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは非負整数値を表す。ブロック内のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備えてよく、この場合に、Mは必ずしもNに等しいとは限らない。
[0049]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CU用の変換係数を生成するために、TUを変換することができる。
[0050]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実施し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられてよく、ただし、nはmよりも大きい。
[0051]いくつかの例では、ビデオエンコーダ20は、あらかじめ定義された走査順序を利用して、量子化された変換係数を走査し、エントロピー符号化され得る直列化されたベクトルを生成し得る。他の例では、ビデオエンコーダ20は適応走査を実施し得る。量子化された変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0052]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が0ではないかどうかに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
[0053]HEVC規格または他の規格に従って符号化されたビデオデータなどの符号化されたビデオデータは、様々な方法を使用して2つのデバイス間(たとえば、ソースデバイス12と宛先デバイス14との間)で送信され得る。たとえば、ビデオデータは、様々なネットワークプロトコルを使用して1つまたは複数のネットワークを介して送信され得る。いくつかのプロトコルは、送信のための様々なパラメータおよび/またはルールを指定し得る。たとえば、いくつかのプロトコルは、ネットワークを介して送信する前にデータを処理し、受信すると、そのデータを再処理することができ得る。いくつかの例では、データ(たとえば、符号化されたビデオデータ)を処理することは、データをいくつかのチャンクに分離すること(たとえば、データをパケット化またはフレーミングすること)を含み得る。リアルタイムストリーミング用途に対するビデオデータを送信するためのプロトコルの一例が、リアルタイムトランスポートプロトコル(RTP)である。
[0054]RTPは、2014年4月30日現在、http://www.ietf.org/rfc/rfc3550.txtから入手可能であり、その全体が参照により本明細書に組み込まれる、IETF RFC 3550において規定されたトランスポートプロトコルである。概して、RTPは、IPネットワークを介してオーディオおよび/またはビデオを配信するための規格化されたパケットフォーマットを定義する。RTPは、テレフォニーサービス、ビデオ遠隔会議、テレビジョンサービス、他など、様々なストリーミングメディアを提供するために使用され得る。
[0055]ビデオコーデックによって符号化されたビデオデータをRTPを介してトランスポートするために、ビデオコーデックに対するRTPペイロードフォーマットが規定される必要がある。たとえば、RFC6184(2014年4月30日現在、http://www.ietf.org/rfc/rfc6184.txtにおいて入手可能)は、H.264ビデオに対するRTPペイロードフォーマットを規定し、RFC6190(2014年4月30日現在、http://www.ietf.org/rfc/rfc6190.txtにおいて入手可能)は、SVCビデオに対するRTPペイロードフォーマットを規定する。RFC6184とRFC6190の両方は、それらの全体が参照により本明細書に組み込まれる。RFC4629は、ITU−T Rec.H.263に対するRTPペイロードフォーマットを規定する。
[0056]加えて、インターネットエンジニアリングタスクフォース(IETF)、オーディオ/ビデオトランスポートペイロードワーキンググループによって開発されている新しいRTPペイロード仕様、すなわち高効率ビデオコーディング(HEVC)に対するRTPペイロードフォーマットがある。HEVCビデオに対するRTPペイロードフォーマットの最近のドラフトは、2014年4月30日現在、http://www.ietf.org/id/draft−ietf−payload−rtp−h265−02.txtから入手可能であり、その全体が参照により本明細書に組み込まれる。
[0057]その全体が参照により本明細書に組み込まれる、2103年3月29日に出願された米国仮出願第61/806,705号に記載される改善を含む、HEVC RTPペイロードフォーマットの最新の設計は、単一のRTPセッション(たとえば、単一のRTPストリーム)または複数のRTPセッション(たとえば、複数のRTPストリーム)を介するHEVCビットストリームの送信を可能にする。RTPストリームは、単一のRTPセッション内で搬送されるRTPパケットのシーケンスであり得る。RTPセッションは、IPアドレスと、RTPおよびRTP制御プロトコル(RTCP)データを受信するためのポートのペアとに対応し得る。RTCPは、概して、関連付けられたRTPストリームに対する帯域外統計と制御情報とを提供し得る。
[0058]HEVC RTPペイロードフォーマットのいくつかの概念および動作原理は、RFC6190から受け継がれ、同様の設計を採用する。唯一のRTPセッション(たとえば、1つのRTPストリーム)がHEVCビットストリームの送信に使用される場合、送信モードは、シングルセッション(または、シングルストリーム)送信(SST)と呼ばれ、そうでない場合(たとえば、2つ以上のRTPセッションがHEVCビットストリームの送信に使用される場合)、送信モードは、マルチセッション(または、マルチストリーム)送信(MST)と呼ばれる。SSTは、一般的に、ポイントツーポイントユニキャストのシナリオに対して使用され、一方、MSTは、帯域幅利用効率を改善するために、異なる受信機が同じHEVCビットストリームの異なる動作ポイントを要求する、ポイントツーマルチポイントマルチキャストのシナリオに対して使用される。SSTまたはMSTのいずれが使用されようと、送信モードは、(たとえば、RTPセッションのセットアップの間に)セッション記述プロトコル(SDP:Session Description Protocol)パラメータとして表現され得るメディアタイプパラメータ、tx−modeによってシグナリングされる。
[0059]SDPパラメータとして指定され得る別のパラメータは、sprop−depack−buf−nalusパラメータである。sprop−depack−buf−nalusは、受信順序においてパケット化解除バッファ(たとえば、RTP受信機バッファ)内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数を指定するセッションパラメータである。復号順序は、概して、NALユニットがビデオデコーダによって復号されるべき順序を示し得る。したがって、ビデオデコーダおよび/またはパケット化解除ユニットは、NALユニットを処理する順序を決定するために受信されたNALユニットの復号順序を利用し得る。したがって、sprop−depack−buf−nalusの値は、復号順序を外れて送信および/または受信され得るNALユニットの最大数を示し得る。
[0060]一例では、sprop−depack−buf−nalusパラメータの値は、両端値を含む0〜32767の範囲内の整数である。存在しないとき、sprop−depack−buf−nalusパラメータの値は、0に等しくなると推論される。RTPセッションが1つまたは複数の他のRTPセッションに依存するとき(この場合、送信モードは「MST」に等しい)、sprop−depack−buf−nalusパラメータの値は、0より大きくなる。sprop−depack−buf−nalusパラメータに対するゼロより大きい値は、セッションがインタリーブされたパケット化を可能にすることを示す。言い換えれば、データユニットを送信するために複数のストリームを使用するとき、受信機バッファおよび/またはパケット化解除バッファは、インタリーブされたパケット化を処理する(たとえば、復号順序を外れて送信および/または受信されたデータユニットを処理する)ことができ得る。
[0061]RTPパケットは、1つのデバイスから別のデバイスに情報(たとえば、符号化されたビデオデータ)を搬送するためにセッションを介して送信される。RTPパケットは、RTPヘッダとRTPペイロードとを含む。RTPヘッダは、ペイロード識別子を指定するためのPayload Typeフィールドを含む。ペイロード識別子は、対応するRTPペイロードのフォーマットを示す。RTP規格によって規定されるように、ペイロード識別子96〜127が、セッションの間に動的に規定されるRTPペイロードのために確保される。すなわち、96〜127のペイロード識別子の値が、RTPペイロードを対応するRTPセッションの持続時間の間に指定されたフォーマット(またはプロファイル)にマッピングし得る。いくつかの例では、セッションのRTPペイロードに対する指定されたフォーマットは、SDPパラメータを使用して規定され得る。たとえば、SDPパラメータは、特定のセッションに対して、98のペイロード識別子の値がRTPペイロードに対するHEVCプロファイルを示すことを指定し得る。したがって、セッションを介して送られたRTPパケットは、HEVC規格を使用して符号化されたビデオデータを含むRTPペイロードを含み得る。このため、RTPペイロードは、NALユニットを含み得る。
[0062]RTPペイロードに対するHEVCプロファイルの一例では、RTPペイロードの最初の2バイトは、RTPペイロードヘッダを表し得る。HEVCに対するRTPペイロードフォーマットに準拠するいくつかのRTPペイロードに対して、RTPペイロードヘッダは、HEVCに対するNALユニットヘッダと同じフィールドから成る。
[0063]図2は、HEVC NALユニットヘッダの構造を示す概念図である。概して、HEVCは、H.264のNALユニット概念を、いくぶんかの修正を伴いながら維持する。NALユニットヘッダ内のフィールドのセマンティクスは、HEVC WD10に指定されるとおりであり、便宜上以下に簡単に説明される。各フィールドの名称およびサイズに加えて、HEVC WD10における対応するシンタックス要素名もまた提供される。説明のために、NALユニットのペイロードデータは、本明細書では、NALユニットヘッダを除外したNALユニットの部分を指す。すなわち、NALユニットは、NALユニットヘッダ(たとえば、NALユニットのバイト1および2)およびNALユニットペイロード(たとえば、NALユニットのバイト3〜N)から成り得る。
[0064]図1の例に示すシンタックス要素Fはシングルビットであり、forbidden_zero_bitと呼ばれる。HEVC WD10によれば、Fはゼロの値を有する。すなわち、HEVC WD10は、シンタックス要素Fに対する1の値がシンタックス違反を構成することを規定する。NALユニットヘッダ内にこのビットを包含することは、(たとえば、スタートコードエミュレーションを回避するために)MPEG−2トランスポートシステムを介するHEVCビデオのトランスポートを可能にするためである。
[0065]図2の例に示すように、NALユニットヘッダはまた、シンタックス要素Typeを含む。Typeシンタックス要素は、6ビット長であり、nal_unit_typeと呼ばれる。このフィールドは、NALユニットタイプを、HEVC WD10の表7−1において規定されるように指定する。現在規定されているNALユニットタイプおよびそれらのセマンティクスのすべての参考文献として、HEVC WD10のセクション7.4.1を参照されたい。
[0066]図2の例に示すシンタックス要素LayerIDもまた、NALユニットヘッダ内に含まれる。LayerIDシンタックス要素は、6ビット長であり、nuh_layer_idと呼ばれる。現在、HEVC WD10は、LayerIDがゼロの値に等しくあるべきであることを指定する。HEVCの将来のスケーラブルまたは3Dビデオコーディング拡張において、LayerIDシンタックス要素は、空間スケーラブルレイヤ、品質スケーラブルレイヤ、テクスチャビューまたは深度ビューなど、コーディングされたビデオシーケンス中に存在し得る追加のレイヤを識別するために使用され得る。
[0067]図2の例に示すように、NALユニットヘッダはまた、シンタックス要素TIDを含む。TIDシンタックス要素は、3ビット長であり、nuh_temporal_id_plus1と呼ばれる。TIDシンタックス要素は、NALユニットプラス1の時間識別子を指定する。したがって、TemporalIDの値は、TIDマイナス1に等しい。NALユニットヘッダ内のスタートコードエミュレーションを防止するために、NALユニットヘッダ内に1に等しいビットが少なくとも1ビット存在することを確実にするために、0のTID値は、HEVC WD10において許容されない。
[0068]RTPに対するHEVCペイロード仕様において、4つの異なるタイプのRTPペイロード構造が指定される。受信機は、RTPペイロードヘッダ内のTypeフィールドを介してRTPペイロードのタイプを識別し得る。
[0069]HEVCに対する4つの異なるRTPペイロード構造は、以下のとおりである。
o シングルNALユニットパケット:シングルNALユニットパケットは、RTPペイロード内にシングルNALユニット(たとえば、NALユニットヘッダとNALユニットペイロードデータと)を含む。以前は、NALユニットのNALユニットヘッダもまた、RTPペイロードヘッダとして働いた。すなわち、シングルNALユニットパケットから成るRTPペイロードは、RTPペイロードヘッダを含まず、代わりに、RTPペイロードヘッダとして働くことをNALユニットヘッダに依存した。
o アグリゲーションパケット(AP):以前は、APは、RTPペイロード内に1つまたは複数のNALユニットを含んだ。APのNALユニットは、1つのアクセスユニット内から来る。HEVC WD10によって規定されるアクセスユニットは、指定された分類ルールに従って互いに関連し、復号順序において連続し、ちょうど1つのコード化ピクチャを含む、NALユニットのセットである。
o フラグメンテーションユニット(FU):FUは、シングルNALユニットのサブセットを含む。
o RTPパケットを搬送するペイロードコンテンツ情報(PACI:Payload Content Information):RTPパケットを搬送するPACIは、(効率に対して他のペイロードヘッダと異なる)RTPペイロードヘッダと、ペイロードヘッダ拡張構造(PHES)と、PACIペイロードとを含む。
[0070]以前は、以下のパケット化ルールが指定された。送信モード(たとえば、tx−mode)が「MST」に等しいか、またはsprop−depack−buf−nalusパラメータの値が0より大きいとき、シングルNALユニットパケットは使用されない。言い換えれば、RTPデータがMSTを介して受信されていたとき、および/またはパケット化解除バッファが順序を外れてRTPパケットを受信することを許可されたとき、対応する復号順序番号なしにRTPペイロードにパケット化されたNALユニットは許可されず、シングルNALユニットパケットに対する以前のRTPパケットフォーマットは、復号順序番号情報を含まなかった。復号順序番号がないので、NALユニットが、RTP受信機によって正しい順序に戻されることは不可能である。シングルNALユニットがMSTモードで送信されるべきであった場合、またはパケット化解除バッファが(たとえば、sprop−depack−buf−nalusパラメータによって)指定されたとき、APが、シングルNALユニットを1つのRTPパケットにカプセル化するために使用された。しかしながら、APは、シングルNALユニットを送信するときに不必要な4バイトの情報(すなわちNALユニットSizeフィールドとRTPペイロードヘッダと)を含むので、AP内にシングルNALユニットをカプセル化することは、オーバーヘッドの増加と帯域幅の減少とをもたらす。
[0071]図3は、アグリゲーションパケットに対するリアルタイムトランスポートプロトコル(RTP)ペイロードフォーマットの構造を示す概念図である。アグリゲーションパケット(AP)は、しばしば数オクテットのサイズにすぎない大半の非VCL(ビデオコーディングレイヤ)NALユニットなど、小さいNALユニットに対するパケット化オーバーヘッドの低減を可能にする。
[0072]図3の例に示すように、APは、RTPペイロードヘッダと、アグリゲーションユニットと、随意のRTPパディングとを含む。APのRTPペイロードヘッダは、図2で説明されるNALユニットヘッダと同じフォーマットに従う。すなわち、APのRTPペイロードヘッダは、Fフィールドと、Typeフィールドと、LayerIDフィールドと、TIDフィールドとを含む。APのRTPペイロードヘッダでは、AP内の各アグリゲートされたNALユニットのFビットがゼロに等しい場合、Fビットは0に等しい。そうでない場合、Fビットは1に等しい。APのRTPペイロードヘッダ内のTypeフィールドの値は48に等しい。APのRTPペイロードヘッダ内のLayerIDフィールドの値は、AP内のアグリゲートされたNALユニットすべての中のLayerIDの最小値に等しい。APのRTPペイロードヘッダ内のTIDフィールドの値は、アグリゲートされたNALユニットすべての中のTIDフィールドの最小値に等しい。
[0073]APは、1つのアクセスユニット内のNALユニットをアグリゲートする。すなわち、APは、同じアクセスユニットからの1つまたは複数のNALユニットを含み得る。AP内で搬送されるべき各NALユニットは、アグリゲーションユニット内にカプセル化される。1つのAP内にアグリゲートされたNALユニットは、NALユニット復号順序にある。APは、必要な数のアグリゲーションユニットを搬送することができ得る。
[0074]図4は、アグリゲーションパケット内の第1のアグリゲーションユニットの構造を示す概念図である。AP内の第1のアグリゲーションユニットは、随意の16ビットの復号順序番号下位(DONL:Decoding Order Number Lower)フィールドを(ネットワークバイト順序で)含む。DONLフィールドのセマンティクスは、2014年3月27日に出願された米国特許出願第14/228,164号に提示されるセマンティクスと同じであってよい。より具体的には、DONLフィールドの値は、RTPパケットペイロード内に存在するとき、対応するNALユニットの復号順序番号の最下位の16ビットの値に等しい。
[0075]図4に示すように、AP内の第1のアグリゲーションユニットはまた、NALユニットのサイズをバイトで示す(ネットワークバイト順序における)サイズ情報を含む16ビットの符号なしフィールド(「NALU Size」フィールド)を含む。NALU Sizeフィールド内のサイズ情報は、NALU Sizeフィールドと関連付けられた2オクテットのビットを除外するが、NALユニット自体の中のNALユニットヘッダと関連付けられたビットを含む。
[0076]図4に示すように、NALU Sizeフィールドは、上述のようにNALユニットヘッダとNALユニットペイロードとを含むNALユニット自体によって後続される。すなわち、アグリゲーションユニットは、含まれるNALユニットの復号順序番号を示すDONLフィールドと、含まれるNALユニットのサイズを示すサイズフィールド(たとえば、NALU Sizeフィールド)と、NALユニット自体とから成る。
[0077]送信モードが「MST」に等しい場合、および/またはsprop−depack−buf−nalusパラメータの値が0より大きい場合、DONLフィールドは、AP内の第1のアグリゲーションユニット内に存在する。さらに、送信モードが「MST」に等しい場合、および/またはsprop−depack−buf−nalusパラメータの値が0より大きい場合、AP内の後続のアグリゲーションユニットの各々は、復号順序番号差分(DOND:Decoding Order Number Difference)フィールドを含むことになる。APの後続のアグリゲーションユニット内に存在するとき、DONDフィールドの値は、現在のアグリゲートされたNALユニット(たとえば、現在のアグリゲーションユニット内のNALユニット)の復号順序番号の値と、同じAP内の先行するアグリゲートされたNALユニット(たとえば、先行するアグリゲーションユニット内のNALユニット)の復号順序番号の値との間の差分を示す。
[0078]一般的にはRTPペイロードフォーマット、または具体的にはHEVC RTPペイロードフォーマットに対するそのような設計は、下記の問題を有する。マルチストリーム送信(MST)が使用されるとき、および/または、たとえばsprop−depack−buf−nalusパラメータによって示されるようにインタリーブされたパケット化が(たとえば、SSTまたはMSTのいずれかにおいて)使用中であるときにシングルNALユニットをRTPパケット内にカプセル化するために、APが使用されなければならない(たとえば、シングルNALユニットパケットは使用され得ない)。すなわち、RTP受信機は、復号順序番号に少なくとも部分的に基づいて、NALユニットをビデオ復号ユニットに供給するので、復号順序番号を外れて送られたNALユニットは、対応する復号順序番号とともに送られるべきである。しかしながら、RTPペイロードに対するシングルNALユニットパケットフォーマットは、復号順序番号の指示を含まない。したがって、シングルNALユニットは、APとして構成されるRTPペイロードを有するRTPパケット内で送られなければならない。
[0079]RTPパケット内でシングルNALユニットを送るためにAPを使用することは、NALユニットサイズフィールド(たとえば、図4のNALU Sizeフィールド)と関連付けられた2バイトを含むこと、ならびに2バイトのNALユニットヘッダを繰り返すことを必要とする。APが単一のアグリゲーションユニットだけを含むとき、アグリゲートされたNALユニットのサイズは不必要である。すなわち、パケット化解除モジュールは、(たとえば、アグリゲーションユニットは1つだけしかないので)AP内の複数のアグリゲーションユニットの間で区別する必要はないので、アグリゲートされたNALユニットの長さを指定する必要はない。さらに、RTPペイロードヘッダ(図3に示すペイロードヘッダ)とNALユニットヘッダ(図4に示すFフィールド、Typeフィールド、LayerIDフィールド、およびTIDフィールド)の両方を含むことは冗長である。すなわち、シングルNALユニットを含むAPは、唯一のアグリゲートされたNALユニットのNALユニットヘッダとほとんど同じRTPペイロードヘッダを有することになる。唯一の違いは、Typeフィールドの値である。RTPペイロードヘッダにおいて、Typeフィールドの値は(たとえば、RTPペイロードがAPであることを表明するために)48となり、一方、NALユニットヘッダにおいて、Typeフィールドの値は(たとえば、NALユニットタイプを示すために)異なることがある。したがって、インタリービングパケット化(interleaving packetization)が可能にされるとき、および/またはマルチストリーム送信モードで動作するとき(たとえば、RTPにおけるMSTモードにあるとき)、シングルNALユニットを含む各パケットに対して4バイトが浪費される。言い換えれば、単一のアグリゲーションユニットだけを含んで送られるあらゆるAPに対して、4バイトのデータは不要である。
[0080]このようにして、RTPペイロードフォーマットに対するこの設計に伴う問題は、MSTモードの下でおよび/またはsprop−depack−buf−nalusパラメータの値が0より大きいときならびにシングルNALユニットに対するRTPペイロードが送信されるとき、RTPパケットに対するペイロードは、シングルNALユニットを含むAPとしてカプセル化されなければならないことである。これは、16ビット長を有するRTPペイロードヘッダと、16ビット長を有するDONLフィールドと、NALユニットによって後続される16ビット長を有するNALU Sizeフィールドとを有するRTPペイロードをもたらす(NALユニット自体は別個の(すなわち、RTPペイロードヘッダとは別個の)16ビットのNALユニットヘッダを含む)。対照的に、(HEVCに対する以前のRTPペイロードフォーマットに従って)SSTモードにおいて可能にされるシングルNALユニットパケットと関連付けられたRTPペイロードは、DONLフィールドまたはNALU Sizeフィールドを含まない。そうではなく、上記のように、シングルNALユニットパケットのRTPペイロードヘッダは、含まれるNALユニットの最初の2バイト(たとえば、NALユニットヘッダ)である。MSTモードが送信に利用されるシナリオでは、および/またはsprop−depack−buf−nalusパラメータが0より大きい値を有するとき、4バイト(すなわち、APのRTPペイロードヘッダの2バイトおよびAP内の単一のアグリゲーションユニットのNALU Sizeフィールドの2バイト)が不必要にカプセル化され、送信されるので、シングルNALユニットを送ることは、帯域幅を阻害することおよび/または送信効率を低下させることをもたらすことがある。
[0081]これらの問題に鑑みて、本開示は、MSTモードにおいておよび/またはsprop−depack−buf−nalusパラメータが0より大きい値を有するときに、シングルNALユニットパケットが使用され得るように、修正されたシングルNALユニットパケットのRTPペイロード構造を提供する。すなわち、修正されたシングルNALユニットパケット構造は、インタリーブされたパケット化が無効にされながらSSTモードで動作するときのシングルNALユニットの効率的な送信を維持しながら、マルチストリーム送信モード(RTPに対するMSTモードなど)を実施するとき、および/またはインタリーブされたパケット化が可能にされるときに、シングルNALユニットのより効率的な送信を可能にし得る。より一般的には、シングルNALユニットパケットが、復号順序カウントまたは復号順序番号(DON)情報(たとえば、2バイトのDONLフィールド)を含み得る技法が開示される。
[0082]一例として、DONLフィールドは、2バイトのNALユニットヘッダの直後でNALユニットペイロードの直前に含まれ得る。DON情報は、マルチストリーム送信を実施する場合(たとえば、RTP送信モードが「MST」に等しい場合)および/またはインタリーブすることが可能にされる場合(たとえば、sprop−depack−buf−nalusパラメータが0より大きい場合)に各シングルNALユニットパケット内に存在し、そうでない場合には存在しない。シングルNALユニットパケット構造に対するそのような変更によって、シングルNALユニットパケットは、ユニキャストモード(インタリーブすることを伴うか否かにかかわらず)とマルチストリーム送信モードにおける中の両方において使用され得る。このようにして、NALユニットに対するDON情報の指示は、必要なときに、送られる情報量を低減しながらNALユニットと一緒に送られ得る。すなわち、シングルNALユニットパケット内に随意のDONLフィールドを含むことは、(たとえば、RTPを使用するときに)ビデオデータ送信の効率を向上させ得る。
[0083]HEVCに対する以前のRTPペイロードフォーマットに従ってインタリーブすることを伴わないSSTの間にのみ使用され得るシングルNALユニットパケットに対するRTPペイロードフォーマットが、図5に示されている。図5においてわかるように、RTPペイロード内にDON情報は存在しない。
[0084]図6は、本開示の技法によるシングルNALユニットパケットに対するRTPペイロードフォーマットの一例を示す概念図である。図6に示すように、修正されたシングルNALユニットパケットのRTPペイロード構造は、DONLフィールドを含む。DONLフィールドは、マルチストリーム送信を実施するとき(たとえば、送信モードが「MST」に等しいとき)および/またはインタリーブすることが可能にされる(たとえば、sprop−depack−buf−nalusパラメータが0より大きい値を有する)ときにシングルNALユニットパケットに対してシグナリングされるという点において、DONLフィールドは「随意的」である。すなわち、RTPに対して、sprop−depack−buf−nalusパラメータの値が0より大きい場合、および/または送信モードが「MST」に等しい場合、DONLフィールドは、RTPペイロード内に含まれる。そうでない場合、DONLは存在しない。言い換えれば、DONLフィールドは、送信モードが「SST」に等しく、sprop−depack−buf−nalusパラメータの値が0に等しいとき、修正されたシングルNALユニットパケット内に存在しない。
[0085]図6の例に示すように、随意のDONLフィールドは、NALユニット自体の中にカプセル化され得る。すなわち、修正されたシングルNALユニットパケット内に存在するとき、DONLフィールドは、NALユニットヘッダの直後でNALユニットペイロードの直前にカプセル化され得る。このようにして、NALユニットヘッダ内の情報は、RTPペイロードヘッダとNALユニットヘッダの両方として機能し得る。
[0086]図7は、本開示の技法によるシングルNALユニットパケットに対するRTPペイロードフォーマットの別の例を示す概念図である。図7の例に示すシングルNALユニットパケットもまた、随意のDONLフィールドを含む。すなわち、図7に示すDONLフィールドは、マルチストリーム送信を実施する(たとえば、送信モードが「MST」に等しい)とき、および/またはインタリーブすることが可能にされる(たとえば、sprop−depack−buf−nalusパラメータの値が0に等しくない)ときに存在し得る。図7に示すDONLフィールドは、そうでない場合には存在し得ない。
[0087]図7の例では、シングルNALユニットは、DONLフィールドに続くRTPペイロードの一部である。この場合、NALユニットの最初の2バイト(たとえば、NALユニットヘッダ)がDONLフィールドの前に(たとえば、RTPペイロードヘッダとして)繰り返され、それによって、シングルNALユニットを送るためにAPを使用することと比較すると、2バイトを節約している。図7の例示的なシングルNALユニットはまた、NALユニットの最初の2バイトを、DONLフィールドを有するNALデータの残部から中間で分離しないという利点を提供する。言い換えれば、修正されたシングルNALユニットパケットは、様々なロケーションにおいて復号順序番号情報を含み得る。図6の例示的なシングルNALユニットパケットは、NALユニットヘッダとNALユニットペイロードとの間にDONLフィールドを含む。図7の例示的なシングルNALユニットパケットは、NALユニットヘッダの前(たとえば、NALユニットの前)にDONLフィールドを含み、DONLフィールドの前にNALユニットヘッダ(たとえば、NALユニットの最初の2バイト)の複製を含む。図7の例に示すように、RTPペイロードヘッダを作成するためにNALユニットヘッダの情報を複製することは、NALユニットヘッダとNALユニットペイロードとの分離を回避しながら必要なRTPペイロードヘッダを提供し得る。
[0088]本開示のRTPペイロードフォーマットにおけるシングルNALユニットコーディングのための技法は、ビデオエンコーダ、ビデオデコーダ、メディアアウェアネットワーク要素(MANE)、ならびに他のビデオおよび/またはネットワーク処理ハードウェアによって実施され得る。以下の図は、本開示の技法を実装し得るビデオエンコーダ20と、ビデオデコーダ30と、MANE29と、サーバデバイス152と、ルーティングデバイス154Aと、トランスコーディングデバイス156と、ルーティングデバイス154Bと、クライアントデバイス158とを含む例示的な構造を説明する。
[0089]図8は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。イントラコーディングは、空間的予測を利用して、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去する。インターコーディングは、時間的予測を利用して、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去する。イントラモード(Iモード(登録商標))は、いくつかの空間ベースの圧縮モードのいずれかを指す場合がある。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指す場合がある。
[0090]図8の例では、ビデオエンコーダ20は、ビデオデータメモリ34、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロックの再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すように意図されている。図8では、フィルタユニット63はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装され得る。図8はまた、ビデオエンコーダ20によって生成された符号化ビデオデータに対して追加の処理を実行し得る後処理デバイス57を示す。ある事例では、本開示の技法は、ビデオエンコーダ20によって実装され得る。しかしながら、他の事例では、本開示の技法は後処理デバイス57によって実装され得る。
[0091]ビデオデータメモリ34は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ34に記憶されたビデオデータは、たとえば、ビデオソース18から取得され得る。ピクチャメモリ64は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ34およびピクチャメモリ64は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ34およびピクチャメモリ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ34は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0092]図8に示されているように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ20は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえばコーディングレートおよびひずみのレベル)に基づいて現在のビデオブロックについて、複数のイントラコーディングモードの1つ、または複数のインターコーディングモードの1つなど、複数の可能なコーディングモードの1つを選択することができる。予測処理ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために加算器62に与え得る。
[0093]予測処理ユニット41内のイントラ予測ユニット46は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
[0094]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライス、BスライスまたはGPBスライスに指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0095]予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
[0096]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルを、他のシンタックス要素とともにエントロピー符号化ユニット56および動き補償ユニット44に送る。
[0097]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0098]イントラ予測ユニット46は、前述のように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用するようにイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パスにおいて、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比率を計算し得る。
[0099]いずれかの場合においても、ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含め得る。
[0100]予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0101]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット56が走査を実行してよい。
[0102]量子化の後、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ30に送信され得るか、またはビデオデコーダ30が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0103]逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用し得る。加算器62は、再構築された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0104]本明細書で説明する技法によれば、ビデオエンコーダ20および/または後処理デバイス57は、(たとえば、RTPを使用して)1つまたは複数の他のデバイスに送信するための符号化されたビデオデータをカプセル化し得る。たとえば、後処理デバイス57は、符号化されたHEVCビデオデータ(たとえば、NALユニット)を受信し、(たとえば、RTPセッションに対して)ビデオデータをシングルネットワークアブストラクションレイヤ(NAL)ユニットパケットにカプセル化することによって、HEVCに対する特定のペイロードフォーマット(たとえば、HEVCに対するRTPペイロードフォーマット)に準拠するペイロードを有するパケット(たとえば、RTPパケット)を生成することができ得る。後処理デバイス57はまた、セッションがマルチストリーム送信であること(たとえば、RTPセッションがマルチストリーム送信(MST)モードにあること)、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、シングルNALユニットパケット内に復号順序番号情報(たとえば、DONL)をカプセル化し得る。
[0105]図9は、本開示で説明する技法を実施し得る例示的なビデオデコーダ30を示すブロック図である。図9の例では、ビデオデコーダ30は、ビデオデータメモリ83、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、フィルタユニット91と、ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図8のビデオエンコーダ20に関して説明された符号化パスとは概して逆の復号パスを実行し得る。
[0106]ビデオデータメモリ83は、ビデオデコーダ30の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ83に記憶されるビデオデータは、たとえばコンピュータ可読媒体から、たとえばビデオデータのワイヤードもしくはワイヤレスなネットワークの通信を介するかまたは物理的なデータ記憶媒体にアクセスすることによってカメラなどのローカルビデオソースから、取得され得る。ビデオデータメモリ83は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。ピクチャメモリ92は、いくつかの例では、たとえばイントラコーディングモードまたはインターコーディングモードでビデオデコーダ30によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ83およびピクチャメモリ92は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ83およびピクチャメモリ92は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ83は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0107]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30は、ネットワークエンティティ79から符号化されたビデオビットストリームを受信することができる。ネットワークエンティティ79は、たとえば、上記で説明した技法のうちの1つまたは複数を実装するように構成されたサーバ、MANE、ビデオエディタ/スプライサ、RTP受信機、または他のそのようなデバイスであり得る。ネットワークエンティティ79は、ビデオエンコーダ20を含むことも、含まないこともある。上記で説明したように、本開示で説明する技法のいくつかは、ネットワークエンティティ79が符号化ビデオビットストリームをビデオデコーダ30に送信するより前にネットワークエンティティ79によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ79およびビデオデコーダ30は別個のデバイスの一部であり得るが、他の事例では、ネットワークエンティティ79に関して説明する機能は、ビデオデコーダ30を備える同じデバイスによって実行され得る。
[0108]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオブロックは、たとえば、図1のMANE 29または図9のネットワークエンティティ79など、1つまたは複数のMANEを介してビデオエンコーダ20からビデオデコーダ30にルーティングされ得る。ビデオデコーダ30のエントロピー復号ユニット80は、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0109]ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの1つの中の参照ピクチャのうち1つから生成され得る。ビデオデコーダ30は、ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構成し得る。
[0110]動き補償ユニット82は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコーディングビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0111]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0112]逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0113]動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、(コーディングループ内またはコーディングループ後のいずれかの)ループフィルタも使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すように意図されている。図9では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶するピクチャメモリ92に記憶される。ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
[0114]本明細書で説明する技法によれば、ネットワークエンティティ79および/またはビデオデコーダ30は、(たとえば、RTPを使用して)1つまたは複数の他のデバイスに送信するためにカプセル化された符号化されたビデオデータをカプセル化解除し得る。たとえば、ネットワークエンティティ79は、符号化されたHEVCビデオデータ(たとえば、NALユニット)を含む1つまたは複数のパケット(たとえば、RTPパケット)を受信し得る。パケットは、HEVCに対する特定のペイロードフォーマット(たとえば、HEVCに対するRTPペイロードフォーマット)に準拠するペイロードを有し得る。ビデオデータを処理するために、ネットワークエンティティ79は、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケットにカプセル化されたビデオデータをカプセル化解除し得る。ネットワークエンティティ79および/またはビデオデコーダ30はまた、セッションがマルチストリーム送信であること(たとえば、RTPセッションがマルチストリーム送信(MST)モードにあること)、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、シングルNALユニットパケット内にカプセル化された復号順序番号情報(たとえば、DONL)をカプセル化解除し得る。ビデオデータ(たとえば、NALユニット)およびDON情報が取得された後、ビデオデコーダ30は、符号化されたビデオデータを処理し得る。
[0115]図10は、ネットワーク150の一部を形成するデバイスの例示的なセットを示すブロック図である。この例では、ネットワーク150は、ルーティングデバイス154A、154B(ルーティングデバイス154)と、トランスコーディングデバイス156とを含む。ルーティングデバイス154およびトランスコーディングデバイス156は、ネットワーク150の一部を形成し得る少数のデバイスを表すことが意図される。スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、および他のそのようなデバイスなどの他のネットワークデバイスも、ネットワーク150内に含まれ得る。その上、サーバデバイス152とクライアントデバイス158との間にネットワーク経路に沿って追加のネットワークデバイスが提供され得る。いくつかの例では、サーバデバイス152はソースデバイス12(図1)に対応し得る一方、クライアントデバイス158は宛先デバイス14(図1)に対応し得る。ルーティングデバイス154は、たとえば、メディアデータをルーティングするように構成されたMANEであり得る。
[0116]概して、ルーティングデバイス154は、ネットワーク150を介してネットワークデータを交換するための1つまたは複数のルーティングプロトコルを実装する。概して、ルーティングデバイス154は、ネットワーク150を介したルートを発見するためにルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス154Bは、それ自体からルーティングデバイス154Aを介してサーバデバイス152へ至るネットワークルートを発見し得る。図10の様々なデバイスは、本開示の技法を実装し得、本開示の技法に従ってRTPデータを処理するように構成され得るデバイスの例を表す。
[0117]たとえば、サーバデバイス152、ルーティングデバイス154、トランスコーディングデバイス156、またはクライアントデバイス158のうちの1つまたは複数は、(たとえば、RTPセッションに対して)シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化することによって、およびセッションがマルチストリーム送信であること(たとえば、RTPセッションがマルチストリーム送信(MST)モードにあること)、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいてシングルNALユニットパケット内に復号順序番号情報をカプセル化することによって、データユニットペイロード内(たとえば、リアルタイムトランスポートプロトコル(RTP)ペイロード内)のビデオデータを処理し得る。
[0118]シングルNALユニットパケットは、RTPセッションの一部として、サーバデバイス152、ルーティングデバイス154、トランスコーディングデバイス156、またはクライアントデバイス158のうちの1つまたは複数の他のデバイスに送信され得る。シングルNALユニットパケットとしてフォーマットされたRTPペイロードを含むRTPパケットを受信すると、受信デバイスは、シングルNALユニットパケット内にカプセル化されたビデオデータをカプセル化解除することによって、およびRTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいてシングルNALユニットパケット内にカプセル化された復号順序番号情報をカプセル化解除することによって、ビデオデータを処理し得る。
[0119]図11は、本開示の技法によるRTPペイロードフォーマット内にビデオデータをカプセル化するための例示的な動作を示すフロー図である。単に例示のために、図11の例示的な動作が、図1のコンテキストにおいて以下で説明される。
[0120]図11の例では、RTPカプセル化ユニット(たとえば、出力インターフェース22)が、ビデオデータを受信し得る(180)。たとえば、ビデオデータは、HEVC規格または別のビデオコーディング方式に従って、(たとえば、ビデオエンコーダ20によって)シングルNALユニットに符号化され得る。いくつかの例では、NALユニットは、NALユニットペイロードデータとNALユニットヘッダとを含み得る。RTPペイロードを生成するために、出力インターフェース22は、シングルNALユニットパケット内にビデオデータをカプセル化し得る(182)。
[0121]出力インターフェース22は、RTP送信がMSTモードにあるかどうかを決定し得る(184)。送信がMSTモードにある(184の「はい」分岐)場合、出力インターフェース22は、受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数がゼロに等しいかどうかを決定し得る(186)。たとえば、出力インターフェース22は、RTP送信のsprop−depack−buf−nalusパラメータの値がゼロに等しいかどうかを決定し得る。その値がゼロに等しい(186の「はい」分岐)場合、出力インターフェース22は、シングルNALユニットパケット内に復号順序番号情報をカプセル化することを控え得る(188)。
[0122]図11の例では、RTP送信がMSTモードにある(184の「いいえ」分岐)場合、および/または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数がゼロより大きい(186の「はい」分岐)場合、出力インターフェース22は、シングルNALユニットパケット内に復号順序番号情報をカプセル化し得る(190)。いくつかの例では、シングルNALユニットパケット内に復号順序番号情報をカプセル化するために、出力インターフェース22は、シングルNALユニットパケット内でNALユニットヘッダとNALユニットペイロードデータとの間に復号順序番号情報をカプセル化し得る。いくつかの例では、出力インターフェース22は、シングルNALユニットパケット内でNALユニットの前に復号順序番号情報をカプセル化し、復号順序番号情報の前にRTPペイロードヘッダをカプセル化し得る。カプセル化されたRTPペイロードヘッダは、NALユニットヘッダ内に含まれる情報を備え得る。
[0123]図12は、本開示の技法によるRTPペイロードフォーマット内にカプセル化されたビデオデータをカプセル化解除するための例示的な動作を示すフロー図である。単に例示のために、図12の例示的な動作が、図1のコンテキストにおいて以下で説明される。
[0124]図12の例では、RTPカプセル化解除ユニット(たとえば、入力インターフェース28)が、RTPパケットを受信し得る(200)。たとえば、RTPパケットは、シングルNALユニットパケットとしてフォーマットされたRTPペイロードを含み得る。すなわち、RTPペイロードは、RTPペイロード内にシングルNALユニットを含み得る。いくつかの例では、NALユニットは、NALユニットペイロードデータとNALユニットヘッダとを含み得る。パケット内にカプセル化されたビデオデータを取得するために、入力インターフェース28は、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にカプセル化されたビデオデータをカプセル化解除し得る(202)。
[0125]入力インターフェース28は、RTP送信がMSTモードにあるかどうかを決定し得る(204)。送信がMSTモードにある(204の「はい」分岐)場合、入力インターフェース28は、受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数がゼロに等しいかどうかを決定し得る(206)。たとえば、入力インターフェース28は、RTP送信のsprop−depack−buf−nalusパラメータの値がゼロに等しいかどうかを決定し得る。その値がゼロに等しい(206の「はい」分岐)場合、入力インターフェース28は、シングルNALユニットパケットからの復号順序番号情報をカプセル化解除することを控え得る(208)。
[0126]図12の例では、RTP送信がMSTモードにある(204の「いいえ」分岐)場合、および/または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数がゼロより大きい(206の「はい」分岐)場合、入力インターフェース28は、シングルNALユニットパケット内にカプセル化された復号順序番号情報をカプセル化解除し得る(210)。いくつかの例では、復号順序番号情報は、シングルNALユニットパケット内でNALユニットヘッダとNALユニットペイロードデータとの間にカプセル化され得る。シングルNALユニットパケット内の復号順序番号情報をカプセル化解除するために、入力インターフェース28は、シングルNALユニットパケット内でNALユニットヘッダとNALユニットペイロードデータとの間にカプセル化された復号順序番号情報をカプセル化解除し得る。いくつかの例では、復号順序番号情報は、シングルNALユニットパケット内でNALユニットの前にカプセル化され、RTPペイロードヘッダは、シングルNALユニットパケット内で復号順序番号情報の前にカプセル化され得る。カプセル化されたRTPペイロードヘッダは、NALユニットヘッダ内に含まれる情報を備え得る。シングルNALユニットパケット内でNALユニットの前にカプセル化された復号順序番号情報をカプセル化解除するために、入力インターフェース28は、シングルNALユニットパケット内でNALユニットの前にカプセル化された復号順序番号情報をカプセル化解除し、シングルNALユニットパケット内で復号順序番号情報の前にカプセル化されたRTPペイロードヘッダをカプセル化解除し得る。
[0127]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実現され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいは、コンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータ、または1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
[0128]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時の媒体を含まないが、代わりに非一時の有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、この場合、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0129]命令は、1つもしくは複数のデジタルシグナルプロセッサ(DSP)などの1つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に設けられる場合があるか、または複合コーデックに組み込まれる場合がある。また、本技法は、1つまたは複数の回路または論理要素に完全に実装され得る。
[0130]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置の中に実装される場合がある。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、前述のように、適切なソフトウェアおよび/またはファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わせられ得るか、または前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体によって設けられ得る。
[0131]種々の例が記載された。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理する方法であって、
RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化することと、ここで、前記シングルNALユニットパケットは、シングルNALユニットを含み、および、
前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいこと、のうちの少なくとも一方に基づいて、前記シングルNALユニットパケット内に復号順序番号情報をカプセル化することと、
を備える、方法。
[C2]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化することが、前記シングルNALユニットパケット内で前記NALユニットヘッダと前記NALユニットペイロードデータとの間に前記復号順序番号情報をカプセル化することを備える、C1に記載の方法。
[C3]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化することが、前記シングルNALユニットパケット内で前記シングルNALユニットの前に前記復号順序番号情報をカプセル化することを備え、前記方法が、
前記シングルNALユニットパケット内で、前記復号順序番号情報の前にRTPペイロードヘッダをカプセル化することをさらに備え、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれる情報を備える、
C1に記載の方法。
[C4]
前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいこと、とに基づいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化することを控えることをさらに備える、C1に記載の方法。
[C5]
受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、C1に記載の方法。
[C6]
前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、C5に記載の方法。
[C7]
リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理する方法であって、
RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にカプセル化されたビデオデータをカプセル化解除することと、ここで、前記シングルNALユニットパケットは、シングルNALユニットを含み、
前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、前記シングルNALユニットパケット内にカプセル化された復号順序番号情報をカプセル化解除することとを備える、方法。
[C8]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内にカプセル化された前記復号順序番号情報をカプセル化解除することが、前記NALユニットヘッダと前記NALユニットペイロードデータとの間にカプセル化された前記復号順序番号情報をカプセル化解除することを備える、C7に記載の方法。
[C9]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内にカプセル化された前記復号順序番号情報をカプセル化解除することが、前記シングルNALユニットの前にカプセル化された前記復号順序番号情報をカプセル化解除することを備え、前記方法が、
前記シングルNALユニットパケット内で前記復号順序番号情報の前にカプセル化されたRTPペイロードヘッダを、前記シングルNALユニットパケットからカプセル化解除することをさらに備え、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれる情報を備える、C7に記載の方法。
[C10]
前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいことに基づいて、前記シングルNALユニットパケットから復号順序番号情報をカプセル化解除することを控えることをさらに備える、C7に記載の方法。
[C11]
受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、C7に記載の方法。
[C12]
前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、C11に記載の方法。
[C13]
リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するように構成された装置であって、
ビデオデータを記憶するように構成されたメモリと、
プロセッサとを備え、前記プロセッサが、
リアルタイムトランスポートプロトコル(RTP)ペイロード内で、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化することと、ここで、前記シングルNALユニットパケットは、シングルNALユニットを含み、
前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、前記シングルNALユニットパケット内に復号順序番号情報をカプセル化することとを行うように構成される、装置。
[C14]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記プロセッサが、前記NALユニットヘッダと前記NALユニットペイロードデータとの間に前記復号順序番号情報をカプセル化するように構成される、C13に記載の装置。
[C15]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化するように構成された前記プロセッサが、前記シングルNALユニットパケット内で前記シングルNALユニットの前に前記復号順序番号情報をカプセル化するように構成され、および、ここにおいて、前記プロセッサが、
前記シングルNALユニットパケット内で、前記復号順序番号情報の前にRTPペイロードヘッダをカプセル化するようにさらに構成され、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれる情報を備える、C13に記載の装置。
[C16]
前記プロセッサが、
前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内で前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいことに基づいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化することを控えるようにさらに構成される、C13に記載の装置。
[C17]
受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、C13に記載の装置。
[C18]
前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、C17に記載の装置。
[C19]
リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するように構成された装置であって、
RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化するための手段と、ここで、前記シングルNALユニットパケットは、シングルNALユニットを含み、
前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内で前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、前記シングルNALユニットパケット内に復号順序番号情報をカプセル化するための手段とを備える、装置。
[C20]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化するための前記手段が、前記NALユニットヘッダと前記NALユニットペイロードデータとの間に前記復号順序番号情報をカプセル化するための手段を備える、C19に記載の装置。
[C21]
前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化するための前記手段が、前記シングルNALユニットの前に前記復号順序番号情報をカプセル化するための手段を備え、前記装置が、
前記シングルNALユニットパケット内で、前記復号順序番号情報の前にRTPペイロードヘッダをカプセル化するための手段をさらに備え、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれた情報を備える、C20に記載の装置。
[C22]
前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいことに基づいて、前記シングルNALユニットパケット内に前記復号順序番号情報をカプセル化することを控えるための手段をさらに備える、C19に記載の装置。
[C23]
受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、C19に記載の装置。
[C24]
前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、C19に記載の装置。

Claims (24)

  1. リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理する方法であって、
    RTPセッションに対して、RTPパケット内にビデオデータをカプセル化することと、ここにおいて、前記RTPパケットのためのタイプフィールドは、前記RTPパケットがビデオコーディングレイヤデータのシングルネットワークアブストラクションレイヤ(NAL)ユニットを含むことを示し、および、
    前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいこと、のうちの少なくとも一方に基づいて、ビデオコーディングレイヤデータの前記シングルNALユニットを含む前記RTPパケット内に復号順序番号情報をカプセル化することと、
    を備える、方法。
  2. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内に前記復号順序番号情報をカプセル化することが、前記RTPパケット内で前記NALユニットヘッダと前記NALユニットペイロードデータとの間に前記復号順序番号情報をカプセル化することを備える、請求項1に記載の方法。
  3. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内に前記復号順序番号情報をカプセル化することが、前記RTPパケット内で前記シングルNALユニットの前に前記復号順序番号情報をカプセル化することを備え、前記方法が、
    前記RTPパケット内で、前記復号順序番号情報の前にRTPペイロードヘッダをカプセル化することをさらに備え、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれる情報を備える、
    請求項1に記載の方法。
  4. 前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいこと、とに基づいて、前記RTPパケット内に前記復号順序番号情報をカプセル化することを控えることをさらに備える、請求項1に記載の方法。
  5. 受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、請求項1に記載の方法。
  6. 前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、請求項5に記載の方法。
  7. リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理する方法であって、
    RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にカプセル化されたビデオデータをカプセル化解除することと、ここにおいて、前記RTPパケットのためのタイプフィールドは、前記RTPパケットがビデオコーディングレイヤデータのシングルNALユニットを含むことを示し、
    前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、ビデオコーディングレイヤデータの前記シングルNALユニットを含む前記RTPパケット内にカプセル化された復号順序番号情報をカプセル化解除することと
    を備える、方法。
  8. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内にカプセル化された前記復号順序番号情報をカプセル化解除することが、前記NALユニットヘッダと前記NALユニットペイロードデータとの間にカプセル化された前記復号順序番号情報をカプセル化解除することを備える、請求項7に記載の方法。
  9. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内にカプセル化された前記復号順序番号情報をカプセル化解除することが、前記シングルNALユニットの前にカプセル化された前記復号順序番号情報をカプセル化解除することを備え、前記方法が、
    前記RTPパケット内で前記復号順序番号情報の前にカプセル化されたRTPペイロードヘッダを、前記RTPパケットからカプセル化解除することをさらに備え、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれる情報を備える、請求項7に記載の方法。
  10. 前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいことに基づいて、前記RTPパケットから復号順序番号情報をカプセル化解除することを控えることをさらに備える、請求項7に記載の方法。
  11. 受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、請求項7に記載の方法。
  12. 前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、請求項11に記載の方法。
  13. リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するように構成された装置であって、
    ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサが、
    リアルタイムトランスポートプロトコル(RTP)ペイロード内で、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化することと、ここにおいて、前記RTPパケットのためのタイプフィールドは、前記RTPパケットがビデオコーディングレイヤデータのシングルNALユニットを含むことを示し、
    前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、ビデオコーディングレイヤデータの前記シングルNALユニットを含む前記RTPパケット内に復号順序番号情報をカプセル化することとを行うように構成される、装置。
  14. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記プロセッサが、前記NALユニットヘッダと前記NALユニットペイロードデータとの間に前記復号順序番号情報をカプセル化するように構成される、請求項13に記載の装置。
  15. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内に前記復号順序番号情報をカプセル化するように構成された前記プロセッサが、前記RTPパケット内で前記シングルNALユニットの前に前記復号順序番号情報をカプセル化するように構成され、および、ここにおいて、前記プロセッサが、
    前記RTPパケット内で、前記復号順序番号情報の前にRTPペイロードヘッダをカプセル化するようにさらに構成され、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれる情報を備える、請求項13に記載の装置。
  16. 前記プロセッサが、
    前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内で前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいことに基づいて、前記RTPパケット内に前記復号順序番号情報をカプセル化することを控えるようにさらに構成される、請求項13に記載の装置。
  17. 受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、請求項13に記載の装置。
  18. 前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、請求項17に記載の装置。
  19. リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するように構成された装置であって、
    RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化するための手段と、ここにおいて、前記RTPパケットのためのタイプフィールドは、前記RTPパケットがビデオコーディングレイヤデータのシングルNALユニットを含むことを示し、
    前記RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内で前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、ビデオコーディングレイヤデータの前記シングルNALユニットを含む前記RTPパケット内に復号順序番号情報をカプセル化するための手段とを備える、装置。
  20. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内に前記復号順序番号情報をカプセル化するための前記手段が、前記NALユニットヘッダと前記NALユニットペイロードデータとの間に前記復号順序番号情報をカプセル化するための手段を備える、請求項19に記載の装置。
  21. 前記シングルNALユニットが、NALユニットヘッダとNALユニットペイロードデータとを備え、および、ここにおいて、前記RTPパケット内に前記復号順序番号情報をカプセル化するための前記手段が、前記シングルNALユニットの前に前記復号順序番号情報をカプセル化するための手段を備え、前記装置が、
    前記RTPパケット内で、前記復号順序番号情報の前にRTPペイロードヘッダをカプセル化するための手段をさらに備え、ここにおいて、前記RTPペイロードヘッダが、前記NALユニットヘッダ内に含まれた情報を備える、請求項19に記載の装置。
  22. 前記RTPセッションがシングルストリーム送信(SST)モードにあること、および受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が0に等しいことに基づいて、前記RTPパケット内に前記復号順序番号情報をカプセル化することを控えるための手段をさらに備える、請求項19に記載の装置。
  23. 受信順序において前記パケット化解除バッファ内の前記NALユニットに先行し、および復号順序において前記NALユニットに後続し得るNALユニットの前記最大数が、前記RTPセッションのセットアップの間に指定されたシンタックス要素の値によって表される、請求項19に記載の装置。
  24. 前記シンタックス要素が、sprop−depack−buf−nalusパラメータを備える、請求項23に記載の装置。
JP2016517055A 2013-05-31 2014-05-30 ビデオコーディングのための復号順序番号を有するシングルネットワークアブストラクションレイヤユニットパケット Active JP6073527B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361829950P 2013-05-31 2013-05-31
US61/829,950 2013-05-31
US14/290,537 2014-05-29
US14/290,537 US9350781B2 (en) 2013-05-31 2014-05-29 Single network abstraction layer unit packets with decoding order number for video coding
PCT/US2014/040318 WO2014194243A1 (en) 2013-05-31 2014-05-30 Single network abstraction layer unit packets with decoding order number for video coding

Publications (2)

Publication Number Publication Date
JP2016526350A JP2016526350A (ja) 2016-09-01
JP6073527B2 true JP6073527B2 (ja) 2017-02-01

Family

ID=51985060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016517055A Active JP6073527B2 (ja) 2013-05-31 2014-05-30 ビデオコーディングのための復号順序番号を有するシングルネットワークアブストラクションレイヤユニットパケット

Country Status (8)

Country Link
US (1) US9350781B2 (ja)
EP (1) EP3005700B1 (ja)
JP (1) JP6073527B2 (ja)
KR (1) KR101739682B1 (ja)
CN (1) CN105230016B (ja)
ES (1) ES2734551T3 (ja)
HU (1) HUE044189T2 (ja)
WO (1) WO2014194243A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9723305B2 (en) 2013-03-29 2017-08-01 Qualcomm Incorporated RTP payload format designs
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
US10523730B2 (en) * 2014-03-12 2019-12-31 Infinesse Corporation Real-time transport protocol (RTP) media conference server routing engine
CN106303537B (zh) * 2016-08-30 2019-05-10 北京容联易通信息技术有限公司 一种openh264多码流传输方法
CN108881114B (zh) * 2017-05-10 2020-12-29 上海交通大学 一种用于stl/sfn传输的rtp协议封装方法
KR102603980B1 (ko) * 2018-12-27 2023-11-20 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더, 및 대응하는 방법들
CN114026865A (zh) * 2019-06-21 2022-02-08 北京字节跳动网络技术有限公司 用于色度分量的编解码工具
US11265357B2 (en) * 2019-10-10 2022-03-01 Microsoft Technology Licensing, Llc AV1 codec for real-time video communication
KR20220114557A (ko) 2019-12-26 2022-08-17 바이트댄스 아이엔씨 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들
CN112995237B (zh) * 2021-05-21 2021-10-08 杭州博雅鸿图视频技术有限公司 一种用于处理视频数据流的方法、装置、设备及存储介质
CN113645192B (zh) * 2021-07-16 2024-06-21 青岛小鸟看看科技有限公司 Rtp数据包处理方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760169B2 (en) * 1997-05-07 2004-07-06 Olympus Corporation Prism optical element, image observation apparatus and image display apparatus
EP1595405B1 (en) 2003-02-18 2019-12-04 Nokia Technologies Oy Method and device for transmitting media data in nal units over rtp
CN100568964C (zh) * 2003-02-18 2009-12-09 诺基亚有限公司 图像解码方法
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
US7542435B2 (en) 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
CN101390399B (zh) * 2006-01-11 2010-12-01 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
EP2206314B1 (en) * 2007-09-24 2016-07-27 Nokia Technologies Oy Coded application data until order recovery in layered multicast
CN103546826B (zh) * 2012-07-16 2017-07-21 上海贝尔股份有限公司 视频业务的传输方法和装置
US9723305B2 (en) 2013-03-29 2017-08-01 Qualcomm Incorporated RTP payload format designs
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units

Also Published As

Publication number Publication date
CN105230016B (zh) 2018-10-09
KR20160016937A (ko) 2016-02-15
EP3005700A1 (en) 2016-04-13
US9350781B2 (en) 2016-05-24
ES2734551T3 (es) 2019-12-10
HUE044189T2 (hu) 2019-10-28
WO2014194243A1 (en) 2014-12-04
EP3005700B1 (en) 2019-04-10
KR101739682B1 (ko) 2017-05-24
CN105230016A (zh) 2016-01-06
JP2016526350A (ja) 2016-09-01
US20140355616A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
JP6073527B2 (ja) ビデオコーディングのための復号順序番号を有するシングルネットワークアブストラクションレイヤユニットパケット
JP6333949B2 (ja) 改善されたrtpペイロードフォーマット設計
JP6728074B2 (ja) マルチレイヤビデオコーディング
JP6321002B2 (ja) 固定長コード化されたビデオパラメータセット(vps)idを有する補足強化情報(sei)メッセージ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160707

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160707

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170104

R150 Certificate of patent or registration of utility model

Ref document number: 6073527

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250