JP2011004163A - 送信装置 - Google Patents
送信装置 Download PDFInfo
- Publication number
- JP2011004163A JP2011004163A JP2009145512A JP2009145512A JP2011004163A JP 2011004163 A JP2011004163 A JP 2011004163A JP 2009145512 A JP2009145512 A JP 2009145512A JP 2009145512 A JP2009145512 A JP 2009145512A JP 2011004163 A JP2011004163 A JP 2011004163A
- Authority
- JP
- Japan
- Prior art keywords
- video
- bitrate
- buffer
- size
- mpeg
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】MPEG2−TSシステムにおいて、TSビットレートが変わっても、受信側におけるデコード時のデータの不足を防ぐことができる送信装置。
【解決手段】MPEG2−TSシステムの送信装置100において、MPEG2−TS制御部120は、式(1)と式(2)に従って、MPEG_Videoエンコーダ130が得たMPEG_Videoデータのn番目のピクチャの受信側におけるデコード時刻DTS(n)を算出してMPEG2−TSマルチプレクサ150に供する。
DTS(n)=video_decode_start_time+tr(n)+dts_delay (1)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (2)
【選択図】図1
【解決手段】MPEG2−TSシステムの送信装置100において、MPEG2−TS制御部120は、式(1)と式(2)に従って、MPEG_Videoエンコーダ130が得たMPEG_Videoデータのn番目のピクチャの受信側におけるデコード時刻DTS(n)を算出してMPEG2−TSマルチプレクサ150に供する。
DTS(n)=video_decode_start_time+tr(n)+dts_delay (1)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (2)
【選択図】図1
Description
本発明は、送信技術、具体的には動画像を圧縮して多重化して送信する技術に関する。
MPEG2_Video(ISO/IEC13818−2)で圧縮された動画像データと、その動画像データに対応した圧縮音声データとを多重化して伝送する規格としてMPEG2−TSシステム(ISO/IEC13818−1)が知られている。現在ではMPEG2−TSシステムの拡張が行われており、H.264(ISO/IEC14496−10)などの動画像圧縮規格に対応した多重化も可能となっている。
MPEG2−TSシステムにおいて、送信装置は、通常、動画像を圧縮するエンコーダ(以下MPEG_Videoエンコーダ)と、MPEG_Videoエンコーダにより得られた圧縮動画像データ(以下MPEG_Videoデータという)と圧縮音声データとを多重化するマルチプレクサと、MPEG_Videoエンコーダとマルチプレクサ間に設けられたバッファ(以下MPEG_Videoバッファという)とを備える。
MPEG_Videoエンコーダは、動画像を圧縮してMPEG_Videoデータを得る。MPEG_Videoバッファは、MPEG_Videoエンコーダから出力されたMPEG_Videoデータを一時的に格納する。マルチプレクサは、MPEG_Videoバッファに格納されたMPEG_Videoデータと圧縮音声データとを多重化して、TSビットレート(ts_bitrate)と呼ばれるビットレートで伝送路に送出する。なお、ts_bitrateは、伝送路上のノイズや他のデータとの競合などに応じて変動する場合がある。
また、MPEG_Videoエンコーダは、MPEG_Videoデータを生成する際に、各画像(ピクチャ)のデコードタイミングtrを算定する。具体的には、MPEG_VideoエンコーダがMPEG_Videoデータを生成する速度(以下video_bitrateという)と同じビットレートで、受信側のMPEG_Videoエンコーダが受信したMPEG_Videoデータを処理し、かつ受信側のMPEG_Videoバッファがオーバーフローしないことを前提にデコードタイミングtrを算定する。なお、デコードタイミングtrは、MPEG_Videoデコーダが1枚目の画像のデコードを開始するデコード開始時刻(以下video_decord_start_time)からの相対時間である。
マルチプレクサは、多重化したデータを伝送路に送出する際に、MPEG_Videoエンコーダが算定したデコードタイミングtrに基づいて、受信側において当該画像のデコード時刻DTS(Decoding Time Stamp)を定義して付加する。
図4は、MPEG2−TSシステムにおいて、ts_bitrateに対応したMPEG_Videoデータのビットレートと、video_bitrateとが常に等しい場合のエンコード時刻とデコード時刻の例を示す。この例において、video_bitrateは、最大値のmax_video_bitrateである。また、図4を含む各図における「P」は画像を示す。
この場合、n番目の画像のデコード時刻DTS(n)は、下記の式(1)によって定義できる。
DTS(n)=video_decord_start_time+tr(n) (1)
DTS(n)=video_decord_start_time+tr(n) (1)
例えば、図4に示す例において、MPEG_Videoエンコーダが算定した7番目の画像のデコードタイミングはtr(7)である。マルチプレクサは、式(1)に従って7番目の画像のデコード時刻DTS(7)を「video_decord_start_time+tr(7)」と定義することで、受信側のMPEG_Videoデコーダは、MPEG_Videoエンコーダが算定したデコードタイミングtr(7)でデコードできる。
ところで、前述したように、伝送路の状態に応じてts_bitrateは可変である。そのため、ts_bitrateに対応したMPEG_Videoデータのビットレートも可変である。例えば、MPEG_Videoエンコーダがvideo_bitrate(0)でのエンコード中に、ある時刻tcでts_bitrateが変ると、MPEG_Videoエンコーダは、変った後のts_bitrateに対応したvideo_bitrate(video_bitrate(1))でエンコードをする。なお、図4は、video_bitrate(0)がvideo_bitrate(1)より高いビットレートである場合の例を示す。
時刻tcにおいて、MPEG_Videoバッファには、video_bitrate(0)でエンコードされたMPEG_Videoデータが存在している場合がある。このデータをQ(tc)とする。
データQ(tc)は、マルチプレクサにより、変更後のts_bitrateに対応したMPEG_Videoデータレート(video_bitrate(1))で送出される。すなわち、ts_bitrateの変化により、MPEG_VideoバッファにあるMPEG_Videoデータは、エンコード時のvideo_bitrateと異なるvideo_bitrateで伝送路に送出される。
図5は、時刻tcでts_bitrateに対応したMPEG_Videoデータのビットレートがmax_video_bitrateから、video_bitrateの最小値min_video_bitrateに変った場合のエンコード時刻とデコード時刻の例を示している。
図5に示すように、画像P1からP7まで、MPEG_Videoエンコーダはmax_bitrateでエンコードする。時刻tcでts_bitrateが変ると、MPEG_Videoエンコーダは、変更後のts_bitrateに対応したMPEG_Videoデータのビットレート(ここではmin_video_bitrate)でエンコードを行う。
時刻tcでMPEG_Videoバッファには、max_video_bitrateでエンコードされた画像P5、P6、P7が格納されている。これらのデータは、min_video_bitrateで伝送路に送出される。
そのため、デコード時刻DTS(7)において、受信側はまだ画像P7のデータの受信を完了していない。そのため、受信側のMPEG_Videoデコーダは、不十分なデータでデコードすることになり、画像が異常になる。
特許文献1には、符号化レートに合わせた速度で多重化処理を可能にする技術が開示されている。この技術は、MPEG_Videoデータから符号化レートの切替わりを検出し、符号化レートに対応した周波数クロックを発生してマルチプレクサに提供する。図6を参照して、この技術を適用したMPEG2−TSシステムにおけるエンコード時刻とデコード時刻の一例を説明する。なお、MPEG_Videoエンコーダによる符号化レートは、本明細書中でいうvideo_bitrateに対応すると考えられる。
図6に示すように、MPEG_Videoエンコーダは、画像P7までmax_video_bitrateでエンコードし、画像の内容の変化により時刻tcからmin_video_bitrateでエンコードを行う。
時刻tcにおいて、MPEG_Videoバッファには、max_video_bitrateでエンコードされたP5、P6、P7が格納されている。これらのデータからは、video_bitrateの切り替わりが検出されないため、マルチプレクサは、変更前の速度で多重化処理をする。そのため、P5、P6、P7は、エンコード時同様のmax_video_bitrateで送出される。
すなわち、特許文献1の技術によれば、video_bitrateが変っても、バッファに格納された、前のvideo_bitrateでエンコードされた画像は、エンコード時同様のvideo_bitrateで送出できる。
しかし、MPEG2−TSシステムにおける動画像の送信装置の用途においては、伝送路の状態例えば送信可能な速度に応じてts_bitrateを変更する必要がある。特許文献1の技術では、例えば、時刻tcでts_bitrateの変更が要求されたときに、要求されたts_bitrateでMPEG_Videoデータを送出するまで遅延(図中tc_delay)があり、即座にts_bitrateの変更に応じることができない。これでは、送信経路の伝送速度を確保することができず、データの欠落を引き起こす問題が生じうる。
本発明の一つの態様は、MPEG2−TSシステムにおける送信装置である。この送信装置は、圧縮部と、バッファと、マルチプレクサと、制御部とを備える。
圧縮部は、入力された動画像を圧縮して圧縮動画像データを生成して出力すると共に、圧縮動画像データに含まれる複数のピクチャ夫々に対して、該ピクチャが受信側でデコードされるタイミングtrを算定する。圧縮部は、制御部により指定されたビットレートと後述のバッファサイズに応じて圧縮と、タイミングtrの算定とを行う。
バッファは、圧縮部が生成して出力した圧縮動画像データを一時的に格納する。
マルチプレクサは、バッファから取り出した圧縮動画像データに含まれる複数のピクチャ夫々に対してデコード時刻DTSの付加を含む処理を行ったビデオストリームをMPEG2−TS形式に多重化して出力する。
マルチプレクサは、バッファから取り出した圧縮動画像データに含まれる複数のピクチャ夫々に対してデコード時刻DTSの付加を含む処理を行ったビデオストリームをMPEG2−TS形式に多重化して出力する。
制御部は、圧縮部が使用するバッファの上限値となる上記バッファサイズと、圧縮動画像データのビットレートとを圧縮部に指定すると共に、デコード時刻DTSを算出してマルチプレクサに供する。
制御部は、式(2)と式(3)に従って、n番目のピクチャに対してデコード時刻DTSを算出する。
DTS(n)=video_decode_start_time+tr(n)+dts_delay (2)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (3)
但し,video_decode_start_time:1番目のピクチャのデコード開始時刻
tr(n):圧縮部がn番目のピクチャに対して算定したデコードタイミング
video_buffer_size:制御部が圧縮部に対して指定したバッファサイズ
min_video_bitrate:ビデオストリームのデータレートが最小であるときの
圧縮動画像データのビットレート
max_video_bitrate:ビデオストリームのデータレートが最大であるときの
圧縮動画像データのビットレート
DTS(n)=video_decode_start_time+tr(n)+dts_delay (2)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (3)
但し,video_decode_start_time:1番目のピクチャのデコード開始時刻
tr(n):圧縮部がn番目のピクチャに対して算定したデコードタイミング
video_buffer_size:制御部が圧縮部に対して指定したバッファサイズ
min_video_bitrate:ビデオストリームのデータレートが最小であるときの
圧縮動画像データのビットレート
max_video_bitrate:ビデオストリームのデータレートが最大であるときの
圧縮動画像データのビットレート
なお、上記態様の装置を方法に置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラム、該装置を備えたMPEG2−TSシステムも、本発明の態様としては有効である。
本発明にかかる技術によれば、MPEG2−TSシステムにおいて、TSビットレートが変わっても、受信側におけるデコード時のデータの欠如を防ぐことができる。
以下、図面を参照しながら本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
図1は、本発明の実施の形態にかかる送信装置100を示す。送信装置100は、MPEG2−TSシステムにおいて、MPEG_Videoデータを生成し、圧縮音声データと多重化してMPEG2−TSデータを得て伝送路に送出するものであり、レート制御部110と、MPEG2−TS制御部120と、MPEG_Videoエンコーダ130と、MPEG_Videoバッファ140と、MPEG2−TSマルチプレクサ150を備える。
レート制御部110は、送信装置100のデータ送信レート(ts_bitrate)を制御する。伝送路において、ノイズや、他の送信データとの競合などの状態により、送信可能なts_bitrateは変化する場合がある。レート制御部110は、伝送路の状態を管理し、送信可能なts_bitrateをMPEG2−TS制御部120に指定する。
MPEG2−TS制御部120は、レート制御部110が指定したts_bitrateに応じて、MPEG_Videoエンコーダ130とMPEG2−TSマルチプレクサ150が使用するパラメータを夫々指定する。
MPEG2−TS制御部120がMPEG_Videoエンコーダ130に指定するパラメータは、ts_bitrateに対応したvideo_bitrateと、MPEG_Videoエンコーダ130が使用するバッファの上限値(バッファサイズ:video_buffer_size)である。また、MPEG2−TS制御部120がMPEG2−TSマルチプレクサ150に指定するパラメータは、ts_bitrateと、video_bitrateと、video_buffer_sizeの最大値(以下max_video_buffer_sizeという)、video_decord_start_timeと、各画像Pnのデコード時刻DTS(n)である。これらのパラメータの詳細については後述する。
MPEG_Videoエンコーダ130は、MPEG2−TS制御部120が指定したvideo_bitrateで動画像の圧縮を行ってMPEG_Videoデータを生成すると共に、MPEG2−TS制御部120が指定したバッファサイズを確保してMPEG_Videoデータを格納する。また、MPEG_Videoエンコーダ130は、圧縮された動画像に含まれる各画像Pnのデコードタイミングtr(n)を算定してMPEG2−TS制御部120に知らせる。MPEG_Videoエンコーダ130によるデコードタイミングtr(n)の算定は、通常のMPEG2−TSシステムの送信装置におけるMPEG_Videoエンコーダによるものと同様である。
MPEG2−TSマルチプレクサ150は、MPEG2−TS制御部120が指定したvideo_bitrateに応じて、MPEG_Videoバッファ140内のMPEG_VideoデータをMPEG2−TS形式のデータにマルチプレクスして伝送路に送出する。また、MPEG2−TSマルチプレクサ150は、マルチプレクスの際に、n番目の画像のMPEG_Videoデータの先頭に、n番目の画像のデコード時刻DTS(n)を付加する。MPEG2−TSマルチプレクサ150によるデコード時刻DTS(n)の定義の仕方については、後述する。
なお、MPEG2−TSマルチプレクサ150は、動画像のみならず、音声や送信内容の情報なども多重化するが、分かりやすいように、動画像と関連する内容以外の説明は、省略する。
ここで各パラメータの詳細について説明する。
レート制御部110が制御するts_bitrateは、伝送路へのデータ伝送中でも可変である。例えば、レート制御部110は、伝送路上のノイズが多いときにts_bitrateを低くする場合がある。
レート制御部110が制御するts_bitrateは、伝送路へのデータ伝送中でも可変である。例えば、レート制御部110は、伝送路上のノイズが多いときにts_bitrateを低くする場合がある。
MPEG2−TS制御部120は、下記の各パラメータを制御する。
1.min_video_bitrateとmax_video_bitrate
min_video_bitrateは、MPEG_Videoエンコーダ130が動画像をエンコードする際の最小ビットレートであり、max_video_bitrateは、MPEG_Videoエンコーダ130が動画像をエンコードする際の最大ビットレートである。この2つのパラメータは、MPEG_Videoエンコーダ130によるエンコード中において固定である。MPEG2−TS制御部120は、MPEG_Videoエンコーダ130の性能の範囲内で、min_video_bitrateとmax_video_bitrateを定義する。
1.min_video_bitrateとmax_video_bitrate
min_video_bitrateは、MPEG_Videoエンコーダ130が動画像をエンコードする際の最小ビットレートであり、max_video_bitrateは、MPEG_Videoエンコーダ130が動画像をエンコードする際の最大ビットレートである。この2つのパラメータは、MPEG_Videoエンコーダ130によるエンコード中において固定である。MPEG2−TS制御部120は、MPEG_Videoエンコーダ130の性能の範囲内で、min_video_bitrateとmax_video_bitrateを定義する。
2.video_bitrate
これは、MPEG_Videoエンコーダ130がエンコード中の実際のビットレートであり、下記の式(4)と式(5)を満たすことを条件に、エンコード中においても可変である。
video_bitrate≦TS_bitrate−MPEG_Videoデータ以外のデータのビットレート(4)
min_video_bitrate≦video_bitrate≦max_video_bitrate (5)
これは、MPEG_Videoエンコーダ130がエンコード中の実際のビットレートであり、下記の式(4)と式(5)を満たすことを条件に、エンコード中においても可変である。
video_bitrate≦TS_bitrate−MPEG_Videoデータ以外のデータのビットレート(4)
min_video_bitrate≦video_bitrate≦max_video_bitrate (5)
3.video_buffer_size
MPEG_Videoエンコーダ130が確保するMPEG_Videoバッファ140のサイズである。これは、MPEG2−Video規格の場合にはVBV_buffer_sizeに相当し、H.264規格の場合にはcpb_sizeに相当する。
MPEG_Videoエンコーダ130が確保するMPEG_Videoバッファ140のサイズである。これは、MPEG2−Video規格の場合にはVBV_buffer_sizeに相当し、H.264規格の場合にはcpb_sizeに相当する。
4.max_video_buffer_size
MPEG規格が定義するMPEG_Videoデータエンコード用の最大バッファサイズであり、MPEG2−Video規格の場合にはVBVmax[profile,level]に相当し、H.264規格の場合にはMaxCPB[level]に相当する。なお、式(6)に示すように、MPEG_Videoエンコーダ130が使用するMPEG_Videoバッファ140のサイズは、max_video_buffer_size以下になるように規格で定められている。
video_buffer_size≦max_video_buffer_size (6)
なお、本実施の形態においては、MPEG2−TS制御部120は、規格の定めの範囲内で、式(7)を満たすように、video_buffer_sizeを指定する。
video_buffer_size≦
max_video_buffer_size/(max_video_bitrate/min_video_bitrate) (7)
MPEG規格が定義するMPEG_Videoデータエンコード用の最大バッファサイズであり、MPEG2−Video規格の場合にはVBVmax[profile,level]に相当し、H.264規格の場合にはMaxCPB[level]に相当する。なお、式(6)に示すように、MPEG_Videoエンコーダ130が使用するMPEG_Videoバッファ140のサイズは、max_video_buffer_size以下になるように規格で定められている。
video_buffer_size≦max_video_buffer_size (6)
なお、本実施の形態においては、MPEG2−TS制御部120は、規格の定めの範囲内で、式(7)を満たすように、video_buffer_sizeを指定する。
video_buffer_size≦
max_video_buffer_size/(max_video_bitrate/min_video_bitrate) (7)
5.video_decord_start_time
これは、受信側のMPEG_VideoデコーダへのMPEG_Videoデータの入力開始時刻、すなわちMPEG_Videoデータの先頭の画像の入力開始時刻である。なお、MPEG2−TSシステムでは、PCR(Program Clock Reference)という時刻で、MPEG2−TSデータの送信時刻を管理するように定義されている。
これは、受信側のMPEG_VideoデコーダへのMPEG_Videoデータの入力開始時刻、すなわちMPEG_Videoデータの先頭の画像の入力開始時刻である。なお、MPEG2−TSシステムでは、PCR(Program Clock Reference)という時刻で、MPEG2−TSデータの送信時刻を管理するように定義されている。
6.デコード時刻DTS(n)
デコード時刻DTS(n)は、MPEG2−TS制御部120により、MPEG_Videoエンコーダ130からのデコードタイミングtr(n)に基づいて当該画像Pnに対して定義される。受信側のMPEG_Videoデコーダは、DTSが示す時刻に基づいてデコードを行う。
デコード時刻DTS(n)は、MPEG2−TS制御部120により、MPEG_Videoエンコーダ130からのデコードタイミングtr(n)に基づいて当該画像Pnに対して定義される。受信側のMPEG_Videoデコーダは、DTSが示す時刻に基づいてデコードを行う。
本実施の形態において、MPEG2−TS制御部120は、n番目の画像Pnに対して、下記に式(8)と式(9)に従ってデコード時刻DTS(n)を算出する。
DTS(n)=video_decode_start_time+tr(n)+dts_delay (8)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (9)
DTS(n)=video_decode_start_time+tr(n)+dts_delay (8)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (9)
すなわち、本実施の形態の送信装置100は、MPEG2−TSシステムにおける通常の送信装置とは、以下の2点において異なる。
A.デコード時刻DTS(n)
MPEG2−TSマルチプレクサ150は、式(8)、(9)に従ってデコード時刻DTS(n)を定義する。
すなわち、従来のMPEG2−TSマルチプレクサが式(1)に従って定義するデコード時刻DTS(n)に、式(9)で示す遅延時間dts_delayを加算してデコード時刻DTS(n)を定義している。
A.デコード時刻DTS(n)
MPEG2−TSマルチプレクサ150は、式(8)、(9)に従ってデコード時刻DTS(n)を定義する。
すなわち、従来のMPEG2−TSマルチプレクサが式(1)に従って定義するデコード時刻DTS(n)に、式(9)で示す遅延時間dts_delayを加算してデコード時刻DTS(n)を定義している。
B.video_buffer_size
MPEG2−TS制御部120が指定し、MPEG_Videoエンコーダ130が使用するMPEG_Videoバッファ140のサイズ(video_buffer_size)は、式(7)を満たすように定められている。
すなわち、video_buffer_sizeの上限を、規格で定められた上限(max_video_buffer_size)より低くしている。
MPEG2−TS制御部120が指定し、MPEG_Videoエンコーダ130が使用するMPEG_Videoバッファ140のサイズ(video_buffer_size)は、式(7)を満たすように定められている。
すなわち、video_buffer_sizeの上限を、規格で定められた上限(max_video_buffer_size)より低くしている。
まず、上記A点(DTS(n)の定義)について説明する。
例えば、MPEG_Videoエンコーダ130がvideo_bitrate(0)でのエンコード中に、ある時刻tcでts_bitrateが変ると、MPEG_Videoエンコーダは、変った後のts_bitrateに対応したvideo_bitrate(video_bitrate(1))でエンコードをする。なお、video_bitrate(0)は、video_bitrate(1)より高いビットレートである。
例えば、MPEG_Videoエンコーダ130がvideo_bitrate(0)でのエンコード中に、ある時刻tcでts_bitrateが変ると、MPEG_Videoエンコーダは、変った後のts_bitrateに対応したvideo_bitrate(video_bitrate(1))でエンコードをする。なお、video_bitrate(0)は、video_bitrate(1)より高いビットレートである。
この場合、時刻tcにおいて、MPEG_Videoバッファ140には、video_bitrate(0)でエンコードされたMPEG_VideoデータQ(tc)が格納されている。MPEG_Videoエンコーダ130は、MPEG_Videoの規格に準拠してvideo_buffer_sizeを超えないようにエンコードするため、データQ(tc)の可能な最大量は、video_buffer_sizeである。
そこで、式(10)、(11)に示すように、従来のDTS(n)にdts_delayを加算してDTS(n)を定義すれば、時刻tc以降に、変更後のts_bitrateに対応したvideo_bitrateでデータQ(tc)を伝送路に送出しても、受信側のMPEG_Videoデコーダが、データQ(tc)に含まれる画像に付加されたDTS(n)でデコードを開始するときに該画像のデータの受信は既に完了している。
DTS(n)=video_decode_start_time+tr(n)+dts_delay (10)
dts_delay=video_buffer_size/video_bitrate(1)
−video_buffer_size/video_bitrate(0) (11)
DTS(n)=video_decode_start_time+tr(n)+dts_delay (10)
dts_delay=video_buffer_size/video_bitrate(1)
−video_buffer_size/video_bitrate(0) (11)
video_bitrate(0)がmax_video_bitrateであり、video_bitrate(1)がmin_video_bitrateである場合には、式(9)で示すdts_delayが、式(9)に示す最大値となる。
すなわち、式(8)、(9)に従ってデコード時刻DTS(n)を定義すれば、伝送路へのデータの送信中にts_bitrateがいかに変動しても、デコード時刻DTS(n)が示す時刻において、受信側では該画像のデータが既に受信を完了している。
次に、上記B点(video_buffer_size)について説明する。
MPEG2−TS規格によれば、MPEG2−TSの標準デコーダは、規格で定められたmax_video_buffer_sizeのMPEG_VideoバッファでMPEG_Videoデータを保持することができる。
MPEG2−TS規格によれば、MPEG2−TSの標準デコーダは、規格で定められたmax_video_buffer_sizeのMPEG_VideoバッファでMPEG_Videoデータを保持することができる。
前述したように、MPEG_Videoエンコーダが生成するMPEG_Videoデータのレート(video_bitrate)と、伝送路に出力されるMPEG_Videoデータのレートが常に等しいときに、DTS(n)を「video_decord_start_time+tr(n)」と定義することで、受信側のMPEG_Videoデコーダは、MPEG_Videoエンコーダの算定したタイミングで画像をデコードすることができる。また、MPEG_Video規格では、MPEG_Videoエンコーダは、video_buffer_sizeをオーバーフローしないようにtr(n)を定義しているから、MPEG_Videoデコーダが、MPEG_Videoエンコーダの算定しているタイミングでデコードすることにより、受信側のMPEG_Videoバッファがオーバーフローしないことが保証される。
本実施の形態において、式(8)、(9)に従って、従来のDTS(n)にdts_delayを加算して新たなDTS(n)としている。そのため、MPEG_Videoデータが受信側のMPEG_Videoバッファ内で格納される時間が長くなる。
受信側のMPEG_Videoバッファがオーバーフローしないようにするためには、式(12)で示す条件を満たす必要がある。
video_bitrate×dts_delay≦max_video_buffer_size−video_buffer_size (12)
video_bitrate×dts_delay≦max_video_buffer_size−video_buffer_size (12)
video_bitrateがmax_video_bitrateであるときに、式(12)の左辺が最大値となるため、式(13)を満たせば、式(12)の条件も満たすことになる。
max_video_bitrate×dts_delay
≦max_video_buffer_size−video_buffer_size (13)
max_video_bitrate×dts_delay
≦max_video_buffer_size−video_buffer_size (13)
式(9)が示すdts_delayを式(13)に代入して整理すると、上述した式(7)を得ることができる。
video_buffer_size≦
max_video_buffer_size/(max_video_bitrate/min_video_bitrate) (7)
video_buffer_size≦
max_video_buffer_size/(max_video_bitrate/min_video_bitrate) (7)
すなわち、式(8)、(9)に従ってDTS(n)を定義しても、式(7)に従ってvideo_buffer_sizeを指定することによって、受信側におけるMPEG_Videoバッファのオーバーフローを回避することができる。
図2と図3の例を参照して具体例を説明する。
図2は、送信装置100において、ts_bitrateに対応したMPEG_Videoデータのビットレートと、video_bitrateとが常に等しい場合のエンコード時刻とデコード時刻の例を示す。この例において、video_bitrateは、最大値のmax_video_bitrateである。
図2は、送信装置100において、ts_bitrateに対応したMPEG_Videoデータのビットレートと、video_bitrateとが常に等しい場合のエンコード時刻とデコード時刻の例を示す。この例において、video_bitrateは、最大値のmax_video_bitrateである。
n番目の画像のデコード時刻DTS(n)は、前述した式(8)、(9)に従って定義される。
例えば、MPEG_Videoエンコーダ130が算定した7番目の画像のデコードタイミングはtr(7)である。MPEG2−TSマルチプレクサ150は、7番目の画像のデコード時刻DTS(7)を「video_decord_start_time+tr(7)+dts_delay」と定義する。そのため、受信側のMPEG_Videoデコーダは、MPEG_Videoエンコーダが算定したデコードタイミングtr(7)よりdts_delayの分遅れて当該画像をデコードすることになるが、デコード時のデータ不足の問題がない。
図3は、時刻tcでts_bitrateに対応したMPEG_Videoデータのビットレートがmax_video_bitrateから、video_bitrateの最小値min_video_bitrateに変った場合のエンコード時刻とデコード時刻の例を示している。
図3に示すように、画像P1からP7まで、MPEG_Videoエンコーダ130はmax_bitrateでエンコードする。時刻tcでts_bitrateが変ると、MPEG_Videoエンコーダは、変更後のts_bitrateに対応したMPEG_Videoデータのビットレート(ここではmin_video_bitrate)でエンコードを行う。
時刻tcでMPEG_Videoバッファ140には、max_video_bitrateでエンコードされた画像P5、P6、P7が格納されている。これらのデータは、min_video_bitrateで伝送路に送出される。
図5に示す従来の場合、デコード時刻DTS(7)において、受信側はまだ画像P7のデータの受信を完了していない。そのため、受信側のMPEG_Videoデコーダは、不十分なデータでデコードすることになり、画像が異常になる。
それに対して、本実施の形態では、式(8)、(9)に従ってデコード時刻DTS(7)を定義しているため、図3に示すように、デコード時刻DTS(7)において、受信側は既に画像P7の受信を完了している。そのため、受信側のMPEG_Videoデコーダは、完全なデータでデコードすることができる。
それに対して、本実施の形態では、式(8)、(9)に従ってデコード時刻DTS(7)を定義しているため、図3に示すように、デコード時刻DTS(7)において、受信側は既に画像P7の受信を完了している。そのため、受信側のMPEG_Videoデコーダは、完全なデータでデコードすることができる。
また、式(7)に従ってvideo_buffer_sizeが定義されているため、受信側におけるMPEG_Videoバッファのオーバーフローも生じない。
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
100 送信装置
110 レート制御部
120 MPEG2−TS制御部
130 MPEG_Videoエンコーダ
140 MPEG_Videoバッファ
150 MPEG2−TSマルチプレクサ
110 レート制御部
120 MPEG2−TS制御部
130 MPEG_Videoエンコーダ
140 MPEG_Videoバッファ
150 MPEG2−TSマルチプレクサ
Claims (2)
- MPEG2−TSシステムにおける送信装置であって、
入力された動画像を圧縮して圧縮動画像データを生成して出力すると共に、前記圧縮動画像データに含まれる複数のピクチャ夫々に対して、該ピクチャが受信側でデコードされるタイミングtrを算定する圧縮部と、
前記圧縮部が生成して出力した前記圧縮動画像データを一時的に格納するバッファと、
前記バッファから取り出した前記圧縮動画像データに含まれる前記複数のピクチャ夫々に対してデコード時刻DTSの付加を含む処理を行ったビデオストリームをMPEG2−TS形式に多重化して出力するマルチプレクサと、
前記圧縮部が使用する前記バッファの上限値となるバッファサイズと、前記圧縮動画像データのビットレートとを前記圧縮部に指定すると共に、前記デコード時刻DTSを算出して前記マルチプレクサに供する制御部とを備え、
前記圧縮部は、前記バッファサイズと前記ビットレートに応じて圧縮を行うと共に前記タイミングtrを算定し、
前記制御部は、n番目のピクチャに対して式(1)と式(2)に従ってデコード時刻DTS(n)を算出することを特徴とする送信装置。
DTS(n)=video_decode_start_time+tr(n)+dts_delay (1)
dts_delay=video_buffer_size/min_video_bitrate
−video_buffer_size/max_video_bitrate (2)
但し,video_decode_start_time:1番目のピクチャのデコード開始時刻
tr(n):圧縮部がn番目のピクチャに対して算定したデコードタイミング
video_buffer_size:制御部が圧縮部に対して指定したバッファサイズ
min_video_bitrate:ビデオストリームのデータレートが最小であるときの
圧縮動画像データのビットレート
max_video_bitrate:ビデオストリームのデータレートが最大であるときの
圧縮動画像データのビットレート - 前記制御部は、式(3)が示す条件下で前記バッファサイズを前記圧縮部に指定することを特徴とする請求項1に記載の送信装置。
video_buffer_size≦
max_video_buffer_size/(max_video_bitrate/min_video_bitrate) (3)
但し,video_buffer_size:制御部が圧縮部に指定するバッファサイズ
max_video_buffer_size:規格により定められた最大バッファサイズ
min_video_bitrate:ビデオストリームのデータレートが最小であるときの
圧縮動画像データのビットレート
max_video_bitrate:ビデオストリームのデータレートが最大であるときの
圧縮動画像データのビットレート
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009145512A JP2011004163A (ja) | 2009-06-18 | 2009-06-18 | 送信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009145512A JP2011004163A (ja) | 2009-06-18 | 2009-06-18 | 送信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011004163A true JP2011004163A (ja) | 2011-01-06 |
Family
ID=43561746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009145512A Pending JP2011004163A (ja) | 2009-06-18 | 2009-06-18 | 送信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011004163A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556977A (zh) * | 2013-09-04 | 2016-05-04 | 高通股份有限公司 | 动态及自动控制音频/视频流送的等待时间缓冲 |
-
2009
- 2009-06-18 JP JP2009145512A patent/JP2011004163A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556977A (zh) * | 2013-09-04 | 2016-05-04 | 高通股份有限公司 | 动态及自动控制音频/视频流送的等待时间缓冲 |
JP2016537914A (ja) * | 2013-09-04 | 2016-12-01 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | オーディオ/ビデオストリーミングのためのレイテンシバッファリングの動的および自動制御 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860538B2 (en) | Electronic device for encoding a buffer parameter | |
JP6240157B2 (ja) | メッセージを送り、ビットストリームをバッファリングするための電子デバイス | |
US20060239563A1 (en) | Method and device for compressed domain video editing | |
WO2006061458A1 (en) | Video coding, decoding and hypothetical reference decoder | |
JP2009272706A (ja) | 動画像トランスコード装置およびその方法 | |
US10382809B2 (en) | Method and decoder for decoding a video bitstream using information in an SEI message | |
EP2599309B1 (en) | Improved bitrate distribution | |
US8724710B2 (en) | Method and apparatus for video encoding with hypothetical reference decoder compliant bit allocation | |
JP2010212996A (ja) | 情報処理装置および多重化処理方法 | |
US9426460B2 (en) | Electronic devices for signaling multiple initial buffering parameters | |
JP2011004163A (ja) | 送信装置 | |
JP2008521270A (ja) | 送信者側チャネル適応型のビデオ送信 | |
JP2010239433A (ja) | 映像符号化装置、方法及びプログラム | |
JP2009246489A (ja) | 映像信号切替装置 | |
JP4373283B2 (ja) | 映像音声復号方法、映像音声復号装置、映像音声復号プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4879958B2 (ja) | 映像・音声ストリーム伝送制御方法、映像・音声ストリーム伝送制御装置、映像・音声ストリーム伝送制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3914212B2 (ja) | 動画像符号化装置,動画像符号化方法,動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2010136041A (ja) | 符号化ストリーム伝送方法,符号化ストリーム伝送装置,符号化ストリーム伝送制御プログラムおよびその記録媒体 | |
JP2001339718A (ja) | 符号化出力方法及び多重化制御装置 | |
WO2014049974A1 (en) | Electronic devices for signaling multiple initial buffering parameters | |
JP2000232625A (ja) | 符号化データ編集多重化装置 | |
JP2010074555A (ja) | 符号化処理装置及び符号化処理方法 |