(57)【要約】【解決手段】  各々が少なくともＩフレームとインタフレームとを備える複数のＧＯＰからなるビデオシーケンスを符号化する際のレート制御方法であって、ＧＯＰ内のインタフレームを符号化する以下の各工程、即ち、前記ビデオシーケンスの送信に使用される利用可能なチャンネル帯域幅と当該符号化処理に利用可能な計算資源とに基づいて所望のフレームレートを決定する工程と、前記所望のフレームレートと前記Ｉフレームに対する前記インタフレームの位置とに基づいてターゲットバッファレベルを決定する工程と、前記ターゲットバッファレベルと前記利用可能なチャンネル帯域幅とに基づいて、前記ビデオシーケンスを符号化する前記レートを制御するために使用されるターゲットビットレートを決定する工程とを含んでいるレート制御方法。
2005538606.tif 000002
【特許請求の範囲】
【請求項１】
ビデオシーケンスを符号化するレートを制御するレート制御方法であって、前記ビデオシーケンスが複数のＧＯＰを含んでおり、各ＧＯＰが少なくともＩフレームとインタフレームとを含んでおり、当該方法が、当該ＧＯＰにおける各インタフレームを符号化する以下の工程、即ち、
前記ビデオシーケンスの送信に使用される利用可能なチャンネル帯域幅と当該符号化処理に利用可能な計算資源とに基づいて所望のフレームレートを決定する工程と、
前記所望のフレーム速度と前記Ｉフレームに対する前記インタフレームの位置とに基づいてターゲットバッファレベルを決定する工程と、
前記ターゲットバッファレベルと前記利用可能なチャンネル帯域幅とに基づいて、前記ビデオシーケンスを符号化する前記レートを制御するために使用されるターゲットビットレートを決定する工程と
を含んでいるレート制御方法。
【請求項２】
前記インタフレームについてターゲット符号化タイムインターバルを決定する工程と、
決定された前記ターゲット符号化タイムインターバルに基づいて前記所望のフレームレートを決定する工程と
を更に含んでいる請求項１に記載のレート制御方法。
【請求項３】
前記インタフレームについての前記ターゲット符号化タイムインターバルが、前記利用可能なチャンネル帯域幅と前記インタフレームの符号化に使用される平均符号化タイムインターバルとに基づいて決定され、前記平均符号化タイムインターバルが前記符号化処理に利用可能な計算資源に比例する請求項２に記載の速度制御方法。
【請求項４】
前記インタフレームについての前記ターゲット符号化タイムインターバルが、次式を使用して決定され、
【数１】
2005538606.tif 000054
この式において、Tfi(n)は、前記インタフレームについての前記ターゲット符号化タイムインターバルであり、A1は、0.80<A1<1.00のパラメータであり、A2は、1.00<A2<1.10のパラメータであり、B1は、1.00<B1<2.00のパラメータであり、B2は、0<B2<1.00のパラメータであり、TBmad(n)はBmad(n)の平均であり、Bmad(n)は、次式によって定義され、
【数２】
2005538606.tif 000055
この式において、u(n)は前記利用可能なチャンネル帯域幅であり、Tave(n-1)は、前記インタフレームについての前記平均符号化タイムインターバルであり、MAD(n)は、現在のフレームとその前のフレームとの間の平均差分絶対値（mean absolute difference）である請求項３に記載のレート制御方法。
【請求項５】
前記ターゲット符号化タイムインターバルが、次式、
【数３】
2005538606.tif 000056
により更に調整される請求項４に記載のレート制御方法。
【請求項６】
前記インタフレームについての前記平均符号化タイムインターバルが、前記インタフレームについての実際の符号化タイムインターバルに基づいて決定される請求項３に記載のレート制御方法。
【請求項７】
前記インタフレームについての前記平均符号化タイムインターバルが、更に、前記ターゲット符号化タイムインターバルとバッファオーバーフローに起因してスキップされるフレームの数とに基づいて決定される請求項６に記載のレート制御方法。
【請求項８】
前記インタフレームについての前記平均符号化タイムインターバルが、次式を使用して決定され、
【数４】
2005538606.tif 000057
この式において、χは加重係数であり、Tc(n)は実際の符号化時間であり、Frは予め定義されたフレームレートであり、RTstは次式
【数５】
2005538606.tif 000058
で更に定義され、この式においてNpost(n)はバッファオーバーフローに起因してスキップされるフレームの数である請求項７に記載のレート制御方法。
【請求項９】
同一ＧＯＰに属するＩフレーム由来の他のインタフレームに比べて当該ＧＯＰにおける前記Ｉフレームにより近いインタフレームがより高いターゲットバッファレベルを有するように前記ターゲットバッファレベルが決定される請求項５に記載のレート制御方法。
【請求項１０】
前記ターゲットバッファレベルが次式を使用して決定され、
【数６】
2005538606.tif 000059
この式において、Target(n)はターゲットバッファレベルであり、Ngopは一のＧＯＰにおけるフレーム数であり、Bsはバッファサイズであり、Bcは実際のバッファ占有率であり、Scは所望のフレームレートでインタフレームを符号化するには不十分な利用可能計算資源に起因してスキップされるフレームの平均数であり、Wpos(l)はｌ番目のインタフレームの位置加重（position weight）であり、次式
【数７】
2005538606.tif 000060
及び
【数８】
2005538606.tif 000061
を満足する請求項９に記載の速度制御方法。
【請求項１１】
前記所望のフレームレートで前記インタフレームを符号化するには不十分な利用可能計算資源に起因してスキップされるフレームの前記平均数が、前記インタフレームを符号化する間、前記不十分な計算資源に起因してスキップされるフレームの現在数（instant number）に基づいて決定される請求項１０に記載のレート制御方法。
【請求項１２】
前記不十分な計算資源に起因してスキップされるフレームの現在数が、前記実際の符号化タイムインターバルと前記ターゲット符号化タイムインターバルとに基づいて決定される請求項１１に記載のレート制御方法。
【請求項１３】
前記スキップされるフレームの現在数が、次式を使用して決定され、
【数９】
2005538606.tif 000062
この式において、TST(n)は更に次式で定義され、
【数１０】
2005538606.tif 000063
この式において、
【数１０ａ】
2005538606.tif 000064
は、次式のように定義され、
【数１１】
2005538606.tif 000065
この式において、
【数１１ａ】
2005538606.tif 000066
は、不十分な計算資源に起因してスキップされるフレームの現在数であり、Tc(n)は実際の符号化タイムインターバルであり、Frは予め定義されたフレーム速度である請求項１２に記載のレート制御方法。
【請求項１４】
前記不十分な計算資源に起因してスキップされるフレームの平均数が、次式を使用して決定され、
【数１２】
2005538606.tif 000067
この式において、θは加重係数である請求項１３に記載の速度制御方法。
【請求項１５】
前記ターゲットビットレートが、前記インタフレームについての前記平均符号化タイムインターバルと、前記不十分な計算資源に起因してスキップされるフレームの平均数と、前記ターゲットバッファレベルと、前記利用可能なチャンネル帯域幅と、前記実際のバッファ占有率とに基づいて決定される請求項１４に記載のレート制御方法。
【請求項１６】
前記ターゲットビットレートが、次式を使用して決定され、
【数１３】
2005538606.tif 000068
この式において、
【数１３ａ】
2005538606.tif 000069
は、ターゲットビットレートであり、tn,iは、i番目のＧＯＰにおけるn番目のインタフレームが符号化された時刻であり、γは定数である請求項８及び１５に記載のレート制御方法。
【請求項１７】
前記ターゲットビットレートが、次式を使用する加重時間平滑化によって更に調整され、
【数１４】
2005538606.tif 000070
この式において、f(n)は平滑化されたターゲットビットレートであり、μは加重制御定数であり、Hhdr(n)は前のフレームのヘッダ、動きベクトル及び形状情報に使用されるビット量である請求項１６に記載のレート制御方法。
【請求項１８】
各フレームを符号化した後の各フレームのスリープ時間を決定する工程と、
前記計算されたスリープ時間に基づいて、各フレームの符号化開始時間を決定する工程と、
前記計算された符号化開始時間に基づいて、次のフレームの復号化開始時間を決定する工程と、
前記ビデオシーケンスを復号化するよう構成されたデコーダへ、前記決定された復号化開始時間を送信する工程と
を更に含んでいる請求項１に記載のレート制御方法。
【請求項１９】
前記スリープ時間が、次式により決定され、
【数１５】
2005538606.tif 000071
この式において、STc(n)は前記符号化工程の前記スリープ時間である請求項１８に記載のレート制御方法。
【請求項２０】
前記符号化開始時間が、次式により決定され、
【数１６】
2005538606.tif 000072
この式において、SCT(n)は符号化開始時間である請求項１９に記載のレート制御方法。
【請求項２１】
前記復号化開始時間が、次式により決定され、
【数１７】
2005538606.tif 000073
この式において、SDT(n)は復号化開始時間である請求項２０に記載のレート制御方法。
【請求項２２】
ビデオシーケンスを符号化するレートを制御するレート制御装置であって、前記ビデオシーケンスが複数のＧＯＰを含んでおり、各ＧＯＰが少なくともＩフレームとインタフレームとを含んでおり、当該装置が、各ＧＯＰにおける前記インタフレームを符号化する以下の工程、即ち、
前記ビデオシーケンスの送信に使用される利用可能なチャンネル帯域幅と当該符号化工程に利用可能な計算資源とに基づいて所望のフレームレートを決定する工程と、
前記所望のフレームレートと前記Ｉフレームに対する前記インタフレームの位置とに基づいてターゲットバッファレベルを決定する工程と、
前記ターゲットバッファレベルと前記利用可能なチャンネル帯域幅とに基づいて、前記ビデオシーケンスを符号化する前記レートを制御するために使用されるターゲットビットレートを決定する工程と
を実行するよう構成された処理ユニットを含んでいるレート制御装置。
【請求項２３】
ビデオシーケンスを符号化するレートを制御するビデオ符号化装置であって、前記ビデオシーケンスが複数のＧＯＰを含んでおり、各ＧＯＰが少なくともＩフレームとインタフレームとを含んでおり、当該装置が、当該ＧＯＰにおける各インタフレームを符号化する以下の工程、即ち、
前記ビデオシーケンスの送信に使用される利用可能なチャンネル帯域幅と当該符号化工程に利用可能な計算資源とに基づいて所望のフレーム速度を決定する工程と、
前記所望のフレームレートとその複雑性と前記Ｉフレームに対する前記インタフレームの位置とに基づいてターゲットバッファレベルを決定する工程と、
前記ターゲットバッファレベルと前記利用可能なチャンネル帯域幅とに基づいて、前記ビデオシーケンスを符号化する前記レートを制御するために使用されるターゲットビットレートを決定する工程と
を実行するよう構成された処理ユニットを含んでいるビデオ符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用可能なチャンネル帯域幅及び計算資源(Computational Resources)を考慮に入れた、ビデオシーケンスの符号化レートを制御する方法及び装置並びにビデオ符号化装置に関する。
【背景技術】
【０００２】
例えばインターネット又は無線ネットワークなど、帯域幅の限られたチャンネル上でのライブビデオの符号化において、レート制御は重要な役割を果たしており、多くの研究者によって幅広く研究されている。非特許文献1乃至４に開示されるレート制御についてのこれまでの研究結果は、計算資源が常に十分で所望の符号化フレームレートが常に保証されるという仮定に基づいている。
【０００３】
しかしながら、ライブビデオがマルチタスク環境下でソフトウェアによって符号化されるとき、ＣＰＵ（Central Processing Unit）の計算資源は、符号化処理とって必ずしも十分ではない。これは、ＣＰＵの計算資源が、より優先順位の高い他の処理に取られることに起因している。リアルタイムビデオ符号化システムにおいて、符号化されたビットは、ネットワークを介してデコーダへ送信される前に、バッファに格納される。割り当てられた計算資源が符号化処理には不十分であるとき、実際の符号化フレームレートは、所望のフレームレートよりも遅く、バッファ内に格納される生成ビット数も少なすぎる。その結果、利用可能なチャンネル帯域幅が無駄になる。この現象は、とりわけビデオ符号化処理が計算能力の限られたハンドヘルド装置において実行される場合によくみられる。
【０００４】
また、これまでの大抵のレート制御方法は、ビデオ送信に利用可能なチャンネル帯域幅が一定である場合に焦点が合わされていた。しかしながら、ライブビデオがインターネットや無線ネットワークのような限られた帯域幅のチャンネルを使用して送信されるとき、ビデオ送信に利用可能なチャンネル帯域幅は経時変化するのが普通である。利用可能はチャンネル帯域幅が減少するとき、バッファ内においてビット数が蓄積する。バッファ内のビット数が大きくなりすぎると、通常はエンコーダが幾つかのフレームをスキップしてバッファ遅延を軽減し、バッファオーバーフローを防止する。フレームをスキップすることにより、望ましくない不連続な動きがビデオシーケンスに発生する。
【０００５】
最近の資料である非特許文献５には、可変性の利用可能な帯域幅に符号化レートを適応させうるレート制御方法が開示されている。このレート制御方法は、流体フローモデル（fluid flow model）を使用して、ビデオシーケンスの各フレームについてターゲットビットレートを計算している。しかしながら、非特許文献５に開示されるレート制御方法は、利用可能な計算資源を考慮に入れていない。更に、各ＧＯＰ（Group of Pictures）に割り当てられたビット総数は、そのＧＯＰ内の各Ｐフレームに均等に分配されている。
【０００６】
【非特許文献１】H.J.Lee and T.H.Chiang and Y.Q.Zhang.  Scalable Rate Control for MPEG-4 Video.  IEEE Trans. Circuit Syst. Video Technology, 10: 878-894, 2000.
【非特許文献２】T.Chiang and Y.Q.Zhang.  A new rate control scheme using quadratic rate-distortion modeling.  IEEE Trans. Circuit Syst. Video Technology, 7: 246-250, 1997.
【非特許文献３】J. Ribas-Corbera and S. Lei.  Rate Control in DCT video coding for low-delay communications.  IEEE Trans. Circuit Syst. Video Technology, 9: 172-185, 1999.
【非特許文献４】A. Vetro, H.Sun and Y. Wang.  MPEG-4 rate control for multiple video objects.  IEEE Trans. Circuit Syst. Video Technology, 9: 186-199, 1999.
【非特許文献５】Z.G.Li, X. Lin, C. Zhu and F. Pan.  A novel rate control scheme for video over the internet.  In Proceedings ICASSP 2002, Florida, USA, Vol. 2, pp. 2065-2068, May 2002.
【非特許文献６】Z.G.Li, N. Lin, C. Zhu, X.K.Yang, G.N.Feng, S.Wu and F. Pan.  Packetization algorithm for MPEG-4 Fine Granularity Scalability over the internet.  In the 3rd workshop and Exhibition on MPEG-4, USA, California, pp. 17-20, June 25-27, 2002.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、計算資源が可変であり、帯域幅が可変であるライブビデオ符号化処理に好適なレート制御方法を提供することである。
【課題を解決するための手段】
【０００８】
上記目的は、ビデオシーケンスを符号化するレートを制御するレート制御方法であって、前記ビデオシーケンスが複数のＧＯＰを含んでおり、各ＧＯＰが少なくともＩフレームとインタフレームとを含んでおり、当該方法が、当該ＧＯＰにおける各インタフレームを符号化する以下の工程、即ち、前記ビデオシーケンスの送信に使用される利用可能なチャンネル帯域幅と当該符号化処理に利用可能な計算資源とに基づいて所望のフレームレートを決定する工程と、前記所望のフレームレートと前記Ｉフレームに対する前記インタフレームの位置とに基づいてターゲットバッファレベルを決定する工程と、前記ターゲットバッファレベルと前記利用可能なチャンネル帯域幅とに基づいて、前記ビデオシーケンスを符号化する前記レートを制御するために使用されるターゲットビットレートを決定する工程とを含んでいるレート制御方法によって達成される。
【０００９】
ビデオシーケンスのＧＯＰは、Ｉフレーム（イントラフレーム、即ち、動き検出／動き補償を実行せずに完全に符号化されるフレーム）と、インタフレームとしての複数のＰフレーム（予測フレーム、即ち、動き検出／動き補償を使用して符号化されるフレーム）若しくはＢフレーム（双方向フレーム、即ち、二つの近接するイントラフレームから動き検出／動き補償を使用して符号化されるフレーム）とを含んでいるものとする。ビットはその複雑性に基づいてＩフレームに割り当てられ、また本発明によるレート制御方法を使用して、各インタフレーム、好ましくは各Ｐフレームに割り当てられる。
【００１０】
レート制御方法、とりわけターゲットバッファレベルとそれに対応するターゲットビットレートの決定は、ＧＯＰのＰフレーム上で実行することが好ましいが、本発明による速度制御方法はＢフレーム上においても実行できる。
【００１１】
インタフレーム、好ましくはＰフレームを符号化する際、まず所望のフレームレートを、利用可能なチャンネル帯域幅と符号化工程に利用可能な計算資源とに基づいて決定する。所望のフレームレートは一定ではなく、利用可能なチャンネル帯域幅と利用可能な計算資源とに応じて、各インタフレームに合わせて変化する。
【００１２】
所望のフレーム速度を得るのに利用可能な計算資源が不十分であれば、エンコーダバッファに蓄積される符号化ビットは少なくなり、その結果、バッファアンダーフローやチャンネル帯域幅の無駄を招くこととなる。従って、符号化処理に利用可能な計算資源を考慮してターゲットバッファレベルを予め定義することによって、バッファアンダーフローを防止する。
【００１３】
ターゲットバッファレベルは、ＧＯＰに割り当てられたビット総数がＧＯＰの各インタフレーム（好ましくはＰフレーム）へどのように分配されるか、即ち各インタフレームのバジェットを定義する。しかしながら、各インタフレームのバジェットと各インタフレームが実際に使用するビットとの間には違いがあるのが普通である。そこで、各インタフレームひいては各ＧＯＰがそのバジェットを確実に使用するように、各インタフレームについてターゲットビットレートが計算される。ターゲットビットレートは、流体フローモデルと線形制御理論（linear system control theory）とを使用して、ターゲットバッファレベルと利用可能なチャンネル帯域幅とを考慮に入れて計算される。
【００１４】
所望のフレームレートは、インタフレーム（好ましくはＰフレーム）についてターゲット符号化タイムインターバル、即ち、インタフレームを符号化するのに必要な時間を決定することにより決定される。ターゲット符号化タイムインターバルは、所望のフレームレートに反比例し、利用可能な帯域幅に基づいて、そして好ましくは平均符号化タイムインターバルにも基づいて決定される。インタフレームを符号化する平均符号化タイムインターバルは、計算資源に比例するので、利用可能な計算資源の指標となる。利用可能な帯域幅は、非特許文献６に開示される方法を使用して概算できる。
【００１５】
インタフレームを符号化するターゲット符号化タイムインターバルは、次式を使用して決定される。
【００１６】
【数１】
2005538606.tif 000003
【００１７】
この式において、Tfi(n)は、前記インタフレームについての前記ターゲット符号化タイムインターバル、A1は、0.80<A1<1.00のパラメータであり、A2は、1.00<A2<1.10のパラメータであり、B1は、1.00<B1<2.00のパラメータであり、B2は、0<B2<1.00のパラメータであり、TBmad(n)はBmad(n)の平均であり、Bmad(n)は、次式によって平均符号化タイムインターバルTaveに関連付けられる。
【００１８】
【数２】
2005538606.tif 000004
【００１９】
この式において、u(n)は前記利用可能なチャンネル帯域幅であり、Tave(n-1)は、インタフレームについての平均符号化タイムインターバルであり、MAD(n)は、現在のフレームとその前のフレームとの間の平均差分絶対値または差分絶対値和（mean absolute difference）である。
【００２０】
本発明においては、A1は0.9に設定されることが好ましく、A2は1.05に設定されることが好ましく、B1は1.5に設定されることが好ましく、B2は0.25に設定されることが好ましい。
【００２１】
取得されたターゲット符号化タイムインターバルTfi(n)の値は、次式を用いてさらに調整することが望ましい。
【００２２】
【数３】
2005538606.tif 000005
【００２３】
ターゲット符号化タイムインターバルTfi(n)は、所望のフレームレートに反比例する。
【００２４】
平均符号化タイムインターバルは、インタフレームを符号化する実際の符号化タイムインターバル、ターゲット符号化タイムインターバル、及びバッファオーバーフローに起因してスキップされるフレームの数に関する情報を使用して決定される。
【００２５】
平均符号化タイムインターバルは、次式を使用して決定される。
【００２６】
【数４】
2005538606.tif 000006
【００２７】
この式において、Tave(n)はインタフレームを符号化する平均タイムインターバルであり、χは加重係数であり、Tc(n)はインタフレームを符号化する実際の時間であり、Frは予め定義されたフレームレートであり、RTstは次式で更に定義される。
【００２８】
【数５】
2005538606.tif 000007
【００２９】
この式においてNpost(n)はバッファオーバーフローに起因してスキップされるフレームの数である。
【００３０】
【数５ａ】
2005538606.tif 000008
【００３１】
この記号は、ａ未満の最大整数を表している。
【００３２】
スライドウインドウに基づいた方法を使用してTfi(n)を計算することは、符号化処理全体のパフォーマンス全般へのバーストノイズの影響を軽減するという利点を有する。
【００３３】
本発明に係る所望のフレームレートを調整するこの単純な方法は、知覚動作平滑度（perceptual motion smoothness）を顕著に低下させることなく、突然の動き変化およびチャンネル帯域幅の経時変化のもとで、インタフレームの品質を許容範囲内に維持することもできる。
【００３４】
所望のフレームレートは、平均符号化タイムインターバルTave(n)に関する情報を使用して、即ち、利用可能な計算資源に基づいて決定される。
【００３５】
各ＧＯＰにおいて、各フレームのターゲットバッファレベルは、同じＧＯＰに属する遠くのインタフレームよりもＧＯＰのＩフレームに近いインタフレーム（好ましくはＰフレーム）に、より多くのビットが割り当てられるように予め定義される。この方法では、Ｉフレームに近いインタフレームが、高品質で符号化され、この高品質インタフレームから予測される次のインタフレームもまた高品質となる。その結果、このインタフレームに基づく予測ゲインは向上する。
【００３６】
ターゲットバッファレベルは次式を使用して決定される。
【００３７】
【数６】
2005538606.tif 000009
【００３８】
この式において、Target(n)はターゲットバッファレベルであり、Ngopは一のＧＯＰにおけるフレーム数であり、Bsはバッファサイズであり、BcはＩフレーム符号化後の実際のバッファ占有率であり、Scは所望のフレームレートでインタフレームを符号化するには不十分な利用可能計算資源に起因してスキップされるフレームの平均数であり、Wpos(l)はｌ番目のインタフレームの位置加重（position weight）であり、次式
【００３９】
【数７】
2005538606.tif 000010
【００４０】
及び
【００４１】
【数８】
2005538606.tif 000011
【００４２】
を満足する。
【００４３】
不十分な利用可能計算資源に起因してスキップされるフレームの平均数は、インタフレームを符号化する際の不十分な計算資源に起因してスキップされるフレームの現在数または即時数（instant number）
【００４４】
【数９】
2005538606.tif 000012
【００４５】
に基づいて決定される。不十分な計算資源に起因してスキップされるフレームの現在の数は、実際の符号化タイムインターバルとターゲット符号化タイムインターバルとに基づいて決定される。不十分な計算資源に起因してスキップされるフレームの現在の数は、次式を使用してまとめることができる。
【００４６】
【数１０】
2005538606.tif 000013
【００４７】
この式において、TST(n)は更に次式で定義される。
【００４８】
【数１１】
2005538606.tif 000014
【００４９】
この式において、
【００５０】
【数１１ａ】
2005538606.tif 000015
【００５１】
は、次式のように定義される。
【００５２】
【数１２】
2005538606.tif 000016
【００５３】
この式において、Tc(n)は実際の符号化タイムインターバルであり、Frは予め定義されたフレームレートである。
【００５４】
不十分な計算資源に起因してスキップされるフレームの平均数は、次式を使用して決定される。
【００５５】
【数１３】
2005538606.tif 000017
【００５６】
この式において、θは加重係数である。
【００５７】
ターゲットバッファレベルを計算するために、スキップされるフレームの現在数の代わりに、スキップされるフレームの平均数Scを使用することの利点は、Scの値が緩やかに変化することである。このScの緩やかな変化は、ビデオの符号化処理に使用される量子化パラメータの緩やかな調整と一致する。
【００５８】
しかしながら、本発明における他の実施形態においては、スキップされるフレームの平均数の代わりに、スキップされるフレームの現在数
【００５９】
【数１４】
2005538606.tif 000018
【００６０】
を使用して、ターゲットバッファレベルを決定することもできる。
【００６１】
チャンネル帯域幅が一定である場合、各フレームの複雑性は等しく、所望のフレーム速度が保証され、ｉ番目のＧＯＰにおけるｎ番目のインタフレームについてのターゲットバッファレベルは次式のように単純化することができる。
【００６２】
【数１５】
2005538606.tif 000019
【００６３】
この式から分かるように、現在のインタフレームのターゲットバッファレベルは、次のインタフレームのターゲットバッファレベルよりも大きい。換言すれば、同じＧＯＰに属するＩフレーム（即ちイントラフレーム）から遠いインタフレームよりもＩフレームに近いインタフレームに、より多くのビットが割り当てられる。
【００６４】
本発明の好適な一実施形態に係るターゲットビットレートは、インタフレームについての平均符号化タイムインターバルと、不十分な計算資源に起因してスキップされるフレームの平均数と、ターゲットバッファレベルと、利用可能なチャンネル帯域幅と、実際のバッファ占有率とに基づいて決定される。とりわけ、本発明の好適な一実施形態に係るターゲットビットレートは、次式を使用して決定される。
【００６５】
【数１６】
2005538606.tif 000020
【００６６】
この式において、
【００６７】
【数１６ａ】
2005538606.tif 000021
【００６８】
は、ターゲットビットレートであり、tn,iは、i番目のＧＯＰにおけるn番目のインタフレームが符号化された時刻であり、γは定数である。
【００６９】
利用可能なチャンネル帯域幅u(tn,i)及び平均符号化タイムインターバルTave(n-1)は、インタフレームについてのターゲットビットレート決定に使用されるので、本発明に係るビットレート制御方法は、利用可能なチャンネル帯域幅及び利用可能な計算資源の両方に適用可能である。
【００７０】
このように決定されたインタフレームについてのターゲットビットレートは、次式を使用する加重時間平滑化（weighted temporal smoothing）によって更に調整される。
【００７１】
【数１７】
2005538606.tif 000022
【００７２】
この式において、f(n)は平滑化されたターゲットビットレートであり、μは加重制御定数であり、Hhdr(n)は前のフレームのヘッダ、動きベクトル及び形状情報に使用されるビット量である。
【００７３】
他の実施形態においては、平均符号化タイムインターバルTave(n)の代わりに、実際の符号化タイムインターバルTfi(n)を使用してターゲットビットレートを決定することもできる。ターゲットビットレートの計算にTcの代わりに平均符号化タイムインターバルTaveを使用することの利点は、Taveが緩やかに変化することにある。このことは、ビデオシーケンスの符号化処理に係る量子化パラメータＱを緩やかに調整することと一致する。また、実際のフレームレートが予め定義されたフレームレートよりも遅いとき、即ち、次式の関係があるとき、各フレームにはより多くのビットが割り当てられる。
【００７４】
【数１８】
2005538606.tif 000023
【００７５】
従って、他の既存のレート制御方法に比べて、バッファアンダーフローの可能性が軽減され、チャンネル帯域幅の利用性が向上する。
【００７６】
各インタフレームについてターゲットビットレートが計算されると、それに対応する符号化処理の量子化パラメータの計算が可能となる。その際、非特許文献５に記載されたＲＤ法（レート−ひずみ法：Rate-Distortion method）を使用することが好ましい。
【００７７】
本発明に係るレート制御方法の符号化後のステージにおいて、符号化処理のスリープ時間は、次式を使用して更新される。
【００７８】
【数１９】
2005538606.tif 000024
【００７９】
この式において、STc(n)は、符号化処理のスリープ時間である。次のフレームの符号化開始時間は、次式によって与えられる。
【００８０】
【数２０】
2005538606.tif 000025
【００８１】
この式において、SCT(n)は符号化開始時間である。次のフレームの復号化開始時間は、次式により決定される。
【００８２】
【数２１】
2005538606.tif 000026
【００８３】
この式において、SDT(n)は復号化開始時間である。復号化開始時間は、デコーダへ送られ、そこで符号化されたビデオシーケンスの各フレームを複合化する時間に関する情報を提供する。
【００８４】
スリープ時間STc(n)及び復号化開始時間SDT(n)を決定する際は、三つの点を考慮すべきである。どのフレームも二度符号化されることはなく、時間分解能は1/Frであり、必要時間はバッファがオーバーフローする危険のあるときに経過するものとする。
【００８５】
本発明に係る他の目的、特徴及び利点は、以下に記載する例示的実施形態の詳細な説明を添付の図面と共に参照することにより明らかにされる。
【発明を実施するための最良の形態】
【００８６】
図１は、本発明の好適な一実施形態に係るレート制御方法をブロック図として示している。
【００８７】
本発明に係るレート制御方法は、以下の三つのステージからなる。即ち、開始ステージ、前符号化ステージ及び後符号化ステージである。
【００８８】
ステップ１０１において、ＧＯＰの符号化処理に係るフレームレートFrが予め定義される。この段階で好適な符号化フレームレートを選択すると共に、エンコーダ及びデコーダのパラメータ／仕様などの実際的な問題を考慮すべきである。更に、レート制御を含むビデオ符号化処理が実行されるハードウェアが、予め定義されたフレームレートをサポートしうるのか否かは、常に明らかであるとは限らない。
【００８９】
ステップ１０２において、ビデオフレームのバッファサイズが、待ち時間要件に基づいて設定される。Ｉフレームを符号化する前に、バッファはBs＊σに初期化されるが、Bsはバッファサイズであり、σは0≦σ≦0.5として定義されるパラメータである。続いてステップ１０３にて、Ｉフレームは予め定義された量子化パラメータQ0の初期値を使用して符号化される。ステップ１０３におけるＩフレームの符号化は、非特許文献１、３、４及び５に記載された方法のいずれかを使用して実行してもよい。
【００９０】
Ｉフレームを符号化した後、対応するビデオフレームの符号化に好適な量子化パラメータを決定するために後で使用するレート−ひずみ（ＲＤ）モデルのパラメータが、後符号化ステージ（ステップ１０４）において更新される。後符号化ステージの次のステップ１０５において、バッファオーバーフローに起因してスキップされるフレーム数Ｎpost(n)が決定される。このとき非特許文献５に開示された方法を使用することが好ましい。
【００９１】
ステップ１０６において、現在のフレームの後の符号化工程のスリープ時間STc(n)が決定され、このスリープ時間STc(n)は次のフレームの符号化開始時間SCT(n)を決定するために使用される。続いてステップ１０７において、先に決定された符号化開始時間SCT(n)を使用して、次のフレームの復号化開始時間SDT(n)が決定され、デコーダへ送られる。
【００９２】
Ｉフレームの符号化が完了した後、インタフレームである次のフレームが、先の前符号化ステージで決定された量子化パラメータを使用して符号化される。
【００９３】
ビデオコンテンツの統計値又はチャンネル帯域幅が経時変化するとき、ビデオシーケンスの各フレーム量は、符号化フレームレートが予め定義されたフレーム速度Frに固定されるなら顕著に変化する。これを避けるため、前符号化ステージにおいて、利用可能なチャンネル帯域幅と突然の動きの変化とによってターゲットフレームレート又は所望フレームレートを決定する。
【００９４】
ステップ１０８において、平均符号化タイムインターバルTave(n)、又はＰフレームの符号化に必要な平均タイムインターバルが決定される。次いでステップ１０９において、平均符号化タイムインターバルTave(n)を使用してターゲット符号化タイムインターバルTfi(n)を決定する。ターゲット符号化タイムインターバルTfi(n)は、所望フレームレートに反比例している。
【００９５】
次いでステップ１１０において、決定された所望レートを使用して、Ｐフレームのターゲットバッファレベルを決定する。ステップ１１１において、ターゲットバッファレベル、実際のバッファ占有率、利用可能なチャンネル帯域幅、所望フレームレート及び平均符号化タイムインターバルTaveを使用して、Ｐフレームのターゲットビットレートf(n)を決定する。
【００９６】
ターゲットビットレートf(n)に基づいて、ステップ１１２においてＰフレームにビットが割り当てられる。対応する量子化パラメータＱは、ステップ１０４で更新されたＲＤモデルを使用してステップ１１３において非特許文献５に記載されたように計算される。ステップ１０４において、量子化パラメータＱを使用してＰフレームが符号化される。
【００９７】
次のフレームがＰフレームであるなら、後符号化ステージにおけるステップ１０４においてＲＤモデルを再び更新され、前符号化ステージ及び後符号化ステージ全体の相互作用により次のＰフレームが符号化される。
【００９８】
次のフレームが次のＧＯＰのＩフレームであるなら、符号化工程は再びステップ１０１から開始し、次のＩフレームの符号化を行う。
【００９９】
本発明に係る前符号化ステージにおけるステップ８から１１１並びに後符号化ステージにおけるステップ１０６及び１０７の実施を以下詳細に説明する。
【０１００】
ｉ番目のＩフレームを符号化した後、ターゲットバッファレベルの初期値を次式の如く初期化する。
【０１０１】
【数２２】
2005538606.tif 000027
【０１０２】
この式において、Bc(ti,I)はｉ番目のＩフレームを符号化した後の実際のバッファ占有率であり、ti,Iはｉ番目のＩフレームを符号化する時刻である。
【０１０３】
ＧＯＰの各Ｐフレームのターゲットビットレートを決定するには、Ｐフレームのターゲットバッファレベルを決定する必要がある。ターゲットバッファレベルを決定する第一段階は、所望のフレームレートを決定することである。これは、まず次式を使用してＰフレームの平均符号化タイムインターバルTave(n)を決定することによりなされる（ステップ１０８）。
【０１０４】
【数２３】
2005538606.tif 000028
【０１０５】
この式において、χは加重係数であり、Tc(n)はＰフレームを符号化する実際の時間であり、RTstは次式で定義される。
【０１０６】
【数２４】
2005538606.tif 000029
【０１０７】
この式において
【０１０８】
【数２４ａ】
2005538606.tif 000030
【０１０９】
は、ａ未満の最大整数である。
【０１１０】
加重係数χは、０＜χ＜１であり、好ましくは値0.125に設定される。平均符号化タイムインターバルTave(n)の初期値は、次式で与えられる。
【０１１１】
【数２５】
2005538606.tif 000031
【０１１２】
更にRTst(n)の初期値は次式によって与えられる。
【０１１３】
【数２６】
2005538606.tif 000032
【０１１４】
更に変数Bmad(n)は次式によって定義される。
【０１１５】
【数２７】
2005538606.tif 000033
【０１１６】
この式において、u(n)は利用可能なチャンネル帯域幅であり、MAD(n)は、現在のフレームと前のフレームとの間の平均差分絶対値である。
【０１１７】
利用可能なチャンネル帯域幅u(n)は、非特許文献６に記載の方法によって概算することができる。
【０１１８】
続いて次式を使用してBmad(n)の平均値が計算される。
【０１１９】
【数２８】
2005538606.tif 000034
【０１２０】
この式において、TBmad(n)はBmad(n)の平均値であり、εは加重係数であり好ましくは値0.125である。
【０１２１】
TBmad(n)の値を計算した後は、以下のようにターゲット符号化タイムインターバルTfi(n)を計算することができる（ステップ１０９）。
【０１２２】
【数２９】
2005538606.tif 000035
【０１２３】
この式において、A1は0.80＜A1＜1.00のパラメータであり、A2は1.00＜A2＜1.10のパラメータであり、B1は1.00＜B1＜2.00のパラメータであり、B2は0＜B2＜1.00のパラメータである。
【０１２４】
等式（９）、（１０）、（１１）から決定されたターゲット符号化タイムインターバルTfi(n)の値は、次式によって更に調整してもよい。
【０１２５】
【数３０】
2005538606.tif 000036
【０１２６】
この式において、Tfi(n)の初期値は次式で与えられる。
【０１２７】
【数３１】
2005538606.tif 000037
【０１２８】
所望のフレームレートがターゲット符号化タイムインターバルTfi(n)の逆数から決定された後、不十分な計算資源に起因してスキップされるフレームの平均数Sc(n)を決定して、ターゲットバッファレベルを決定する。
【０１２９】
二つの時間変数は次式で定義される。
【０１３０】
【数３２】
2005538606.tif 000038
【０１３１】
【数３３】
2005538606.tif 000039
【０１３２】
これらの式において、TST(n)の初期値は次式で与えられる。
【０１３３】
【数３４】
2005538606.tif 000040
【０１３４】
不十分な計算資源に起因してスキップされるフレームの現在数
【０１３５】
【数３５】
2005538606.tif 000041
【０１３６】
は、次式によって与えられる。
【０１３７】
【数３６】
2005538606.tif 000042
【０１３８】
更に不十分な計算資源に起因してスキップされるフレームの平均数Sc(n)は、次式によって与えられる。
【０１３９】
【数３７】
2005538606.tif 000043
【０１４０】
この式においてθは0＜θ＜1であり、好ましくは値0.125に設定される。Sc(n)の初期値は、次式によって与えられる。
【０１４１】
【数３８】
2005538606.tif 000044
【０１４２】
Ｐフレームのターゲットバッファレベルは、ここで次式を使用して決定することができる（ステップ１１０）。
【０１４３】
【数３９】
2005538606.tif 000045
【０１４４】
この式において、Target(n)はターゲットバッファレベルであり、NgopはＧＯＰ内のフレーム数であり、Wpos(l)は次式を満足するｌ番目のインタフレームの位置加重（position weight）である。
【０１４５】
【数４０】
2005538606.tif 000046
【０１４６】
【数４１】
2005538606.tif 000047
【０１４７】
ＲＤモデルは正確ではないので、各フレームのターゲットバッファレベルと実際のバッファ占有率との間には差があるのが通常である。従って、実際のバッファ占有率がターゲットバッファレベルとなるように、各フレームについて、ターゲットビットレートが計算される。各フレームについてのターゲットビットレートは、次式で決定される。
【０１４８】
【数４２】
2005538606.tif 000048
【０１４９】
この式において
【０１５０】
【数４２ａ】
2005538606.tif 000049
【０１５１】
はターゲットビットレートであり、tn,iはｉ番目のＧＯＰにおけるｎ番目のＰフレームが符号化される時刻であり、γは0＜γ＜１の定数であり、好ましくは値0.25に設定される。
【０１５２】
各Ｐフレームのターゲットビットレートを決定するために、利用可能なチャンネル帯域幅u(tn,i)及び平均符号化タイムインターバルTave(n-1)が使用されるので、本発明に係るビットレート制御方法（レート制御方法）は、チャンネル帯域幅及び計算資源に適用可能である。
【０１５３】
また以下の加重時間平滑化式を使用して、ターゲットビットレートを更に調整してもよい。
【０１５４】
【数４３】
2005538606.tif 000050
【０１５５】
この式において、f(n)は平滑化されたターゲットビットレートであり、μは加重制御定数であり好ましくは値0.5に設定される。Hhdr(n)は、前のフレームのヘッダ、動きベクトル及び形状情報に使用されるビット量である。
【０１５６】
ターゲットビットレートが決定されると、このターゲットビットレートに基づいて各Ｐフレームにビットが割り当てられる（ステップ１１２）。非特許文献５に記載された方法を私用して、対応する量子化パラメータＱも計算される（ステップ１１３）。続いて、対応する量子化パラメータＱをＰフレームの符号化に使用する（ステップ１１４）。
【０１５７】
Ｐフレームの符号化が完了した後、後符号化ステージ（ステップ１０４、１０５）において、各々非特許文献５に開示された方法を使用して、ＲＤモデルのパラメータを更新し、バッファオーバーフローに起因してスキップされるフレーム数を決定する。
【０１５８】
後符号化ステージの次のステップ（ステップ１０６）において、次式を使用して、現在のフレーム後の符号化工程のスリープ時間を決定する。
【０１５９】
【数４４】
2005538606.tif 000051
【０１６０】
この式において、STc(n)は符号化工程のスリープ時間である。次のフレームの符号化開始時間は、次式を使用して求めることができる。
【０１６１】
【数４５】
2005538606.tif 000052
【０１６２】
この式において、SCT(n)は符号化開始時間である。続いて次式を使用して、次のフレームの復号化開始時間を求めることができる（ステップ１０７）。
【０１６３】
【数４６】
2005538606.tif 000053
【０１６４】
この式において、SDT(n)は復号化開始時間である。続いて、次のフレームのSDT(n)がデコーダへ送られ、SDT(n)によって示される時間で次のフレームが複合化される。
【０１６５】
STc(n)及びSDT(n)の決定において、二度符号化されるフレームはなく、時間分解能は1/Frであり、バッファオーバーフローの可能性があるとき必要時間を経過させる。
【０１６６】
本発明に係るレート制御方法の目的が達成されたことを示すために、本発明に係るレート制御方法と、標準的なMPEG-4符号化装置において使用されるレート制御方法とを二つのビデオシーケンスに適用し、それらのパフォーマンスを比較した。
【０１６７】
二つのビデオシーケンスは、夫々「天気」及び「子供」と称され、いずれもＱＣＩＦサイズである。予め定義されたフレームレートFcは30 fps（frames per second）であり、各ＧＯＰの長さは50である。ビデオシーケンスの各フレームの符号化に使用される計算時間並びに利用可能なチャンネル帯域幅を夫々図２及び図3に示す。
【０１６８】
実際のフレームレートは約17 fpsであり、これは予め定義されたフレームレート30 fpsよりも遅い。初期バッファ充填度は、Bs/8に設定され、初期量子化パラメータＱ０は15に設定される。
【０１６９】
図４及び図５は、本発明に係るレート制御方法並びにMPEG-4で使用されるレート制御方法夫々によるピークＳＮ比（PSNR）を、「天気」及び「子供」ビデオシーケンス夫々について示している。
【０１７０】
本発明に係るレート制御方法による「天気」ビデオシーケンスの平均PSNRは34.16 dBであり、MPEG-4で使用されるレート制御方法による「天気」ビデオシーケンスの平均PSNRは32.6 dBである。同様に、本発明に係るレート制御方法による「子供」ビデオシーケンスの平均PSNRは30.51 dBであり、MPEG-4で使用されるレート制御方法による「子供」ビデオシーケンスの平均PSNRは29.87 dBである。
【０１７１】
従って、本発明に係るレート制御方法によるビデオシーケンスの平均PSNRの方が、MPEG-4に係るレート制御方法による場合よりも大きい。
【０１７２】
図６及び図７は、本発明に係るレート制御方法並びにMPEG-4で使用されるレート制御方法夫々による実際のバッファ占有率を、「天気」及び「子供」ビデオシーケンス夫々について示している。
【０１７３】
図6及び図７から分かるように、MPEG-4に係るレート制御方法による場合のバッファアンダーフローの発生は、「天気」ビデオシーケンスについては12回、「子供」ビデオシーケンスについては18回である。本発明に係るレート制御方法による場合は、これら二つのビデオシーケンスについてバッファアンダーフローは発生しない。
【図面の簡単な説明】
【０１７４】
【図１】本発明の好適な一実施形態に係るレート制御方法を示すブロック図である。
【図２】「天気」と「子供」のビデオシーケンスにおける各フレームに使用されるチャンネル帯域幅を示す図である。
【図３】本発明の好適な前記実施形態を使用する「天気」と「子供」のビデオシーケンスにおける各フレームの符号化に必要な計算時間を示す図である。
【図４】「天気」のビデオシーケンスに係るＰＳＮＲの比較図である。
【図５】「子供」のビデオシーケンスに係るＰＳＮＲの比較図である。
【図６】「天気」のビデオシーケンスに係る実際のバッファ占有率の比較図である。
【図７】「子供」のビデオシーケンスに係る実際のバッファ占有率の比較図である。
【図１】
2005538606.tif 000074
【図２】
2005538606.tif 000075
【図３】
2005538606.tif 000076
【図４】
2005538606.tif 000077
【図５】
2005538606.tif 000078
【図６】
2005538606.tif 000079
【図７】
2005538606.tif 000080
【国際調査報告】
2005538606.tif 000081
2005538606.tif 000082
2005538606.tif 000083