JP2010520677A - 通信ネットワークにおけるデータ符号化方法及びシステム - Google Patents

通信ネットワークにおけるデータ符号化方法及びシステム Download PDF

Info

Publication number
JP2010520677A
JP2010520677A JP2009551983A JP2009551983A JP2010520677A JP 2010520677 A JP2010520677 A JP 2010520677A JP 2009551983 A JP2009551983 A JP 2009551983A JP 2009551983 A JP2009551983 A JP 2009551983A JP 2010520677 A JP2010520677 A JP 2010520677A
Authority
JP
Japan
Prior art keywords
multimedia data
frame
smoothing
data
portions
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.)
Pending
Application number
JP2009551983A
Other languages
English (en)
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 JP2010520677A publication Critical patent/JP2010520677A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/179Methods 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 scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

通信ネットワーク内のデータを符号化する方法及びシステムが開示される。一側面において、方法は、マルチメディアデータを処理することを提供する。該方法は、前記マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出し、前記平滑要因に基づき、平滑化が必要であることを決定することを含む。該方法は、また、選択されたマルチメディアデータを、前記マルチメディアデータの第1の選択された部分から、前記マルチメディアデータの第2の選択された部分へ移動させることを含み、これで前記平滑要因が調節される。一側面において、前記マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出し、前記平滑要因に基づき、平滑化が必要であることを決定する検出器を含む装置を提供する。該装置は、また、選択されたマルチメディアデータを、前記マルチメディアデータの第1の選択された部分から、前記マルチメディアデータの第2の選択された部分へ移動させ、これで前記平滑要因が調節される符号化器を含む。
【選択図】図1

Description

