JP3836701B2 - 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置 - Google Patents
動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置 Download PDFInfo
- Publication number
- JP3836701B2 JP3836701B2 JP2001312985A JP2001312985A JP3836701B2 JP 3836701 B2 JP3836701 B2 JP 3836701B2 JP 2001312985 A JP2001312985 A JP 2001312985A JP 2001312985 A JP2001312985 A JP 2001312985A JP 3836701 B2 JP3836701 B2 JP 3836701B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- encoding
- encoded
- encoded data
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Time-Division Multiplex Systems (AREA)
Description
【発明の属する技術分野】
本発明は、任意の可変フレームレートで符号化を行う動画像符号化及び動画像音声多重化に関する。
【0002】
【従来の技術】
インターネットや第三世代携帯電話での映像配信等で用いられる動画像符号化の国際標準規格としてMPEG4(ISO/IEC14496−2)が知られている。MPEG4は、低ビットレートでの符号化効率に優れ、また誤り耐性の強化等の多彩なオプションが盛り込まれており、次世代の動画像符号化方式として注目されている。MPEG4動画像符号化では、任意の可変フレームレートでの符号化を行うことが可能であり、伝送ビットレートや画像の性質に応じて、フレームレートを動的に制御することで、画質を向上させることが可能である。フレームレートの制御については、例えば特開平09−130787号公報に記載の方法などが知られている。
【0003】
MPEG4規格において、フレーム単位の符号量の時間変動は、仮想受信バッファVBV(Video Buffering Verifier)の範囲内で吸収できる範囲に制限されている。つまり、エンコーダ(符号化器)では、VBVバッファがアンダーフロー及びオーバーフローしないように、発生符号量を動的に制御する必要がある。MPEG4エンコーダでは、通常、量子化ステップの制御とフレームスキップの制御により発生符号量の制御を行っている。固定ビットレートの符号化においては、VBVバッファのオーバーフローについては、通常、スタッフィング処理により回避される。また、可変ビットレートの符号化においては、VBVバッファのオーバーフローは、VBVモデル上発生せず、スタッフィングは不要となっている。
【0004】
一方、VBVバッファのアンダーフローについては、固定ビットレートまたは可変ビットレートの如何を問わず、エンコーダでの適切な符号量制御によって発生を防がなければならない。VBVバッファのアンダーフローを防ぐ具体的な方法については、規格上は規定されておらず、エンコーダ独自の制御の実装が必要とされている。通常、VBVバッファのアンダーフローを防ぐためには、VBVバッファの占有量が低下したとき、フレームスキップを予め多く発生させたり、或いは量子化制御を急激に変化させて発生符号量を抑える処理などが行われるが、その結果、符号化画像の画質劣化を招く場合がある。
【0005】
MPEG4規格に沿って符号化された動画像符号化データは、関連する音声データと共にパケット多重化されることが一般的である。例えば、データ放送規格であるARIB STD−B24((社)電波産業会)などでは、MPEG4動画像符号化データをMPEG2−TS(トランスポートストリーム)(ISO/IEC13818−1)により、パケット多重化する方式が採用されている。このMPEG2−TSでは、アクセスユニットと呼ばれる単位毎にタイムスタンプを付与して多重化を行うことで、再生側での同期を保証する。このようなMPEG2−TSの規格においては、アクセスユニットのタイムスタンプのインターバルは、0.7秒(700msec)以内にすることが規定されている。なお、動画像では符号化フレームがアクセスユニットの単位となる。
【0006】
上述したようなVBVの破綻を防ぐためのフレームスキップ制御を行うにあたり、連続するフレームの間隔が0.7秒を超えてしまうと、MPEG2−TS多重化規格での規格違反を発生させてしまう場合がある。逆に、上記最大フレーム間隔の制限の下、フレームレートの制御が制約を受けると、特に低ビットレート符号化時に画質劣化を引き起こす場合がある。
【0007】
【発明が解決しようとする課題】
上述したように、従来、MPEG4エンコーダ等において、VBVバッファのアンダーフローを防ぐための量子化制御及びフレームレート制御により、画質劣化を引き起こすという問題点がある。また、MPEG4の動画像データをMPEG2−TSに従い多重化する場合、最大アクセスユニットインターバルの制限から任意のフレームスキップ制御が困難になり、特に低ビットレート符号化時において画質劣化を招くという問題点がある。
【0008】
本発明は、このような事情を考慮してなされたものであり、最大フレーム間隔に制限がある場合においても、画質劣化を伴わず、且つVBVの制限を確実に満たすことが可能な、高画質で高能率な動画像符号化及び動画像音声多重化を実現することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【0010】
本発明の請求項1に係る動画像符号化方法は、入力した動画像信号から少なくとも1枚のフレームを符号化して符号化フレームを生成する処理を可変のフレームレートで行う動画像符号化方法において、直前に符号化されたフレームから現在のフレームまでの経過時間を算出するステップと、前記経過時間が所定の時間を超えたか否かを判定するステップと、前記経過時間が所定の時間を超えた場合に、符号化データを伴わないヘッダデータを出力するステップと、前記経過時間が所定の時間を超えない場合に、前記フレームレートの変更のために前記符号化フレームの生成処理をスキップするステップとを具備することを特徴とする。
【0011】
本発明の請求項4に係る動画像音声多重化方法は、上記動画像符号化方法に従い符号化された動画像の符号化データと当該動画像に関係する音声の符号化データとを多重化して多重化データを出力する動画像音声多重化方法において、前記動画像符号化データのヘッダデータに基づいてタイムスタンプを生成するステップと、前記動画像の符号化データ及び前記音声の符号化データをそれぞれパケット化するステップと、パケット化された前記動画像の符号化データ及び音声の符号化データのそれぞれのヘッダデータに前記タイムスタンプをセットすると共に多重化するステップとを具備することを特徴とする。
【0012】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0013】
図1は、本発明の第一の実施形態に係わる動画像符号化の処理の流れを示すフローチャートである。第一の実施形態に係わる動画像符号化の処理では、動画像信号を1フレームづつ順次入力する。そして、入力した当該フレームについて、MPEG4などの符号化方式に従い符号化して符号化データを出力するか、あるいはこれを符号化せずにスキップし、次の入力フレームを待つ。この2つの動作のうちのいずれかを入力フレーム毎に繰り返し行う。後述する実施形態を含め、本発明に係わる動画像符号化の処理は、論理回路等から成る動画像符号化装置として、あるいはコンピュータに当該処理を実行させる動画像符号化プログラムとして実現される。
【0014】
MPEG4の規格では、フレームスキップを実現するため、符号化された動画像フレーム毎に挿入されるVOP(Video Object Plane)ヘッダに、vop_time_incrementとvop_codedというフラグが含まれている。前者は、直前に符号化されたフレームからの時間間隔を表し、また、後者の値が0の場合、ヘッダのみで符号化データが存在しないことを示すものである。vop_time_incrementに大きな値を設定すれば、その間のフレームがスキップしたことを示し、また、vop_codedが0であればそのフレームがスキップされてヘッダのみを送出したことを示す。MPEG4のフレームスキップは、上記何れかの方法で実現される。ただし、後者の方法では、フレームスキップ時においてもVOPヘッダが送出される分、オーバーヘッドが発生することになる。本発明の実施形態では、このオーバーヘッドによる不効率を解消する。
【0015】
図1を参照するに、符号化が開始されると、最初に入力される動画像フレームのタイムスタンプTS0を取得する(ステップS1)。次に、符号化すべき動画像フレームのタイムスタンプTS1を取得する(ステップS2)。最初のフレームでは、TS0とTS1は同一である。
【0016】
次に、TS1とTS0を比較し、その差が0.7秒以上であるか否かを判定する(ステップS3)。ここで、TS1とTS0との差が0.7秒以上であった場合、ヘッダデータの生成及び出力を行う(ステップS4)。ここで、MPEG4の符号化方式に従う本実施形態の場合、フレームデータに対しVOPヘッダを生成、挿入し、かつVOPヘッダ内のvop_codedフラグを0とする。さらに、VOPヘッダ内に含まれ、そのフレームの時刻情報を表すデータエレメントであるmodulo_time_baseおよびvop_time_incrementについては、TS0からの差分が0.7秒を超えないようにTS1より前の時刻に相当する値を設定する。
【0017】
MPEG4の規格においては、vop_codedフラグが1である場合、VOPヘッダ以下に1フレーム分の符号化データが続くことを示す。一方、vop_codedフラグが0の場合はVOPヘッダのみが存在することを示し、そのフレームの符号化データは送信されず、受信側では直前に復号したフレームを表示すると規定されている。これにより、vop_codedフラグを0とすることで、1フレーム分のダミーの符号化データとして、ヘッダデータのみを送ることが可能である。
【0018】
次に、現在の入力フレーム(タイムスタンプがTS1のフレーム)について、これを符号化するべきか、それとも符号化をスキップするべきかの判断を行う(ステップS5)。フレームスキップ決定の具体的な実施形態については後述する。ステップS5において、入力フレームを符号化せずにスキップすると判断した場合、当該入力フレームを破棄し、次の入力フレームに対してステップS2からの処理を継続する。一方、ステップS5において入力フレームを符号化すると判断した場合は、現在の入力フレーム(タイムスタンプがTS1のフレーム)に対するVOPヘッダを、vop_codedを1として生成及び出力する(ステップS6)。続いて、現在の入力フレームの符号化を行い、符号化データを生成及び出力する(ステップS7)。そして、現在の入力フレームのタイムスタンプTS1をTS0として保存し(ステップS8)、次の入力フレームに対してステップS2からの処理を継続する。
【0019】
MPEG2−TSの多重化規格では、アクセスユニットのデコード時刻DTS(Decoding Time Stamp)、および表示時刻を示すタイムスタンプPTS(Presentation Time Stamp)が定義されている。動画像の場合、1フレームが1アクセスユニットに相当する。タイムスタンプ間の最大インターバルは0.7秒と規定されている。そして本実施形態は、例えば、フレームレート可変の符号化が可能なMPEG4動画像符号化データを、MPEG2−TSのようなアクセスユニットの最大インターバル制限の下で多重化する場合に有効である。
【0020】
本実施形態は、アクセスユニットのインターバルが所定時間を下回っている場合、ヘッダデータすら生成せずに、全く符号化データが発生しないフレームスキップを行う。一方、インターバルが0.7秒を超えた場合は、ダミーのヘッダのみを出力する。このような構成とすることで、オーバーヘッドの符号量(つまり、ここではヘッダデータが相当する)を最小限に抑え、アクセスユニットの最大インターバルの制限の下、実質的に任意の符号化フレームレートでの動画像符号化を実現する。
【0021】
動的且つ任意にフレームレートを制御することが可能になれば、入力画像の性質にあわせてフレームレートを適切に制御することが可能となる。これは、固定フレームレートでの符号化と比べて、安定且つ高画質な符号化画像を得ることが可能になることを意味する。特に、低ビットレートで符号化を行うにあたり、入力画像の解像度が高い、あるいは動きが激しい場合等に、所定の符号化ビットレートおよび画質を維持するためフレームレートを下げる必要が生じても、MPEG2−TSでの多重化での制約を容易に満たすことが可能となる。なお、本発明は、MPEG4動画像符号化や、MPEG2−TS多重化に限定されるものではなく、フレームレート可変の符号化が可能な任意の符号化方式において、システム上の制約でタイムスタンプの最大インターバルが制限された動画像符号化において有効である。
【0022】
ここで、本発明の実施形態に適用されるフレームスキップの制御について、図2乃至図7を参照し、三例ほど説明する。
【0023】
図2および図3は、第一のフレームスキップ制御を説明する図およびその処理の流れを示すフローチャートである。図2は、MPEG動画像符号化規格で規定されるVBVバッファの動作を、固定ビットレート符号化を行っている場合について示している。縦軸はVBVバッファの占有量、横軸は時刻である。図中の10,11,12,13は、各動画像フレームの発生符号量を示しており、各フレームのデコード時刻において、各フレームの符号化データ量に相当するバイト数がVBVバッファから瞬時に抜き取られるというモデルである。また、各フレームのデコード時刻から、次のフレームのデコード時刻までの間は、固定のビットレートでVBVバッファの占有量が増加する。このVBVモデルの挙動は、MPEG1、MPEG2、MPEG4の動画像符号化規格でそれぞれ規定されている。
【0024】
本発明の実施形態に係わる動画像符号化では、符号化と同時にVBVバッファ占有量を逐次計算し、フレームスキップの制御を行う。図2および図3を参照して具体的な処理の流れを説明する。まず、図2におけるフレーム11の符号化開始時点におけるVBVの占有量は、図中のT11である。フレーム11の符号化が完了すると、フレーム11の発生符号量をT11から減じ、VBVバッファ占有量は図中のB11の点になる。次に、フレーム11から次の入力フレーム12までの間、固定のビットレートで、図中T12の点までVBVバッファ占有量を増加させる。
【0025】
ここで、次の入力フレーム12に対する入力フレームのアクティビティを計算する(図3のフローチャートにおけるS11)。アクティビティは、フレーム内符号化画像の場合は画像信号のフレーム内の分散等を用い、また、フレーム間符号化の場合は、フレーム間差分信号に対する分散等を用いる。次に、ステップS11で求めたアクティビティと、直前に符号化したフレーム(ここではフレーム11)のアクティビティと発生符号量と用いて、フレーム12の発生符号量を予測する(ステップS12)。次に示す式1は、発生符号量予測の例を示している。
E(n+1) = G(n)×A(n+1)/A(n)...(式1)
ここで、G(n)はn番目の符号化フレームの発生符号量、A(n),A(n+1)はn番目およびn+1番目のフレームのアクティビティ、E(n+1)はn+1番目のフレームの発生符号量予測値である。
【0026】
次に、ステップS12で得られたフレーム12の発生符号量予測値を図2のT12のVBV占有量から減じたB12を計算し(ステップS13)、VBVバッファでアンダーフローが発生するかどうかの予測を行う(ステップS14)。図2の例では、12で示した点線がフレーム12の予測符号量を示しており、B12においてVBV占有量が負となり、VBVバッファのアンダーフローが予測されたこととなる。ステップS14においてVBVバッファのアンダーフローが予測された場合、そのフレーム(ここではフレーム12)をスキップとして符号化せずに破棄する。そして、次の入力フレーム(ここではフレーム13)までの期間分だけ固定ビットレートでVBVバッファの占有量を増加させ(図3のステップ17)、フレーム13について、ステップS11からの処理を継続する。
【0027】
一方、ステップ14においてVBVバッファのアンダーフローが予測されなかった場合には、入力フレームを通常どおり符号化及び出力し(ステップS15)、その発生符号量をVBVバッファから減じる(ステップS16)。さらに、次の入力フレームまでの期間分だけ固定ビットレートでVBVバッファの占有量を増加させ(ステップ17)、次の入力フレームについて、ステップS11からの処理を継続する。
【0028】
以上のような第一のフレームスキップ制御によれば、入力フレームを符号化する前に、入力フレームのアクティビティから発生符号量予測を行うので、これに基づいてVBVのアンダーフローを予測できる。したがって、未然にVBVアンダーフローを抑制し、スムーズなフレームスキップ制御を実現することが可能となる。
【0029】
図4および図5は、本発明の実施形態に係わる第二のフレームスキップ制御を説明する図およびその処理の流れを示すフローチャートである。図4は、図2と同様にVBVバッファの変化例を示している。第二のフレームスキップ制御では、入力フレームのアクティビティに基づいたVBVアンダーフローの予測は行わず、1フレーム符号化後にVBVアンダーフローチェックを行い、このときにVBVアンダーフローが発生した場合には、その1フレーム分の符号化データを破棄するというものである。図4において、入力フレーム22の符号化直前のVBV占有量がT22であり、まずフレーム22の符号化を行う。これは、図5におけるステップS21に対応する。次に、フレーム22を符号化した発生符号量をT22から減じてVBV占有量B22を求める(ステップS22)。次に、1フレーム符号化後のVBVアンダーフローのチェックを行い(ステップS23)、VBV占有量が負の値になった場合、その1フレーム分(ここではフレーム22)の符号化データをすべて破棄し(ステップS24)、破棄したフレーム発生符号量分だけVBV占有量を加算して(ステップS24)、破棄されたフレームの符号化直前のVBV占有量まで戻し(ここではT22)、そこから次の入力フレーム(ここではフレーム23)までの期間分だけVBVバッファ占有量を固定ビットレートで増加させる(図5のステップS26)。そのVBV占有量(ここではT23)から、次のフレームの符号化を継続する。一方、ステップS23においてVBVアンダーフローが発生しない旨が判定された場合は、ステップS21の符号化データを有効データとして出力し、次の入力フレームまでの期間分だけVBVバッファ占有量を固定ビットレートで増加させ(ステップS26)、次の入力フレームの符号化を継続する。
【0030】
以上のような第二のフレームスキップ制御によれば、入力フレームを符号化した結果、VBVアンダーフローが発生してしまった場合でも、1フレーム分の符号化データを破棄することにより、VBVアンダーフローの発生をキャンセルすることが可能となり、VBV規格に則った確実な処理を実現できる。
【0031】
図6および図7は、第三のフレームスキップ制御を説明する図およびその処理の流れを示すフローチャートである。図6は、図2および図4と同様にVBVバッファの変化例を示している。第三のフレームスキップ制御は、上述した第一のフレームスキップ制御を行い、しかる後に続けて第二のフレームスキップ制御を行う構成とするものである。すなわち、入力フレームの符号化前に、入力フレームのアクティビティを計算し(図7のステップS31)、入力フレームの発生符号量を予測する(ステップS32)。図6において、32aが入力フレーム32に対する予測符号量を示している。予測符号量に基づいて予測したVBV占有量(ステップS33)から、VBVアンダーフローが予測される場合(ステップS34)、そのフレームをスキップする。VBVアンダーフローが予測されない場合は、そのフレームの符号化を行う(ステップS35)。符号化を行った結果の発生符号量から、VBV占有量を更新し(ステップS36)、VBVのアンダーフローチェックを行い(ステップS37)、VBVアンダーフローが発生した場合は、その1フレーム分の符号化データを破棄し(ステップS38)、VBV占有量を符号化直前のレベルに戻し(ステップS39)、次の入力フレームまでの期間分、固定ビットレートでVBVバッファ占有量を増加させる(ステップS40)。また、1フレーム符号化後にVBVバッファアンダーフローが発生しなかった場合は、1フレーム分の符号化データを有効データとして出力し、次の入力フレームまでの期間分、固定ビットレートでVBVバッファ占有量を増加させる(ステップS40)。
【0032】
以上のような第三のフレームスキップ制御によれば、第一のフレームスキップ制御により未然にVBVアンダーフローを抑制してスムーズなフレームスキップ制御を実現することが可能となり、さらに第二のフレームスキップ制御により、第一のフレームスキップ制御の予測符号量と実際の発生符号量とに誤差が生じて1フレーム符号化後にVBVバッファがアンダーフローしてしまった場合でも、1フレーム分の符号化データを破棄することでVBVアンダーフローの発生をキャンセルすることが可能となり、VBV規格により確実に則った処理を実現できる。
【0033】
(第二の実施形態)
図8は本発明の第二の実施形態に係わる動画像符号化モジュールの概略構成を示すブロック図である。この動画像符号化モジュールはハードウェア、ソフトウェア、又は両者の組み合わせのいずれかにより実現される。図8において、40は動画像を符号化する主たる処理を担うコアモジュール、41はフレームスキップ及び符号化ビットレートの制御を行うレート制御モジュール、42は全体の符号化制御を行うコントロールモジュールを示している。図9は本発明の第二の実施形態に係わる動画像符号化モジュールにおいて実現される動画像符号化の制御の流れを示すフローチャートである。
【0034】
コントロールモジュール42からの指令により符号化が開始されると、まず各制御変数を初期化し(ステップS50)、時刻変数tsに最も近い入力フレームのタイムスタンプTSを得る(ステップS51)。時刻変数tsは、任意の時刻を表現するが、タイムスタンプTSは、入力フレームのフレーム周期で丸められた値となる。次に、符号化境界点の条件を満たすかどうかの判断を行う(ステップS52)。符号化境界点の条件は、最初の符号化フレーム、所定のインターバル経過、あるいはシーンチェンジ検出などである。シーンチェンジを境界点条件とする場合は、入力動画像信号のシーンチェンジ検出も併せて行う。
【0035】
符号化境界点条件を満たす場合は境界フラグClflagを有効(true)にし(ステップS53)、満たさない場合はフラグは変更しない。次に、ステップS51で求めたタイムスタンプTSと直前に符号化されたフレームのタイムスタンプPrevCodedTSとの差が0.7秒を超えるかどうかの判断を行う(ステップS54)。
【0036】
この差が0.7秒を超える場合は、vop_codeを0とし、かつタイムスタンプを、直前にスキップされたフレームのタイムスタンプPrevSkippedTS(これは後述するステップS69で設定される)としてVOPヘッダを生成し(ステップS71)、このVOPヘッダデータを出力する(ステップS72)。動画像符号化コアモジュール40がローカルデコード画像の表示を行う場合は、直前に符号化されたフレームのローカルデコード画像の出力を行う(ステップS73)。そして、タイムスタンプPrevCodedTSを、直前にスキップされたフレームのタイムスタンプPrevSkippedTSに置き換え(ステップS74)、また、次に符号化するフレームの時刻変数tsとして、PrevSkippedTSに1フレーム加算したものを設定し(ステップS75)、ステップS51へ戻る。
【0037】
一方、ステップS54の条件を満たさない場合は、レート制御モジュール41に符号化フレームのタイムスタンプTSを通知し(ステップS55)、境界フラグClflagが有効か否かの判断を行う(ステップS56)。この境界フラグClflagが有効の場合はランダムアクセスを実現するためのヘッダデータの生成を行い(ステップS57)、現在の入力フレームの符号化タイプをI−VOP(フレーム内符号化)に設定する(ステップS58)。一方、境界フラグClflagが無効の場合は、現在の入力フレームの符号化タイプをP−VOP(フレーム間符号化)に設定する(ステップS59)。
【0038】
次に、決定された符号化タイプをレート制御モジュール41に通知し(ステップS60)、動画像符号化コアモジュール40に対し、現在の入力フレームに関する上記の符号化タイプとタイムスタンプTSとを通知するとともに符号化の実行を指示する(ステップS61)。
【0039】
符号化の終了後は、VBVのアンダーフローが発生したかどうかの判断を行う(ステップS62)。アンダーフローが発生していない場合は、符号化した1フレーム分のデータを出力し(ステップS63)する。動画像符号化コアモジュール40がローカルデコード画像の表示を行う場合は、現在のフレームに対するローカルデコード画像を生成して出力する(ステップS64)。次に、境界フラグClflagを無効に変更し(ステップS65)、タイムスタンプPrevCodedTSの更新を行う(ステップS66)。そして、次に符号化するフレームの時刻変数tsをレート制御モジュール41から取得し(ステップS70)、ステップS51へ戻る。ここで、時刻変数tsは、次の入力フレームのアクティビティに応じて、VBVアンダーフロー予測を行い、次に符号化すべきフレームの時刻変数tsを決定するものである。
【0040】
一方、ステップS62においてVBVアンダーフローの発生が検出された場合は、境界フラグClflagが有効か否かの判断を行う(ステップS67)。同フラグが有効の場合はステップS57で生成したランダムアクセスを実現するためのヘッダデータをすべて破棄し(ステップS68)、VBVアンダーフローによりスキップされたフレームのタイムスタンプPrevSkippedTSの更新を行う(ステップS69)。次に、VBVアンダーフローが発生しなかった場合と同様に、次に符号化するフレームの時刻変数tsをレート制御モジュール41から取得(ステップS70)した後、ステップS51へ戻る。
【0041】
以上説明した第二の実施形態の構成は、上述した本発明の第一の実施形態を基礎としており、さらに具体的な実現に向けて、フレーム内符号化フレームとフレーム間符号化フレームとの切り替え制御処理、およびランダムアクセスのためのヘッダ挿入処理が追加された構成である。このような第二の実施形態においても、本発明の第一の実施形態と同様の作用効果を奏する。
【0042】
(第三の実施形態)
次に、本発明の第三の実施形態に係わる動画像音声多重化装置を説明する。図10は、同第三の実施形態に係わる動画像音声多重化装置の概略構成および同装置における信号処理の流れを示すブロック図である。この装置は、動画像信号および音声信号を入力し、それぞれの符号化を行い、符号化された動画像データおよび音声データを多重化して出力するものである。
【0043】
動画像信号100は、動画像符号化部101により1フレームづつ符号化され、符号化データ102として出力される。動画像符号化部101は、上述した第一の実施形態あるいは第二の実施形態に従って構成される。ヘッダ解析部103は、符号化された動画像データ102のヘッダに含まれるタイムスタンプ情報を解釈する。タイムスタンプ生成部104は、ヘッダ解析部103による解釈結果をもとに多重化レイヤで用いられるタイムスタンプPTSまたはDTSの生成を行う。
【0044】
また、符号化された動画像データ102は、タイムスタンプ生成部104において生成された多重化レイヤのタイムスタンプとともにパケット化部105によりパケット化される。パケット化された動画像データは、同様に符号化およびパケット化された音声データとともに多重化部106により多重化され、動画像音声データ107として出力される。
【0045】
ここで、動画像符号化部101は、たとえばMPEG4動画像符号化規格に基づくものとし、また、音声符号化部111は、たとえばMPEG音声符号化規格に基づくものとする。また、多重化部106は、MPEG2−TS規格の基づくものであるとする。既に説明した通り、MPEG2−TSは、0.7秒以内のタイムスタンプのインターバルを保証する必要がある。
【0046】
このような本発明の第三の実施形態によると、動画像符号化部101は、上述した本発明の第一の実施形態あるいは第二の実施形態に基づいて構成されている。したがって、MPEG2−TSの条件を満たしつつ効率的に、かつ、フレームレートを可変としながら高画質の符号化を実現することができる。
【0047】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。例えば、直前に符号化された入力動画像フレームと現在のフレームとの時間間隔(インターバル)について、実施形態ではMPEG2−TS規格を例にあげて0.7秒を守ることとして説明したが、本発明はこの0.7秒(700msec)に限定されないことは言うまでもない。
【0048】
以上説明した本発明の実施形態によれば、任意のフレームレートでの符号化が可能な動画像符号化において、アクティビティを用いた事前のフレームスキップの決定及び1フレーム符号化後の1フレーム符号化データの破棄によるVBVアンダーフロー回避により、安定したフレームレートの制御とVBVの制限との両立が可能となる。また、フレームスキップの間隔が一定時間を超える場合にのみフレームのヘッダを送出するようにしているので、任意のフレームレート制御と、多重化等の制約から要求されるタイムスタンプ最大間隔の制限に対処する処理とを両立させることができ、オーバーヘッドを最小化できる。従って、フレームレートの動的且つ適切な制御が可能となり、また符号化オーバーヘッドの削減により、符号化ビットレートを増加させることなく、安定して高画質かつ高能率な動画像符号化を実現できる。
【0049】
【発明の効果】
以上説明したように、本発明によれば、最大フレーム間隔に制限がある場合においても、画質劣化を伴わず、且つVBVの制限を確実に満たすことが可能な、高画質で高能率な動画像符号化の方法、装置及びプログラム、並びに動画像音声多重化の方法、装置及びプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態に係わる動画像符号化の処理の流れを示すフローチャート
【図2】第一の実施形態に係わる第一のフレームスキップ制御を説明する図
【図3】第一の実施形態に係わる第一のフレームスキップ制御の流れを示すフローチャート
【図4】第一の実施形態に係わる第二のフレームスキップ制御を説明する図
【図5】第一の実施形態に係わる第二のフレームスキップ制御の流れを示すフローチャート
【図6】第一の実施形態に係わる第三のフレームスキップ制御を説明する図
【図7】第一の実施形態に係わる第三のフレームスキップ制御の流れを示すフローチャート
【図8】本発明の第二の実施形態に係わる動画像符号化モジュールの概略構成を示すブロック図
【図9】本発明の第二の実施形態に係わる動画像符号化モジュールにおいて実現される動画像符号化の制御の流れを示すフローチャート
【図10】本発明の第三の実施形態に係わる動画像音声多重化装置の概略構成および同装置における信号の流れを示すブロック図
【符号の説明】
S1…初期タイムスタンプ取得ステップ
S2…タイムスタンプ取得ステップ
S3…タイムスタンプ比較ステップ
S4…VOPヘッダ生成ステップ
S5…フレームスキップ判定ステップ
S6…VOPヘッダ生成ステップ
S7…1フレーム符号化ステップ
S8…タイムスタンプ更新ステップ
100…動画像信号
101…動画像符号化部
100…音声信号
101…音声符号化部
103,113…ヘッダ解析部
104…タイムスタンプ生成部
105,115…パケット化部
106…多重化部
Claims (6)
- 入力した動画像信号から少なくとも1枚のフレームを符号化して符号化フレームを生成する処理を可変のフレームレートで行う動画像符号化方法において、
現在のフレームが、フレーム内符号化すべきフレームであることを示す符号化境界条件を満たすか否かを判定するステップと、
直前に符号化されたフレームの時刻又は直前に符号化されたタイムスタンプの時刻から前記現在のフレームまでの経過時間を算出するステップと、
前記経過時間が所定の時間を超えたか否かを判定するステップと、
前記経過時間が所定の時間を超えた場合に、符号化されたタイムスタンプを含み且つ符号化データを伴わないヘッダデータを出力するステップと、
前記経過時間が所定の時間を超えていない場合に、前記現在のフレームが符号化境界条件を満たすか否かに応じて前記現在のフレームの符号化タイプをフレーム内符号化とフレーム間符号化のいずれかに設定するステップと、
前記符号化タイプに従って前記現在のフレームを符号化することにより符号化データを生成するステップと、
前記符号化データのスキップ判定を行うステップと、
前記スキップ判定の結果に従って、前記符号化データを出力するか、又は該符号化データの出力をスキップするステップとを具備することを特徴とする動画像符号化方法。 - 前記符号化データのスキップ判定を行うステップは、
仮想受信バッファの占有量を計算するステップと、
前記占有量から前記仮想受信バッファのアンダーフローの有無を判定するステップとを含むことを特徴とする請求項1に記載の動画像符号化方法。 - 請求項1又は2に記載の動画像符号化方法に従い符号化された動画像の符号化データと当該動画像に関係する音声の符号化データとを多重化して多重化データを出力する動画像音声多重化方法において、
前記動画像符号化データのヘッダデータに基づいてタイムスタンプを生成するステップと、
前記動画像の符号化データ及び前記音声の符号化データをそれぞれパケット化するステップと、
パケット化された前記動画像の符号化データ及び音声の符号化データのそれぞれのヘッダデータに前記タイムスタンプをセットすると共に多重化するステップとを具備することを特徴とする動画像音声多重化方法。 - 入力した動画像信号から少なくとも1枚のフレームを符号化して符号化フレームを生成する処理を可変のフレームレートで行う動画像符号化プログラムであって、
コンピュータに、
現在のフレームが、フレーム内符号化すべきフレームであることを示す符号化境界条件を満たすか否かを判定する手順と、
直前に符号化されたフレームの時刻又は直前に符号化されたタイムスタンプの時刻から前記現在のフレームまでの経過時間を算出する手順と、
前記経過時間が所定の時間を超えたか否かを判定する手順と、
前記経過時間が所定の時間を超えた場合に、符号化されたタイムスタンプを含み且つ符号化データを伴わないヘッダデータを出力する手順と、
前記経過時間が所定の時間を超えていない場合に、前記現在のフレームが符号化境界条件を満たすか否かに応じて前記現在のフレームの符号化タイプをフレーム内符号化とフレーム間符号化のいずれかに設定する手順と、
前記符号化タイプに従って前記現在のフレームを符号化することにより符号化データを生成する手順と、
前記符号化データのスキップ判定を行う手順と、
前記スキップ判定の結果に従って、前記符号化データを出力するか、又は該符号化データの出力をスキップする手順とを実行させる動画像符号化プログラム。 - 入力した動画像信号から少なくとも1枚のフレームを符号化して符号化フレームを生成する処理を可変のフレームレートで行う動画像符号化装置において、
現在のフレームが、フレーム内符号化すべきフレームであることを示す符号化境界条件を満たすか否かを判定する手段と、
直前に符号化されたフレームの時刻又は直前に符号化されたタイムスタンプの時刻から前記現在のフレームまでの経過時間を算出する手段と、
前記経過時間が所定の時間を超えたか否かを判定する手段と、
前記経過時間が所定の時間を超えた場合に、符号化されたタイムスタンプを含み且つ符号化データを伴わないヘッダデータを出力する手段と、
前記経過時間が所定の時間を超えていない場合に、前記現在のフレームが符号化境界条件を満たすか否かに応じて前記現在のフレームの符号化タイプをフレーム内符号化とフレーム間符号化のいずれかに設定する手段と、
前記符号化タイプに従って前記現在のフレームを符号化することにより符号化データを生成する手段と、
前記符号化データのスキップ判定を行う手段と、
前記スキップ判定の結果に従って、前記符号化データを出力するか、又は該符号化データの出力をスキップする手段とを具備することを特徴とする動画像符号化装置。 - 請求項5に記載の動画像符号化装置により符号化された動画像の符号化データと当該動画像に関係する音声の符号化データとを多重化して多重化データを出力する動画像音声多重化装置において、
前記動画像符号化データのヘッダデータに基づいてタイムスタンプを生成する生成手段と、
前記動画像の符号化データ及び前記音声の符号化データをそれぞれパケット化するパケット化手段と、
パケット化された前記動画像の符号化データ及び音声の符号化データのそれぞれのヘッダデータに前記タイムスタンプをセットすると共に多重化する多重化手段とを具備することを特徴とする動画像音声多重化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001312985A JP3836701B2 (ja) | 2001-10-10 | 2001-10-10 | 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001312985A JP3836701B2 (ja) | 2001-10-10 | 2001-10-10 | 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003125400A JP2003125400A (ja) | 2003-04-25 |
JP3836701B2 true JP3836701B2 (ja) | 2006-10-25 |
Family
ID=19131547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001312985A Expired - Fee Related JP3836701B2 (ja) | 2001-10-10 | 2001-10-10 | 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3836701B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005080004A (ja) * | 2003-09-01 | 2005-03-24 | Sony Corp | 動画像符号化装置 |
JP4542924B2 (ja) * | 2005-03-04 | 2010-09-15 | 株式会社東芝 | デジタル放送信号送出装置及びこのデジタル放送信号送出装置の制御方法 |
FR2898757A1 (fr) * | 2006-03-14 | 2007-09-21 | Canon Kk | Procede et dispositif d'adaptation d'une frequence temporelle d'une sequence d'images video |
RU2534370C2 (ru) * | 2010-05-06 | 2014-11-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ и устройство управления кодированием видео |
US9179165B2 (en) | 2010-05-07 | 2015-11-03 | Nippon Telegraph And Telephone Corporation | Video encoding control method, video encoding apparatus and video encoding program |
JP6300576B2 (ja) * | 2013-05-02 | 2018-03-28 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
JP7523134B2 (ja) | 2021-07-30 | 2024-07-26 | サイレックス・テクノロジー株式会社 | 送信機及び通信システム |
-
2001
- 2001-10-10 JP JP2001312985A patent/JP3836701B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003125400A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6289129B1 (en) | Video rate buffer for use with push dataflow | |
US6324217B1 (en) | Method and apparatus for producing an information stream having still images | |
KR100557103B1 (ko) | 데이터 처리방법 및 데이터 처리장치 | |
JP4729570B2 (ja) | トリックモードおよび速度移行 | |
US6188700B1 (en) | Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers | |
JP2004507178A (ja) | ビデオ信号符号化方法 | |
US20090214178A1 (en) | Reproduction Apparatus, Video Decoding Apparatus, and Synchronized Reproduction Method | |
JPH11225168A (ja) | 画像・音声送信装置、画像・音声受信装置、データ処理装置、及びデータ処理方法、並びに、波形データの送信方法、装置、及び波形データの受信方法、装置、並びに、動画像の送信方法、装置、及び動画像の受信方法、装置 | |
US20060239563A1 (en) | Method and device for compressed domain video editing | |
JP4983917B2 (ja) | 動画像配信システム、変換装置および動画像配信方法 | |
JPH11252552A (ja) | ビデオ信号の圧縮符号化方法及び圧縮符号化装置、並びに、圧縮符号化データの多重化方法及び多重化装置 | |
KR19990007312A (ko) | 디지털 신호 부호화 방법 및 장치, 신호 기록 매체 및 신호 전송 방법 | |
JP4853647B2 (ja) | 動画像変換方法、動画像変換装置、動画像変換システムおよびサーバ装置並びにプログラム | |
US20050094965A1 (en) | Methods and apparatus to improve the rate control during splice transitions | |
JPH10336670A (ja) | 画像伝送装置および画像伝送方法、提供媒体 | |
JP3836701B2 (ja) | 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置 | |
JP4447443B2 (ja) | 画像圧縮処理装置 | |
JP2003023639A (ja) | データ伝送装置及び方法、データ伝送プログラム、並びに記録媒体 | |
KR101371507B1 (ko) | 저지연 영상 통신 시스템 및 방법 | |
JP2002094938A (ja) | データ処理方法及び装置、データ伝送システム、伝送媒体 | |
KR100530919B1 (ko) | 동화상 데이터의 처리 및 송수신 방법 및 장치 | |
JP3669277B2 (ja) | 符号化装置および符号化方法 | |
JP2001189933A (ja) | 復号化バッファ制御装置 | |
JP2004007461A (ja) | データ処理装置及びデータ処理方法 | |
KR100530920B1 (ko) | 화상 · 음성 송신장치 및 수신장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060612 |
|
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: 20060725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060727 |
|
LAPS | Cancellation because of no payment of annual fees |