優先権の主張
この特許出願は、2007年3月1日に出願され、その譲受人に譲渡された、“Method and Apparatus for Bit Rate Smoothing Across Time and Layers”というタイトルの米国仮出願第60/892,518の優先権を主張し、全ての目的のために、参照によりここに組込まれている。
本発明は、一般に、マルチメディア信号処理に関し、より具体的には、ビデオ符号化及び復号方法及びシステムに関する。
無線通信ネットワークのようなデータネットワークは、1つの端末に対しカスタマイズされたサービスと、多数の端末に提供されるサービスとの間で、交互に使用される。例えば、リソースが限られている多数のポータブル機器(例えば、加入者、ユーザ、ハンドセットなど)へのマルチメディアコンテンツの分配は、複雑な問題である。従って、早くしかも効率良く、また、帯域利用効率及び電力効率の向上するように、コンテンツ及びまたは他のネットワークサービスを分配する方法をもつことは、ネットワーク管理者、コンテンツ小売業者、及びサービスプロバイダにとって、非常に重要である。
現在のコンテンツ配信/メディア分配(distribution)システムにおいて、マルチメディアコンテンツは、分配(distribution)ネットワーク上の通信における送信スーパーフレームに詰め込められる。各スーパーフレームは、受信機器で、予め定められた時間の間表示可能なように、十分な数のビデオフレームが詰め込まれている。スーパーフレームが受信されると、受信機器は、受信された複数のビデオフレームを接続して、ビデオフレームストリームにし、これを復号してビデオ表示をレンダリングする。
あいにく、どのスーパーフレームにも、後続のスーパーフレームよりも多いかまたは少ないデータを含むことがある。この結果、マルチメディアコンテンツを運ぶスーパーフレームのストリームは、“バースト(burstiness)”、または、スーパーフレームからスーパーフレームへ変動するビットレートを示すビットレート“変動(variability)”特性を呈する。そのようなバーストは、好ましくない形で、受信機器のパフォーマンスに影響を与えることがある。
従って、必要なことは、時間及びまたは複数のレイヤにわたって、送信されるマルチメディアデータのバースト及びまたはビットレート変動を平滑化する方法である。
1つまたは複数の側面において、平滑化システムは、方法及び装置を含み、送信されたマルチメディアデータを平滑化することを提供する。例えば、該平滑化システムは、時間及びまたは複数のレイヤにわたって、送信されたマルチメディアデータのバースト及びまたはビットレート変動を平滑化する。
ある側面において、マルチメディアデータを処理するための方法が提供される。該方法は、該マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出することと、該平滑要因に基づき平滑化が必要であることを決定することと、のうちの1つまたは複数を含むことができる。該方法は、また、選択されたマルチメディアデータを、該マルチメディアデータの第1の選択された部分から、該マルチメディアデータの第2の選択された部分へ移動させ、これで該平滑要因が調整されることを含むことができる。
ある側面において、マルチメディアデータを処理するための装置が提供される。該装置は、該マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出し、該平滑要因に基づき平滑化が必要であることを決定する検出器のうちの1つまたは複数を含むことができる。該装置は、また、選択されたマルチメディアデータを、該マルチメディアデータの第1の選択された部分から第2の選択された部分へ移動させ、これで該マルチメディアデータの該平滑要因が調整される符号化器を含むことができる。
ある側面において、マルチメディアデータを処理するための装置が提供される。該装置は、該マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出する手段と、該平滑要因に基づき平滑化が必要であることを決定する手段と、のうちの1つまたは複数を含むことができる。該装置は、また、選択されたマルチメディアデータを、該マルチメディアデータの第1の選択された部分から、該マルチメディアデータの第2の選択された部分へ移動させ、これで該平滑要因が調整される手段を含むことができる。
ある側面において、命令群が記憶された機械読み取り可能な媒体が提供され、該記憶された命令群は、コードの1つまたは複数の部分を含み、1つまたは複数の機械で実行可能である。該1つまたは複数の部分のコードは、該マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出するコードを含むことができる。該1つまたは複数の部分のコードは、さらに、該平滑要因に基づき平滑化が必要であることを決定するコードを含むことができる。該1つまたは複数の部分のコードは、さらに、選択されたマルチメディアデータを、該マルチメディアデータの第1の選択された部分から、該マルチメディアデータの第2の選択された部分へ移動させ、これで該平滑要因が調整されるコードを含むことができる。
ある側面の他の実施形態は、以下に説明される、図面の簡単な説明、詳細な説明、及び請求の範囲を検討すれば自明であろう。
以下の添付の図面とともに、次の詳細な説明を参照することにより、ここに開示された以上の側面は、より容易に明らかとなるであろう。
平滑化システムのいくつかの側面を含む典型的なネットワークを示す。 平滑化システムのいくつかの側面で用いられる典型的な平滑化ロジックを示す。 平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。 平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。 平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。 平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。 平滑化システムのいくつかの側面で用いられる典型的な方法を示す。 平滑化システムのいくつかの側面で用いられる典型的な平滑化ロジックを示す。
1つまたは複数の側面において、時間及びまたは複数のレイヤにわたって、マルチメディア送信を平滑化する平滑化システムが提供される。一側面において、該平滑化システムは、該マルチメディア送信に関連するバースト及びまたはビットレート変動を示す平滑要因を検出する。該平滑要因を調整することが好ましい場合には、該平滑化システムは、該平滑要因を調整するために、該マルチメディア送信の複数のビデオフレームを符号化及びまたは移動させる。この結果、コンテンツを復号及びレンダリングを試みる受信機器の処理負担を軽減する。
次の詳細な説明は、ある説明された側面に向けられているが、この開示は、請求の範囲で定義され及びカバーされている多数の方法で具現することができる。この説明において、図面が参照されているが、この図面全体を通じて、同一部分には同一符号を付している。
[イントロダクション]
コンテンツ配信/メディア分配システムにおいて、マルチメディアコンテンツは、送信スーパーフレームに詰め込まれ、通信ネットワーク上の複数の機器へ配信される。例えば、通信ネットワークは、1つのネットワークサーバから、1つまたは複数のモバイル機器へ、送信スーパーフレームをブロードキャストするために、OFDM(Orthogonal Frequency Division Multiplexing)を用いることがある。なお、OFDM技術を用いる分配システムに限定するものではなく、CDMA(Code Division Multiple Access)、TDMA(Time Division Multiplexed Access)、及びTCP/IPのようなトランスポートコントロールプロトコルといった他の技術が用いられても良い。
送信スーパーフレームは、複数のサブフレームを含み、選択された量のマルチメディアデータ(例えば、特定の数のサブフレーム、一定の時間、帯域使用、など)を送信することができる。例えば、送信スーパーフレームは、複数のマルチメディアチャネルを伝送することがあり、各チャネルは、受信機器において、選択された時間の間(例えば1秒)、マルチメディア表示を生成するために十分な量のマルチメディアデータを提供することができる。従って、30秒のマルチメディア表示を伝送するチャネルは、30個の送信スーパーフレームを用いて送信されることがある。
通常、マルチメディアコンテンツは、一般に受信されたときに処理される必要があるリアルタイムまたはリアルタイムに近い、複数のストリーミングビデオフレームを含む。各ビデオフレームは、対応する複数のサイズをもつ数種類のビデオフレームのうちの1つとして構成される。例えば、ビデオフレームの1つの種類として、独立に復号可能なイントラ符号化フレーム(I―フレーム)がある。I−フレームは、完全なビデオ画像を与えるのに必要な全てのデータを含み、従って、大量のデータを含む。他のビデオフレームの種類には、I−フレーム及びまたは他のP−フレーム及びまたはB−フレーム及びまたはBフレームを参照する一時予測(temporally predicted)P−フレームや両方向予測(bi-directionally predicted)B−フレームを含む。P−フレーム及びB−フレームは、独立に復号できない(すなわち、これらは、他のフレームを参照する)ので、これらは、より少ないデータを含み、これらのサイズは、通常、I−フレームよりも小さい。さらに、通信ネットワークも、マルチレイヤ送信を容易にすることがある。例えば、送信スーパ−フレームは、特定のビデオフレームについて、1つのベースレイヤを伝送し、他のビデオフレームについて、1つまたは複数の拡張レイヤを伝送する。従って、伝送されるレイヤの数は、送信スーパーフレームの全体的なサイズにも寄与する。
マルチメディアコンテンツの送信の間、各送信スーパーフレームは、受信機器で予め定められた時間の間表示を行うのに十分なビデオフレームを詰め込むことができる。従って、各送信スーパ−フレームは、I、P、及びBフレームタイプのある組合せからなるいくつかの数のビデオフレームを含む。例えば、第1送信スーパフレームは、I及びPフレームタイプを含み、後続の送信スーパーフレームは、P及びBフレームタイプを含むことがある。複数の送信スーパーフレームが受信されると、受信機器は、受信された複数のビデオフレームを接続して、復号されてビデオ表示にレンダリングされる1つのビデオフレームストリームをつくる。
マルチメディア処理システムは、MPEG(Moving Picture Experts Group)−1,−2,−4標準、ITU(International Telecommunication Union)−T H.263標準、H.264標準、及び、それと同等のISO/IEC MPEG-4, Part 10、すなわち、 AVC(Advanced Video Coding)、のような国際標準に基づく符号化方法を用いて、マルチメディアメディアデータを符号化するビデオ符号化器を含むことがある。これら国際標準のそれぞれは、全体として、全ての目的のために、ここに参照により組込まれている。このような符号化方法、及び拡大解釈すれば、復号方法も、一般に、マルチメディアデータの送信及びまたは記憶のために圧縮するようになっている。圧縮は、概して、マルチメディアデータから冗長を取り除く処理と考えることができる。
ビデオ信号は、複数のフレーム(完全なピクチャ)またはフィールド(例えば、ピクチャの奇数及び偶数ラインが交互に繰り返す複数のフィールドからなるインターレース(interlaced)ビデオストリーム)を含む一連の複数のピクチャという意味で、説明されることがある。さらに、各フレームまたはフィールドは、さらに、1つまたは複数のスライス、または、該フレームまたはフィールドの複数のサブポーション(sub-portion)をさらに含むことがある。ビデオ符号化方法は、可逆または非可逆圧縮アルゴリズムを用いて、ビデオ信号を圧縮し、各フレームを圧縮する。イントラフレーム符号化(ここでは、イントラ符号化とも呼ぶ)は、フレームを、そのフレームのみを用いて符号化することをいう。インターフレーム符号化(ここでは、インター符号化とも呼ぶ)は、フレームを他の複数の“参照”フレームに基づき符号化することをいう。例えば、ビデオ信号は、一時的な一連の複数のフレームにおける互いに近いフレームが、互いに一致または少なくとも部分的に一致する少なくとも一部分をもつ、一時的な冗長を、しばしば示す。
ビデオ符号化器のようなマルチメディアプロセッサは、フレームを、複数のピクセルからなるサブセットに区切ることにより符号化することがある。このようなピクセルのサブセットは、ブロックまたはマクロブロックと呼ばれることがあり、例えば、マクロブロックは、16×16ピクセル、またはこれより多いまたは少ないピクセルの配列を含む。符号化器は、さらに、16×16のマクロブロックを複数のサブブロックに分割することがある。各サブブロックは、さらに、複数の追加サブブロックを含むことがある。例えば、16×16のマクロブロック内の複数のサブブロックは、16×8及び8×16のサブブロックを含むことがある。16×8及び8×16のサブブロックのそれぞれは、例えば、4×4、4×2、及び2×4のサブブロックを含むことがあり、以下、同様である。“ブロック”という用語は、マクロブロックまたはサブブロックの任意のサイズのいずれかをいうことがある。
符号化器は、インター符号化動き補償ベースアルゴリズムを用いて、連続するフレーム間の一時的な冗長を、うまく利用することができる。動き補償アルゴリズムは、少なくとも1つのブロックに部分的にマッチする1つまたは複数の参照フレームの一部分を識別する。ブロックは、当該フレーム内で、当該1つまたは複数の参照フレームのマッチする部分に対しシフトされることがある。このシフトは、1つまたは複数の動きベクトルにより特徴付けられる。当該ブロックと、当該1つまたは複数の参照フレームのマッチする部分との間の差分は、1つまたは複数の残差(residual)に特徴付けられる。符号化器は、フレームを、当該フレームの特定の分割についての1つまたは複数の動きベクトルと残差とを含むデータとして符号化することがある。フレームを符号化するためのブロックの特定の区切りは、例えば、符号化サイズと、符号化に起因する当該フレームのコンテンツに対する歪み、すなわち認識される歪みと、を比較する(balance)コスト関数をほぼ最小にすることにより選択されることがある。
インター符号化、イントラ符号化よりも効率よく圧縮することができる。しかし、インター符号化は、参照データ(例えば、参照フレームまたは参照フィールド)が、チャネルエラーなどにより欠損したときに問題が生じる。エラーによる参照データの欠損に加えて、参照データは、ビデオ信号の初期取得(initial acquisition)または再取得(reacquisition)により、インター符号化フレームで利用できないこともある。このような場合、インター符号化データの復号ができないか、または望ましくないエラー及びまたはエラー伝搬をもたらすことがある。これらのシナリオは、例えば、ビデオストリームの同期はずれをもたらすことがある。
独立して復号可能なイントラ符号化フレームは、ビデオ信号の同期化を可能にする。MPEG−x及びH.26x標準は、GOP(group of picture)として知られるものを用い、GOPは、I―フレームと、GOP内でI−フレーム及びまたは他のP−フレーム及びまたはB−フレームを参照する一時予測P−フレームまたは両方向予測B−フレームと、を含む。圧縮レートが高い場合には、より長いGOPが好ましいが、短いGOPの方が、取得(acquisition)及び同期をより素早く行うことができる。I−フレームの数が増えると、取得及び同期がより素早く行えるが、圧縮率が低くなる。平滑化システムの側面は、以下に説明される。平滑化システムは、上述の符号化/復号技術、フォーマット、及びまたは標準のいずれかを用いることがある。
[側面の説明]
図1は、平滑化システムの側面を含む典型的なネットワーク100を示す。ネットワーク100は、データネットワーク106を用いる複数の機器104と通信を行うサーバ102を含む。一側面において、サーバ102は、任意のタイプの通信リンクを用いてネットワーク106で通信を行う。ネットワーク106は、OFDM、CDMA、TDMA、TCP/IP、及びまたは他の適切な技術を含むネットワークのような有線及びまたは無線ネットワークのうちのいずれかであることがある。ネットワーク106は、例えば、OFDMリンクまたは他の適切な任意のタイプの無線通信リンク110を用いて、複数の機器104と通信する。サーバ102は、マルチメディアコンテンツを複数の機器104へ送信する。明確のために、ネットワーク100の動作を、以下に、機器112を参照して説明する。しかし、該システムは、複数の機器104のうちのどれを用いる場合にも適している。
一側面において、サーバ102は、ネットワーク106上で送信されるマルチメディアコンテンツを受信するフレーミングロジック114を含む。例えば、一側面において、マルチメディアコンテンツは、1つまたは複数のI、P、及びBフレームを含む複数のビデオフレームのストリームを含む。一側面において、マルチメディアコンテンツは、チャネル切替ビデオ(CSV:channel switch video)フレームも含むことがあり、CSVフレームは、I−フレームの低い品質/レゾリューション(resolution)バージョンであり、高速チャネル取得及び同期を与えるように構成されている。CSVフレームは、以下、C−フレームとも呼ばれる。
一側面において、フレーミングロジック114は、マルチメディアコンテンツを、例えば、選択された表示時間期間を表すことができる一連のスーパーフレーム(SF)に詰め込む。いくつかの側面は、他のSF定義基準とともに、特定の数のビデオフレーム(及び従って可変時間期間)により定義されるスーパーフレームも含むことができる。例えば、一側面において、各スーパーフレームは、マルチメディアコンテンツを1秒間の間表示するのに十分なデータを含む。従って、フレーミングロジック114は、116で示すように、マルチメディアコンテンツを表す複数のビデオフレームからなるストリームを、一連のスーパーフレームに詰め込むために動作する。1つのスーパーフレームは、複数のチャネルを含むことがあり、スーパーフレームは、各チャネルについてのマルチメディアデータが詰め込まれることに留意されたい。しかし、簡単のために、ここでは1つのチャネルのみを議論するが、平滑化システムのいくつかの側面は、スーパーフレーム内のチャネルの数がいくつであろうと等しく適用可能である。
送信器118は、当該複数のスーパーフレームを受信し、ブロードキャスト120で説明されるように、これらをネットワーク106上でブロードキャストする。機器112は、受信器122で、ブロードキャスト120を受信する。受信器122は、該ブロードキャストを復調し、該スーパーフレーム内の複数のビデオフレームを復号器124へ渡す。復号器124は、該ビデオフレームを復号し、復号されたビデオフレームは、レンダリングロジック126により、機器122上にレンダリングされる。
一側面において、サーバ102は、送信スーパーフレームに関連する平滑要因を検出する平滑化ロジック128を含む。例えば、平滑要因は、該スーパーフレームが、バースト及びまたはビットレート変動を呈することを示すことがある。平滑要因は、送信スーパーフレームの任意の特性または状態も示すことがあり、この特性または状態に基づき、ここに説明される平滑化プロセスが実行される。
バーストの場合、平滑化ロジック128は、ネットワーク106上に送信される前に、マルチメディアコンテンツを含む送信スーパーフレームのビットレートを平滑化する。例えば、選択された数のビデオフレームは、複数のスーパーフレーム116のそれぞれに詰め込まれる。各スーパーフレーム内のビデオフレームの種類に応じて、各スーパーフレームの全体的なビットレートが大きく変わり、好ましくないバーストが生じる。
一側面において、平滑化ロジック128は、スーパーフレームからスーパーフレームへのビットレートの変化を平滑化するために、スーパーフレーム境界(時間)をまたいで、ビデオフレームを処理する。例えば、一側面において、平滑化ロジック128は、処理すべき、1つまたは複数のスーパーフレームを選択する。1つのスーパーフレームにおいて、I−フレームは低品質で符号化され、従って、データが少ない。さらに、該I−フレームの次のP−フレームは符号化されて、該I−フレームから抽出されたデータをもつ。そして、符号化されたI−フレーム及びP−フレームは、異なるスーパーフレームに配置される。従って、通常、大量のデータを含むI−フレームは、より小さい、“間引かれた”I−フレーム、すなわち、It−フレームに符号化される。次のP−フレームは、通常、より少ない量のデータを含み、“増大された”P−フレーム、すなわち、Pf−フレームに符号化され、オリジナルの(もともとの)I−フレームから取り除かれたデータを含む。間引かれた It−フレーム及び増大されたPf−フレームは、異なるスーパーフレームに配置され、これは、これらのオリジナルの(もともとの)位置と異なったり、異ならなかったりすることがある。この結果、一連のスーパーフレームの平滑が調整される。例えば、該一連のスーパーフレームの全体的なビットレート変動がより小さい変動に調整される。
平滑化ロジック128は、選択されたビデオフレームが間引かれ、増大され、異なるスーパーフレームに移動され、及びまたはビデオレイヤ間移動されるいくつかの技術を用いて、送信スーパーフレームの平滑要因を調整する。例えば、上述の符号化技術のうちのいずれか及びまたは任意の他の適切な符号化技術が、上述したように、ビデオフレームを符号化するために用いられることがある。他の側面において、スーパーフレームが複数のレイヤを伝送する場合、平滑化システムは、レイヤ間でビデオフレームを移動させて、レイヤ間のよりよいバランスを得る。
他の側面において、平滑化システムは、スーパーフレームからスーパーフレームへのビットレートの変動を平滑化するように動作しないが、その代わり、ビットレート変動を大きくするように動作する。例えば、送信フレーム間で、大きくされたビットレート変動をもつことが望ましいことがある。この場合、平滑化システムは、1つまたは複数のスーパーフレームの全体的なビットレート及びまたはビットレート変動を大きくするように、平滑要因を調整する同様な符号化技術を用いる。
平滑化ロジック128の動作のより詳細な説明は、この文書の他のセクションで行う。図1に示した平滑化システムは、一実装例であって、いくつかの側面の範囲内であれば、他の実装も可能である。
図2は、平滑化システムのいくつかの側面に用いられる典型的な平滑化ロジック200を示す。例えば、平滑化ロジック200は、図1に示した平滑化ロジック128として用いるのに適している。平滑化ロジック200は、バッファ202、検出器204、及び符号器206を含み、これらは、バス208に接続されている。バッファ202、検出器204、符号化器206、及びまたはデータバス208のうちの1つまたは複数は、1つまたは複数の物理及びまたは論理コンポーネントを組み合わせたり、これらに分割したりすることができる点に留意されたい。
バッファ202は、ネットワーク上に送信される複数のマルチメディアビデオフレームを含む1つまたは複数のスーパーフレームをバッファリングする、任意の適切なメモリまたは記憶デバイスを含む。例えば、一側面において、スーパーフレームは、フレーミングロジック114により生成され、216に示すように平滑化ロジック200に入力される。例えば、スーパーフレーム210、212、及び214は、フレーミングロジック114により生成され、平滑化ロジック200に入力される。バッファ202は、任意の所望の数のスーパーフレームをバッファリング(または記憶)するのに十分な大きさである。例えば、一側面において、バッファ202は、マルチメディアコンテンツの10秒間の表示を示す10個のスーパーフレームをバッファリングする容量をもつ。この説明の目的のために、スーパーフレーム212及び214のみがバッファ202に示されているが、バッファ202は、任意の数のスーパーフレームを保持できるように構成されていることがある。
スーパーフレーム212及び214には、これに限定するものではないが、I−フレーム、P−フレーム、B−フレーム、Cフレーム、及びまたは任意のタイプのフレームを含む複数のビデオフレームが、任意のフォーマットで詰め込まれている。バッファ202に記憶されているビデオフレームは、データバス208を介して、検出器204及び符号化器202によりアクセスされ得る。
一側面において、検出器204は、CPU、プロセッサ、ゲートアレイ、ハードウェアロジック、メモリエレメント、仮想マシーン、ソフトウェア、及びまたはハードウェア及びソフトウェアの任意の組合せのうちの1つまたは複数を含む。検出器204は、バッファリングされたスーパーフレームに関連する平滑要因を検出する。例えば、一側面において、平滑要因は、スーパーフレーム内のデータ量、及びまたは、スーパーフレームとスーパーフレームとの間のデータ量の差分、から決定される。例えば、平滑要因は、バッファリングされたスーパーフレームのバースト(すなわち、全体的なビットレート及びまたはビットレート変動)を示すことがある。他の側面において、平滑要因は、送信フレームの任意の他の特性を示すことができ、検出器204は、これに基づき、又は他のいかなる目的に対しても、平滑化が必要であることを決定することができる。従って、平滑化システムは、任意の目的に対して、及びまたは、マルチメディアコンテンツの送信及びレンダリングに関連する任意の所望の目標を達成するために、平滑化処理を実行することができる。
一側面において、検出器204は、スーパーフレームが、選択された閾値を越えるビットレートをもつかどうかを決定するために、平滑要因をテストする。例えば、検出器204は、選択されたスーパーフレームに含まれるビデオデータの量が、予め定められた閾値を越えるかどうかを検出する。他の側面において、検出器204は、連続するスーパーフレームのビットレートの変動が、選択された閾値を越えるかどうかを決定するために、平滑要因をテストする。例えば、検出器204は、バッファ202内の複数のスーパーフレームを、スーパーフレーム毎別々に処理する。各スーパーフレームのビットレートが検出され、ビットレートの変動が、選択された閾値を越えている場合(すなわち、バースト)、検出器204は、符号化器206に通知し、検出されたバーストに関連するこれらスーパーフレームを特定する。
他の側面において、検出器204は、平滑要因に基づき、バーストがないことを検出する。例えば、送信スーパーフレームに関し、バースト及びまたは大きいビットレート変動をもつことが好ましいことがある。この場合、検出器204は、平滑要因を決定し、該平滑要因が、バーストのないこと、及びまたは、大きいビットレート変動がないことを示すときを検出する。この場合、検出器204は、スーパーフレーム間のバーストが増加するように、符号化器206に通知し、バーストなしのこれらスーパーフレームを識別する。
この説明の目的のために、検出器204は、スーパーフレーム212に関する平滑要因が所望の閾値及びまたはレンジを越えたことを検出したものと想定する。例えば、スーパーフレーム212は、スーパーフレーム214に関して、高いビットレートをもち、この結果として、ビットレート変動閾値を越える。すると、検出器204は、この状態に関して、符号化器206に通知し、スーパーフレーム212及び214を識別する。
一側面において、検出器204は、バッファ202内の1つまたは複数のスーパーフレームのサイズを決定し、隣接するフレームは、平滑化処理をもたらすかもしれない余分なデータを含むようなサイズであることを確かめる(すなわち、チェック及びまたは検証する)。隣接するフレームに必要以上のデータを含むと決定した場合、検出器204は、符号化器206に通知し、平滑化処理を続行させる。この説明の目的のために、検出器204は、スーパーフレーム214が、平滑化処理を続けることができるほどの追加データを含み得ると決定したものと想定している。
一側面において、符号化器206は、CPU、プロセッサ、ゲートアレイ、ハードウェアロジック、メモリエレメント、仮想マシーン、ソフトウェア、及びまたはハードウェア及びソフトウェアの任意の組合せのうちの1つまたは複数を含む。一側面において、符号化器206は、I−フレームを、そのサイズを削減するように符号化して、間引きされたIt−フレームを生成する。間引きされたI−フレームから除かれたビットは、後続のP−フレームのサイズと品質を増加させるために、該P−フレームの符号化に用いられ、増大されたPf−フレームを生成する。It−フレームとPf−フレームとを、スーパーフレーム境界を越えるように配置することにより、選択された複数のスーパーフレームの全体的なビットレートが時間経過に伴い平滑化され得る。
一例として、検出器204が平滑要因を検出し、スーパーフレーム212とスーパーフレーム214との間のビットレート変動が、選択された閾値を越えていると決定したものと想定する。符号化器206は、まず、スーパーフレーム212は、I−フレーム218を含むことを決定する。一側面において、符号化器206は、I−フレーム218を間引きし、このI−フレームからのデータをP−フレーム220に符号化する。処理が終了すると、スーパーフレーム212は、間引かれたIt−フレーム222を含み、スーパーフレーム214は、増大されたPf−フレームを含む。結果として、スーパーフレーム212のビットレートは小さくなり、スーパーフレーム214のビットレートは増えて、ビットレート平滑化を与える。平滑化されたスーパーフレームは、226に示されているように、その後、バッファ202から出力される。
他の側面において、符号化器206は、複数のフレームを、スーパーフレームから他のスーパーフレームへと移動することにより、1つまたは複数のスーパーフレームの時間境界をも調節することができる。例えば、ビットレート平滑化の目的のために、It−フレーム(または通常のI−フレーム)は、後続のスーパーフレームに移動させて、これにより、当該スーパーフレーム内のビデオフレームの総数を増やすと、スーパーフレーム間の時間境界を効果的に調節することができる。さらに他の側面において、符号化器206は、送信スーパーフレームにより伝送される複数のレイヤ間で複数のビデオフレームを移動させて、これらレイヤ間での均衡をうまく取ることができる。
従って、平滑化システムの側面において、符号化器206は、その動作の間中、次のような複数の機能のうちの1つまたは複数を、それらを単独で、または任意に組み合わせて実行することができる。
1.I−フレームを間引いて、It−フレームを生成する。
2.間引きされたI−フレームからの品質改善でP−フレームを増大して、Pf−フレームを生成する。
3.It−フレーム(または、Iフレーム)を、1つのスーパーフレームから他へと移動させる。
4.Pf−フレーム(または、Pフレーム)を、1つのスーパーフレームから他へと移動させる。
5.Cフレームを、1つのスーパーフレームから他へと移動させる。
6.スーパフレームにより伝送されるベースまたは拡張レイヤ間で、任意の種類のフレームを移動させる。
一側面において、平滑化システムは、機械読み取り可能な媒体に記憶される、1つまたは複数のプログラム命令(“命令群”)または“コード群”のうちの1つまたは複数のセットを含み、これは、少なくとも1つの機械、例えば、平滑化ロジック200で1つまたは複数の処理機械、により実行されたとき、ここに説明された機能を提供する。例えば、コードのセットは、フロッピー(登録商標)ディスク、CDROM、メモリカード、フラッシュメモリ機器、RAM、ROM、または任意の他のタイプのメモリ機器のような機械読み取り可能な媒体、または、平滑化ロジック200とのインタフェースをとる機械読み取り可能な媒体から、平滑化ロジック200へとロードされることがある。他の側面において、コードのセットは、外部機器またはネットワークリソースから、平滑化ロジック200へとダウンロードされることがある。このコードのセットは、実行されると、ここに説明された平滑化システムのいくつかの側面を提供する。
[平滑化の例]
次に、4つの事例におけるビットレート平滑化を与えるための典型的な平滑化ロジック200の動作を説明する。平滑化システムは容易に変更して、種々の状況におけるビットレートの平滑化を行ういくつかの側面を提供することができ、説明される状況は、このような種々の実装を限定するとは解釈されないことに留意されたい。例えば、平滑化システムは、全体的なビットレート、ビットレート変動、及びまたは他の任意の事由に基づき、平滑化を提供することができる。図3A−Dを参照して説明される次の例において、陰影は、平滑化システムの動作中に、処理または移動されたフレームを示すために用いられている。
[非レイヤモード]
非レイヤモードにおいて、平滑化システムのいくつかの側面は、一時的に、ビットレートを平滑化するために、SF境界を越えて、複数のフレームの処理及びまたは移動を行う。一般に、I、B、P、Cなどのような任意の種類のフレームは移動され得る。一側面において、2つまたはそれより多い数のフレームの品質は、ともに調整されることができ、これは、よりより平滑化効果を生むことがある。チャネル切替/取得もまた考慮され得る。例えば、SF内のI−フレームにより与えられるシーンチェンジがある場合、冗長なC−フレームは、当該SF内で送信する必要はない。従って、I−フレームが、SF境界を越えて移動されると、冗長を避けるためと、さらに、適切なチャネル切替/取得を容易にするために、C−フレームもまた移動、削除、及びまたは挿入されることがある。一側面において、平滑化ロジック200は、次の機能を実行する。
図3Aは、平滑化システムのいくつかの側面に従った、非レイヤモードにおけるビットレート平滑化の例を示す。図3Aは、2つのスーパーフレームを示し、それはすなわち、入力バッファ202内に存在するSF(i)及びSF(i+1)である。検出器204は、SF(i+1)のビットレートが選択された閾値を越えたと決定するか、またはSF(i)及びSF(i+1)フレーム間のビットレートの変動が選択された閾値を越えたと決定すると、過度のバーストをもたらすと決定する。SF(i)とSF(i+1)との間のビットレート変動の平滑化のために、SF(i+1)のサイズを小さくするために、符号化器206は次のように動作する。
SF(i+1)において、I−フレーム302は、間引きされて、It−フレーム304を生成し、これは、SF(i)へ移動される。余分なデータは、増大されたPf−フレーム(Pf(i+1,2))306に組込まれ、これは、SF(i+1)に残される。It−フレーム304を移動させると、SF(i+1)は独立して復号可能なフレームを持たないことになるので、C−フレーム308がSF(i)から取り除かれて、C−フレーム310と示されるように、C−フレームは、SF(i+1)に挿入される。
[レイヤモード]
一側面において、平滑化システムは、ベースレイヤと、1つまたは複数の拡張レイヤとを含む複数のビデオフレームの全体的なビットレートに関連するバーストを低減する。他の側面において、1つまたは複数の拡張レイヤは、種々のフレームタイプを転送するために用いることができ、ベースレイヤと拡張レイヤとの間のビットレートを等しくすることを可能にする。
ベースレイヤと拡張レイヤとのバランスをとるために、B−フレームが、ベースレイヤまたは拡張レイヤのいずれかを通じて送信され得る。ある環境において、I−フレーム、P−フレーム、及びC−フレームは、拡張レイヤに置かれることがある。従って、フレームをベースまたは拡張レイヤのどちらで送るかは、ベースレイヤと拡張レイヤとの間のビットレートバランスに依存することがある。簡単のために、図3B−Dに、ベース及び拡張レイヤ内に配置することができるB−フレームは示されておらず、また、I及びPフレームの実際の数は、これらの図に示されているものよりも多いことがある。一側面において、平滑化ロジック200は、次のような機能を実行するように構成されている。
図3Bは、平滑化システムのいくつかの側面に係るレイヤモードでのビットレート平滑化の例を示している。図3Bは2つのスーパーフレーム、すなわち、SF(i)及びSF(i+1)を示し、これらスーパーフレームにより伝送されるベース(Base)及び拡張(Enh)レイヤも示す。スーパーフレームSF(i)及びSF(i+1)は、入力バッファ202内に存在すると想定する。さらに、検出器204は、SF(i)のビットレートが選択された閾値を越えた、または、SF(i)とSF(i+1)との間のビットレート変動が選択された閾値を越えた、と決定し、従って、過度のバーストをもたらす、または、SF(i)内のIフレーム312は、SF(i)内の2つのレイヤのバランスを取ることは困難である、と決定したものとする。SF(i)のサイズを小さくし、よりよいバランスをとるために、符号化器206は、次のように動作する。
SF(i)の最後に示されるI−フレーム312により、シーンチェンジが指示されており、これはベースレイヤにバーストをもたらす。一側面において、平滑化システムは、I−フレーム312を間引きし、その結果得られるIt−フレーム314は、SF(i)のベースレイヤのビットレートを小さくする。I−フレーム312の次のP−フレーム316もまた符号化され、SF(i+1)内に増大されたPf−フレーム318を生成し、I−フレーム312を間引きした結果として生ずる品質の低下を補う。簡単のために、C−フレームは、SF(i+1)の拡張レイヤにのみ与えられている。
図3Cは、平滑化システムのいくつかの側面に係るレイヤモードでのビットレート平滑化の例を示している。図3Cは2つのスーパーフレーム、すなわち、SF(i)及びSF(i+1)を示し、これらスーパーフレームにより伝送されるベース(Base)及び拡張(Enh)レイヤも示す。スーパーフレームSF(i)及びSF(i+1)は、入力バッファ202内に存在すると想定する。さらに、検出器204は、SF(i+1)のビットレートが選択された閾値を越えた、または、SF(i)とSF(i+1)との間のビットレート変動が選択された閾値を越えた、と決定し、従って、過度のバーストをもたらす、または、SF(i+1)内のI−フレーム320は、SF(i+1)内の2つのレイヤのバランスを取ることは困難である、と決定したものとする。SF(i+1)のサイズを小さくし、よりよいバランスをとるために、符号化器206は、次のように動作する。
SF(i+1)の最初に示されるI−フレーム320により、シーンチェンジが表されている。I−フレーム320は、低品質で符号化され、間引きされたIt−フレーム322を形成し、これは、スーパーフレームSF(i)へ移動される。P−フレーム324は、間引きされたIt−フレーム322からのデータで増大され、Pf−フレーム326を生成する。It−フレーム322は、取得及び同期に用いることができるので、SF(i)内の冗長なC−フレーム328を持つ必要がなく、そのため、これは、SF(i)から削除され、C−フレーム330がSF(i+1)に挿入され、SF(i+1)の取得を可能にする。SF(i)内でよりよりバランスをとるために、322で示される、SF(i)内の最後の2つのP−フレームは、334で示されるように、拡張レイヤに移動される。
図3Dは、平滑化システムのいくつかの側面に係るレイヤモードでのビットレート平滑化の例を示している。図3Dは2つのスーパーフレーム、すなわち、SF(i)及びSF(i+1)を示し、これらスーパーフレームにより伝送されるベース(Base)及び拡張(Enh)レイヤも示す。スーパーフレームSF(i)及びSF(i+1)は、入力バッファ202内に存在すると想定する。検出器204は、SF(i+1)のビットレートが選択された閾値を越えた、または、SF(i)とSF(i+1)との間のビットレート変動が選択された閾値を越えた、と決定し、従って、過度のバーストをもたらす、または、SF(i+1)内のI−フレーム336は、SF(i+1)内の2つのレイヤのバランスを取ることは困難である、と決定したものとする。SF(i+1)のサイズを小さくし、よりよいバランスをとるために、符号化器206は、次のように動作する。
示されたように、SF(i+1)の中央にあるI−フレーム336により、上述の2つの方法のうちのいずれか一方が実施されて、ビットレート平滑化がなされる。2番目の方法が実行される場合、I−フレーム336は間引きされ、間引きされたIt−フレーム322を形成し、これはSF(i)に移動される。342で示されるように、I−フレーム336の前のP−フレーム340も、SF(i)に移動される。P−フレーム340は、ベースレイヤまたは拡張レイヤのいずれかに位置することができ、この例では、SF(i)のバランスを改善するために拡張レイヤの中に示される。SF(i+1)の中で取得可能にするために、SF(i)にあるC−フレーム344は削除され、C−フレーム346はSF(i+1)に挿入される。I−フレーム336に関連するP−フレーム348は増大され、増大されたPf−フレーム350が生成される。
図4は、平滑システムのいくつかの側面で用いられる、典型的な方法400を示す。簡単のために、方法400は、図2に示される、平滑化ロジック200に関してここに説明される。例えば、一側面において、平滑化ロジック200は、1つまたは複数の処理マシーン上で、1つまたは複数のコードまたは命令のセットを実行し、以下に説明される複数の機能の全て、または、そのうち、選択的に組み合わせたり、削減したり、及びまたは並び替えられた機能を実行する。
ブロック402では、1つまたは複数のスーパーフレームがバッファリングされる。一側面において、マルチメディアコンテンツを含むスーパーフレームは、フレーミングロジック114から受信され、バッファ202にバッファリングされる。
ブロック404では、バッファリングされたスーパーフレームに対し、平滑化が必要かどうかに関し、決定がなされる。一側面において、検出器204は、平滑化が必要かどうかを示す平滑要因を決定及びテストするために動作する。例えば、選択されたスーパーフレームのビットレートが選択された閾値を越える場合、平滑要因は不適当なバーストを示すことがある。他の側面において、スーパーフレーム間のビットレートの変動が選択された閾値を越える場合、平滑要因は不適切なバーストを示すことがある。一側面において、検出器204は、バッファリングされた複数のスーパーフレームにおけるバーストあるいは任意の不均衡を検出する。検出器204は、任意の理由あるいは目的で、平滑化が必要であることを決定するために動作することに留意されたい。平滑化が必要でない場合、方法は、ブロック414へ進み、平滑化が必要である場合、方法はブロック406へ進む。
ブロック406では、所望の平滑化に関連する第1及び2のスーパーフレーム(SF(i)およびSF(i+1))が特定される。例えば、検出器204は、ビットレートが大きく変化する2つのスーパーフレームを決定する。当該2つのスーパーフレームの識別情報は符号化器206に渡される。
ブロック408では、決定は、第1の特定されたスーパーフレームSF(i)内に、I−フレームがあるかどうかに関して、決定がなされる。例えば、符号器206が、この決定を行う。I−フレームがある場合、該方法はブロック410へ進む。第1の特定されたスーパーフレームSF(i)内に、I−フレームがない場合、該方法はブロック416へ進む。
ブロック410では、第1の特定されたスーパーフレームSF(i)内のI−フレームが、符号化され、間引きされたIt−フレームが生成される。例えば、符号化器206は、I−フレームを、そのレゾリューション及びまたは品質を落とすように、符号化し、間引きされたIt−フレームを生成する。
ブロック412では、第2のスーパーフレーム中のP−フレームが符号化され、増大されたPf−フレームが作られる。例えば、符号化器206は、間引きされたIt−フレームを生成するために削除されたデータが、増大されたPf−フレームを生成するためにP−フレームへ符号化されるように、第2の特定されたスーパーフレームSF(i+1)内の選択されたP−フレームを符号化する。その結果、第1の特定されたスーパーフレームSF(i)は、そのサイズが小さくなり(したがってビットレートも小さくなる)、また、第2の特定されたスーパーフレームSF(i+1)は、そのサイズが増大し(したがってビットレートも増大する)、これは、当該スーパーフレームに関連した、検出されたバーストを低減する。
ブロック416では、第2の特定されたスーパーフレームSF(i+1)にI−フレームが位置し、間引きされたIt−フレームを生成するために、このI−フレームは間引きされる、と決定される。例えば、符号化器206は、間引きされたIt−フレームを生成するために、I−フレームを符号化する。
ブロック418では、間引きされたIt−フレームの後に続くP−フレームが符号化され、増大されたPf−フレームが生成される。一側面において、符号化器206は、It−フレームから導出されたデータを用いて、Pf−フレームを符号化する。
ブロック420では、第2の特定されたスーパーフレームSF(i+1)内のIt−フレーム及びその前にある任意のP−フレームが、第1の特定されたスーパーフレームSF(i)に移動される。例えば、符号化器206は、第2の特定されたスーパーフレームSF(i+1)内のIt−フレーム及びその前にある任意のP−フレームを、第1の特定されたスーパーフレームSF(i)に移動させる。これは、図3Dに説明されている。
ブロック422では、第1の特定されたスーパーフレームSF(i)内にC−フレームがあるかどうかの決定がなされる。一側面において、符号化器206が、この決定を行う。第1の特定されたスーパーフレームSF(i)内にC−フレームがない場合、該方法はブロック414に進む。第1の特定されたスーパーフレームSF(i)内にC−フレームがある場合、該方法はブロック424に進む。
ブロック424では、第1の特定されたスーパーフレームSF(i)内のC−フレームが削除され、C−フレームが第2の特定されたスーパーフレームSF(i+1)に挿入れる。一側面において、符号化器206が、この機能を行う。例えば、図3Dに、第1のスーパーフレームSF(i)内に示されるC−フレーム344が削除され、C−フレーム346が第2のスーパーフレームSF(i+1)に挿入される。
ブロック414では、必要な場合、1つまたは複数のスーパーフレームの複数のレイヤのバランスをとる。一側面において、符号化器206は、1つまたは複数のスーパーフレームのベース及び拡張レイヤのバランスをとるように動作する。例えば、スーパーフレーム間で、フレームの符号化及び移動を行った後、ベースレイヤから拡張レイヤへ、または、その逆に、複数のフレームを移動することにより、ベース及び拡張レイヤのサイズのバランスをとる方が好ましいことがある。
このようにして、該方法400は、平滑化システムの一側面を提供する。該方法は、単なる一実装を表したにすぎず、他の実装もこれら側面の範囲内で可能であることに留意されたい。
図5は、平滑化システムの一側面に用いられる典型的な平滑化ロジック500を示す。例えば、平滑化ロジック500は、図1に示した平滑化ロジック102として用いることに適している。一側面において、平滑化ロジック500は、ここに説明されたような平滑化システムのいくつかの側面を提供する1つまたは複数のコードのセットを実行する、1つまたは複数のモジュールを含む少なくとも1つのプロセッサによって実装される。例えば、各モジュールは、ハードウェア、ソフトウェア、あるいはこれらの任意の組合せを含む。
平滑化ロジック500は、平滑要因を検出する手段を含む第1モジュール502を含み、これは、一側面において、検出器204を含む。平滑化ロジック500は、さらに平滑化が必要かどうかを決定する手段を含む第2モジュール504を含み、これは、一側面において、検出器204を含む。平滑化ロジック500は、さらに、選択されたマルチメディアデータを移動させる手段を含む第3モジュール506を含み、これは、一側面において、符号化器206を含む。平滑化ロジック500は、単なる一実装を表したにすぎず、他の実装もこれら側面の範囲内で可能であることに留意されたい。
ここに開示された、いくつかの側面に関連して説明される種々の実例となるロジック、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセサ(DSP)、特定用途向けIC(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他のプログラマブルロジック機器、個別のゲート、トランジスターロジック、個別のハードウェアコンポーネント、あるいは、ここに開示された機能を実行するために設計された、これらの任意の組合せで、実装または実行されることがある。汎用プロセッサは、マイクロプロセッサでもよいが、あるいは、該プロセッサは任意の従来からあるプロセッサ、コントローラ、マイクロコントローラあるいはステートマシーンでもよい。プロセッサも、計算機器、例えばDSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアとともに動作する1つまたは複数のマイクロプロセッサ、あるいは他の構成として実装されてもよい。
ここに開示された側面に関連して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されたソフトウェアモジュール、あるいはこれら2つの組合せで、直接具体化されることもある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスター、ハードディスク、リムーバブルディスク、CD-ROMあるいは当技術中で既知の任意の記憶媒体の形式の中に存在することがある。典型的な記憶媒体は、プロセッサが、該記憶媒体から情報読み出し、及び情報書込が可能なように、該プロセッサに接続される。あるいは、記憶媒体はプロセッサに統合されていることがある。プロセッサと記憶媒体はASIC内に存在することがある。該ASICはユーザ端末に存在することがある。あるいは、プロセッサと記憶媒体は、ユーザ端末の個別のコンポーネントとして存在することがある。
開示された側面の説明は、当業者が本発明を製造または用いることを可能にする。これら側面の種々の修正は、当業者には自明であるかもしれない。また、ここに定義された総括的な原理は、本発明の趣旨または範囲を逸脱しない限り、他の側面、例えば、インスタントメッセージングサービスあるいは任意の一般的な無線データ通信アプリケーションで、適用できることがある。したがって、本発明は、ここに示された側面に限定することを意図するものではなく、ここに開示された原理および新規な特徴と一致する最も広い範囲を意図するものである。「典型的な」という用語は、「例(example, instance, illustration)として役立つ」という意味で、ここでは排他的に用いられている。「典型的」としてここで説明されるどの側面も、他の側面よりも好ましいか、または有利であると解釈する必要はない。
従って、平滑化システムのいくつかの側面が、ここに例示及び説明されているが、それらの精神または本質的特徴を逸脱しない限り、いくつかの側面に種々の変更が可能であることは言うまでもない。したがって、ここでの開示及び説明は、以下のクレームに示される発明の範囲の具体例ではあるが、これに限定することを意図するものではない。

Claims (40)

  1. マルチメディアデータを処理する方法であって、該方法は、
    前記マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出し、
    前記平滑要因に基づき、平滑化が必要であることを決定し、及び
    選択されたマルチメディアデータを、前記マルチメディアデータの第1の選択された部分から、前記マルチメディアデータの第2の選択された部分へ移動させ、これで前記平滑要因が調節される、方法。
  2. 前記検出することは、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値を越えるときを検出することを含む請求項1記載の方法。
  3. 前記検出することは、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値より下がるときを検出することを含む請求項1記載の方法。
  4. 前記検出することは、前記マルチメディアデータの少なくとも2つの部分の間のビットレート変動が選択された閾値を越えるときを検出することを含む請求項1記載の方法。
  5. 前記移動させることは、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分とのうちの少なくとも1つに関連する時間期間を調節することを含む請求項1記載の方法。
  6. 前記移動させることは、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分との間の1つまたは複数のビデオフレームに関連するデータを移動させることを含む請求項1記載の方法。
  7. 前記移動させることは、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、1つまたは複数のビデオフレームに関連するデータを移動させることを含む請求項1記載の方法。
  8. 前記移動させることは、
    選択されたデータが削除された、間引かれたビデオフレームを生成するために、第1のビデオフレームを第1のビデオフレームサイズが小さくなるように符号化すること、及び
    増大されたフレームを生成するために、第2のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第2のビデオフレームを符号化すること、
    を含む請求項1記載の方法。
  9. 前記移動させることは、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも1つを移動させること、を含む請求項8記載の方法。
  10. 前記少なくとも1つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとること、をさらに含む請求項1記載の方法。
  11. マルチメディアデータを処理する装置であって、該装置は、
    前記マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出し、前記平滑要因に基づき、平滑化が必要であることを決定する検出器、及び
    選択されたマルチメディアデータを、前記マルチメディアデータの第1の選択された部分から、前記マルチメディアデータの第2の選択された部分へ移動させ、これで前記平滑要因が調節される符号化器、
    を含む装置。
  12. 前記検出器は、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値を越えるときを検出する請求項11記載の装置。
  13. 前記検出器は、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値より下がるときを検出する請求項11記載の装置。
  14. 前記検出器は、前記マルチメディアデータの少なくとも2つの部分の間のビットレート変動が、選択された閾値を越えるときを検出する請求項11記載の装置。
  15. 前記符号化器は、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分とのうちの少なくとも1つに関連する時間期間を調節する請求項11記載の装置。
  16. 前記符号化器は、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分との間の1つまたは複数のビデオフレームに関連するデータを移動させる請求項11記載の装置。
  17. 前記符号化器は、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、1つまたは複数のビデオフレームに関連するデータを移動させる請求項11記載の装置。
  18. 前記符号化器は、
    選択されたデータが削除された、間引かれたビデオフレームを生成するために、第1のビデオフレームを第1のビデオフレームサイズが小さくなるように符号化し、
    増大されたフレームを生成するために、第2のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第2のビデオフレームを符号化する、
    請求項11記載の装置。
  19. 前記符号化器は、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも1つを移動させる請求項18記載の装置。
  20. 前記符号化器は、前記少なくとも1つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとる請求項11記載の装置。
  21. マルチメディアデータを処理する装置であって、該装置は、
    前記マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出する手段、
    前記平滑要因に基づき、平滑化が必要であることを決定する手段、及び
    選択されたマルチメディアデータを、前記マルチメディアデータの第1の選択された部分から、前記マルチメディアデータの第2の選択された部分へ移動させ、これで前記平滑要因が調節される手段、
    を含む装置。
  22. 前記検出する手段は、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値を越えるときを検出する手段を含む請求項21記載の装置。
  23. 前記検出する手段は、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値より下がるときを検出する手段を含む請求項21記載の装置。
  24. 前記検出する手段は、前記マルチメディアデータの少なくとも2つの部分の間のビットレート変動が、選択された閾値を越えるときを検出する手段を含む請求項21記載の装置。
  25. 前記移動させる手段は、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分とのうちの少なくとも1つに関連する時間期間を調節する手段を含む請求項21記載の装置。
  26. 前記移動させる手段は、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分との間の1つまたは複数のビデオフレームに関連するデータを移動させる手段を含む請求項21記載の装置。
  27. 前記移動させる手段は、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、1つまたは複数のビデオフレームに関連するデータを移動させる手段を含む請求項21記載の装置。
  28. 前記移動させる手段は、
    選択されたデータが削除された、間引かれたビデオフレームを生成するために、第1のビデオフレームを第1のビデオフレームサイズが小さくなるように符号化する手段、及び
    増大されたフレームを生成するために、第2のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第2のビデオフレームを符号化する手段、
    を含む請求項21記載の装置。
  29. 前記移動させる手段は、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも1つを移動させる手段を含む請求項28記載の装置。
  30. 前記少なくとも1つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとる手段をさらに含む請求項21記載の装置。
  31. コードの1つまたは複数の部分を含み、1つまたは複数の機械で実行可能な命令群が記憶されている機械読み取り可能な媒体であって、前記1つまたは複数の部分のコードは、
    前記マルチメディアデータの1つまたは複数の部分に関連する平滑要因を検出するコード、
    前記平滑要因に基づき、平滑化が必要であることを決定するコード、及び
    選択されたマルチメディアデータを、前記マルチメディアデータの第1の選択された部分から、前記マルチメディアデータの第2の選択された部分へ移動させ、これで前記平滑要因が調節されるコード、
    を含む機械読み取り可能な媒体。
  32. 前記検出することは、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値を越えるときを検出することを含む請求項31記載の機械読み取り可能な媒体。
  33. 前記検出するコードは、前記マルチメディアデータの少なくとも1つの部分に関連するビットレートが、選択された閾値より下がるときを検出するコードを含む請求項31記載の機械読み取り可能な媒体。
  34. 前記検出するコードは、前記マルチメディアデータの少なくとも2つの部分の間のビットレート変動が、選択された閾値を越えるときを検出するコードを含む請求項31記載の機械読み取り可能な媒体。
  35. 前記移動させるコードは、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分とのうちの少なくとも1つに関連する時間期間を調節するコードを含む請求項31記載の機械読み取り可能な媒体。
  36. 前記移動させるコードは、マルチメディアデータの前記第1の選択された部分と前記第2の選択された部分との間の1つまたは複数のビデオフレームに関連するデータを移動させるコードを含む請求項31記載の機械読み取り可能な媒体。
  37. 前記移動させるコードは、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、1つまたは複数のビデオフレームに関連するデータを移動させるコードを含む請求項31記載の機械読み取り可能な媒体。
  38. 前記移動させるコードは、
    選択されたデータが削除された、間引かれたビデオフレームを生成するために、第1のビデオフレームを第1のビデオフレームサイズが小さくなるように符号化するコード、及び
    増大されたフレームを生成するために、第2のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第2のビデオフレームを符号化するコード、
    を含む請求項31記載の機械読み取り可能な媒体。
  39. 前記移動させるコードは、前記1つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも1つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも1つを移動させるコードを含む請求項38記載の機械読み取り可能な媒体。
  40. 前記少なくとも1つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとるコードをさらに含む請求項31記載の機械読み取り可能な媒体。
JP2009551983A 2007-03-01 2007-05-07 通信ネットワークにおけるデータ符号化方法及びシステム Pending JP2010520677A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US89251807P 2007-03-01 2007-03-01
US11/739,076 US20080212599A1 (en) 2007-03-01 2007-04-23 Methods and systems for encoding data in a communication network
PCT/US2007/068382 WO2008105883A1 (en) 2007-03-01 2007-05-07 Methods and systems for encoding data in a communication network

Publications (1)

Publication Number Publication Date
JP2010520677A true JP2010520677A (ja) 2010-06-10

Family

ID=38739371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009551983A Pending JP2010520677A (ja) 2007-03-01 2007-05-07 通信ネットワークにおけるデータ符号化方法及びシステム

Country Status (7)

Country Link
US (1) US20080212599A1 (ja)
EP (1) EP2127379A1 (ja)
JP (1) JP2010520677A (ja)
KR (1) KR101094677B1 (ja)
CN (1) CN101627632B (ja)
TW (1) TW200901770A (ja)
WO (1) WO2008105883A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100118938A1 (en) * 2008-11-12 2010-05-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for generating a stream of data
FR2949036B1 (fr) * 2009-08-10 2012-05-04 Canon Kk Procede et dispositif de transmission de donnees entre un dispositif emetteur et un dispositif recepteur, avec gestion de troncature, produit programme d'ordinateur et moyen de stockage correspondants
FR2957743B1 (fr) * 2010-03-19 2012-11-02 Canon Kk Procede de gestion d'une transmission de donnees par un dispositif emetteur, avec gestion de codage source, produit programme d'ordinateur, moyen de stockage et dispositif emetteur correspondants
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
US9456383B2 (en) 2012-08-27 2016-09-27 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
KR20150060149A (ko) * 2013-11-26 2015-06-03 삼성전자주식회사 멀티미디어 데이터를 분산 처리하는 저장 장치 및 방법
EP3343801A1 (en) * 2016-12-30 2018-07-04 Eutelsat S.A. Method for protection of signal blockages in a satellite mobile broadcast system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02254887A (ja) * 1989-03-29 1990-10-15 Hitachi Ltd 画像データ転送再生方法および転送再生装置
JP2000333167A (ja) * 1999-05-21 2000-11-30 Fuurie Kk 映像データの伝送方法および映像データの記録方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082162B2 (en) * 1999-04-17 2006-07-25 Pts Corporation Segment-based encoding system including segment-specific metadata
US6643327B1 (en) * 2000-05-05 2003-11-04 General Instrument Corporation Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
CA2428325C (en) * 2000-11-29 2011-08-30 Matthew David Walker Transmitting and receiving real-time data
US7450610B2 (en) * 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
US7391809B2 (en) 2003-12-30 2008-06-24 Microsoft Corporation Scalable video transcoding
US7653085B2 (en) * 2005-04-08 2010-01-26 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over data network
GB2426664B (en) 2005-05-10 2008-08-20 Toshiba Res Europ Ltd Data transmission system and method
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02254887A (ja) * 1989-03-29 1990-10-15 Hitachi Ltd 画像データ転送再生方法および転送再生装置
JP2000333167A (ja) * 1999-05-21 2000-11-30 Fuurie Kk 映像データの伝送方法および映像データの記録方法

Also Published As

Publication number Publication date
EP2127379A1 (en) 2009-12-02
WO2008105883A1 (en) 2008-09-04
CN101627632B (zh) 2012-01-25
US20080212599A1 (en) 2008-09-04
CN101627632A (zh) 2010-01-13
KR101094677B1 (ko) 2011-12-20
KR20090123911A (ko) 2009-12-02
TW200901770A (en) 2009-01-01

Similar Documents

Publication Publication Date Title
US8761162B2 (en) Systems and methods for applications using channel switch frames
KR100942395B1 (ko) 다층 비디오 설계를 위한 레이트 제어
US10425661B2 (en) Method for protecting a video frame sequence against packet loss
KR100474773B1 (ko) 대역폭 스케일러를 구비한 멀티캐스팅 전송 시스템
US8612498B2 (en) Channel switch frame
US8320464B2 (en) Method and apparatus to construct bi-directional predicted frames for temporal scalability
KR100799784B1 (ko) 시간적 스케일러빌러티를 가능하게 하는 하이브리드 비디오압축에서의 프레임 예측 방법 및 장치
CN1242623C (zh) 视频编码方法、解码方法以及相关的编码器和解码器
EP2312857B1 (en) Time slicing techniques for variable data rate encoding
JP2010520677A (ja) 通信ネットワークにおけるデータ符号化方法及びシステム
TW201026078A (en) Video decoding method
JP5502798B2 (ja) チャネル交換フレーム
WO2010099801A1 (en) Processing of multimedia data
Carreira et al. Selective motion vector redundancies for improved error resilience in HEVC
JPWO2003092295A1 (ja) 動画像伝送システム、動画像符号化装置、動画像復号化装置、及び動画像伝送プログラム
WO2002019709A1 (en) Dual priority video transmission for mobile applications
JP2005072995A (ja) レート変換装置
WO2001015458A2 (en) Dual priority video transmission for mobile applications
Aladrovic et al. An error resilience scheme for layered video coding
Heng et al. Multiple-description video coding through adaptive segmentation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120424