JP3880596B2 - マルチメディア情報編集装置 - Google Patents
マルチメディア情報編集装置 Download PDFInfo
- Publication number
- JP3880596B2 JP3880596B2 JP2004308515A JP2004308515A JP3880596B2 JP 3880596 B2 JP3880596 B2 JP 3880596B2 JP 2004308515 A JP2004308515 A JP 2004308515A JP 2004308515 A JP2004308515 A JP 2004308515A JP 3880596 B2 JP3880596 B2 JP 3880596B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- screen
- moving image
- slice
- encoded
- 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
- Studio Circuits (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
本発明は、複数動画像データを1つの映像としてマルチ画面同時再生する場合に、各動画像データを符号化する方式、及び、動画像データの任意組み合わせに対するマルチ画面合成動画像を生成する編集方式、を用いたマルチメディア情報編集装置に関する。
従来、動画像の画面を複数領域に分割し、領域毎に符号化した符号列をそれぞれ連結して得られる合成符号列が、画面を領域分割せずに符号化を行なって生成した符号列と同じシンタックスになるような方法としては、特開平7−298263号に開示されているものがある。
図51は、このブロック構成図であり、以下その動作概要を示す。
まず、入力動画像が画面分割器によってフレーム単位で複数領域に分割される。このとき画面分割器は、分割制御器からの画面分割制御信号により分割方法を決定する。ここでは、フレームを縦に3分割しており、分割画像信号は元の映像の左の領域から順に分割画像信号77,78,79となり、それぞれが符号化器62,63,64へと入力される。各符号化器では、分割制御器から分割フレームの大きさや符号化条件を受け取り、入力となった分割画像信号を符号化し、それぞれ符号列80,81,82として符号列合成器へ出力する。こののち、分割制御器は、画面分割器に指示したフレーム分割方法を符号列合成器に伝えるための符号列合成信号を出力し、符号列合成器は符号列合成信号により、各符号化器からの符号列をフレーム分割しない場合と同じシンタックスになるような符号列順に連結し、最終的に合成符号列を出力する。
特開平7−298263公報
まず、入力動画像が画面分割器によってフレーム単位で複数領域に分割される。このとき画面分割器は、分割制御器からの画面分割制御信号により分割方法を決定する。ここでは、フレームを縦に3分割しており、分割画像信号は元の映像の左の領域から順に分割画像信号77,78,79となり、それぞれが符号化器62,63,64へと入力される。各符号化器では、分割制御器から分割フレームの大きさや符号化条件を受け取り、入力となった分割画像信号を符号化し、それぞれ符号列80,81,82として符号列合成器へ出力する。こののち、分割制御器は、画面分割器に指示したフレーム分割方法を符号列合成器に伝えるための符号列合成信号を出力し、符号列合成器は符号列合成信号により、各符号化器からの符号列をフレーム分割しない場合と同じシンタックスになるような符号列順に連結し、最終的に合成符号列を出力する。
特開平7−298263号では、元来1つの映像画面であった画像信号を、分割制御器の指示により複数領域の画像信号に分割したのち、各画像信号を別々の符号化器でMPEG符号化処理を施し、最終的に複数符号化器の出力符号列を本来のシンタックスになるように並べるものである。
このとき、それぞれの符号化器は、分割制御器から分割フレームの大きさや符号化条件を受け取ることで、各符号化器自身が符号化している画像信号が元の映像画面のどの領域を符号化しているのか、言い換えると、符号化器自身が出力した符号列が最終的に画面のどの領域に表示されるのか、を知った上でMPEG符号化処理を施している。
しかし、縮小動画(以下、サムネール動画)をマルチ画面の任意の画像領域に表示することを考えた場合、各サムネール動画に対してMPEG符号化処理を行なう時点では表示する位置がわからない。
したがって、マルチ画面を合成する時点で、符号化した各サムネール動画(以下、符号化サムネール動画)に対し、表示位置を指定するための処理を施さなければならない。
ところで、例えばMPEG規格(参考までに、図52に、MPEGでのビデオストリームのシンタックスの一部を示す)では、復号再生された際にスライスが表示される水平位置は、そのスライス中の先頭マクロブロックの可変長符号ビットmacroblock_address_increment(以下、MB_Addr_Inc)により示される。符号化サムネール動画の任意位置への配置のためにMB_Addr_Inc部の値変更を行なうと、可変長符号であるMB_Addr_Inc部のビット数が変化する。その結果、(符号化サムネール動画に対し、表示位置を指定するための処理として、単にMPEGに当てはめた場合、)マルチ画面動画の合成時に、MB_Addr_Inc部より後続のすべての符号列に対して、変化したビット数分のビットシフト演算が発生し、膨大な計算量を必要としてしまうことになる。
図53は、この現象の例を示したものである。図53(a)で示されるように符号化サムネール動画Aを縦2横2のマルチ画面右下へ配置する場合、符号化サムネール動画Aの符号列は図53(b)のように変化する。スライスを動画全体から見た場合の垂直方向の位置は、slice_start_code部の末尾1バイトにより指定される。
一方、前述のようにスライスの水平位置はMB_Addr_Incにより指定される。合成によりスライスの水平位置は1から5に変化しているが、MB_Addr_Inc=1を可変長符号で表すと1ビットの "1"であり、MB_Addr_Inc=5を可変長符号で表すと4ビットの "0010"となり、合成後の方が3ビット余分にビット列が必要となる。したがって、図53(b)、(c)で示されるように、合成後のMB_Addr_Inc以降の符号列は、余分に増えた3ビット分だけ右へシフトされた状態で配置される。通常、計算機、および計算機で通常使用する記憶装置はバイト単位でのアクセスを行なう。そのために、図53(c)のように、先頭マクロブロックのMB_Addr_Inc以降のすべてについてビット演算を必要とする。
また、同じくMPEG規格では、隣り合うマクロブロック同士の符号列がバイト単位で分離(バイトアライメント)されている保証はなく、唯一、スライスを構成するマクロブロック群の最後のマクロブロックの符号列後に、図52の next_start_code()によりバイトアライメントがなされているのみである。符号化サムネール動画の任意位置への配置を、目的とする順にマクロブロックを並べることで実現しようとすると、バイト境界をまたがったマクロブロック同士を連結することになり、符号列は正しい画像として復号化できないものになる。
さらに、前述のようにスライスの最後のマクロブロックの符号列については、パディングビットによるバイトアライメントがなされている。パディングビットの付加されたマクロブロック符号列の後続に別のマクロブロック符号列を連結した場合、復号化器は、スライスの最後尾でない限り、隣り合うマクロブロック同士の符号列にはパディングビットはないものとして符号列の復号化を行なう。このため、復号化器は符号列中のパディングビットにより正しい画像を復号できない。
図54は、この現象の例を示したものであり、図54(a)の符号化サムネール動画A,Bにより縦1横2のマルチ画面を合成することを行なっている。この合成処理を、それぞれの符号化サムネール動画を構成するマクロブロックをマルチ画面内の任意位置に配置することで実現した場合、各マクロブロックのマルチ画面内での配置は図54(b)のようになり、その符号列は図54(c)の一番下のように、最初にスライスM1のスライスヘッダ部の符号列が並び、後続にマクロブロックA1、A2、B1、B2の順に符号列が続く。
このとき、スライスA1の最後のマクロブロックA2がパディングビットによってバイトアライメントされていたとすると、スライスM1の符号列はマクロブロックA2とB1の間にパディングビット列が挿入された状態になり、復号化器は正しく画像を復号することができなくなる。
本発明は、様々な規格で符号化されたサムネール画像をマルチ画面上の任意の位置に表示するシステムにおいて、上記のような課題を解決するものであり、例えば、MPEG規格の場合、マクロブロックをラスタスキャン順に並べるだけでマルチ画面の編集を行なえるようにすることを目的とする。
そこで、本発明では、
編集前の縮小・符号化画像が、編集画像のどこに配置されるか未定である場合を考慮して、符号化の際にその位置情報の変更が容易にできるように符号化を行ない、編集の際にその位置情報の変更を要する場合にその変更を容易に行なうことができるようにしたものであり、これにより、様々な画像の編集が行なえるという効果を奏するものである。
編集前の縮小・符号化画像が、編集画像のどこに配置されるか未定である場合を考慮して、符号化の際にその位置情報の変更が容易にできるように符号化を行ない、編集の際にその位置情報の変更を要する場合にその変更を容易に行なうことができるようにしたものであり、これにより、様々な画像の編集が行なえるという効果を奏するものである。
そして、MPEG規格の場合、
可変長データ(画像)符号化手段が、マクロブロック符号列の先頭と末端がバイト境界をまたがらないようにし、かつ、MPEGビデオシーケンスとして正しい符号列となるような処理を施したマクロブロック符号列を生成しておくものであり、これにより、可変長データ(画像)編集手段が、マクロブロック符号列をラスタスキャンオーダーで連結するだけで所望のマルチ画面合成画像の符号列を生成することが可能になるため、マルチ画面合成画像生成の高速化を可能にする。
可変長データ(画像)符号化手段が、マクロブロック符号列の先頭と末端がバイト境界をまたがらないようにし、かつ、MPEGビデオシーケンスとして正しい符号列となるような処理を施したマクロブロック符号列を生成しておくものであり、これにより、可変長データ(画像)編集手段が、マクロブロック符号列をラスタスキャンオーダーで連結するだけで所望のマルチ画面合成画像の符号列を生成することが可能になるため、マルチ画面合成画像生成の高速化を可能にする。
また、本可変長データ(画像)編集手段の入力となる符号化画像を生成する可変長データ(画像)符号化手段が、前述の高速化を実現するための特別な処理を行なっておく必要がないため、画像符号化フォーマットに基づいた符号化処理を行なう一般的な可変長データ(画像)符号化手段を使用することができる。
また、画像符号化フォーマットに基づく一般的な符号化画像同士の編集処理の高速化を図ることができる。
以上のように、本発明では、
可変長データ(画像)を編集するにあたり、取り込んだ可変長データ(画像)を縮小、符号化、(蓄積、)編集、復号化という手順で行なうため、従来のように復号してから編集(表示のための配置)する手法だと編集画像分の復号化処理を要するのに対し、編集してから復号するため復号化処理が1回で済むので、編集処理に要する時間が最小限に抑えられるのは勿論のこと、
編集前の縮小・符号化画像が、編集画像のどこに配置されるか未定である場合を考慮して、符号化の際にその位置情報の変更が容易にできるように符号化を行ない、編集の際にその位置情報の変更を要する場合にその変更を容易に行なうことができるため、様々な画像の編集(編集前の縮小画像を、編集後のマルチ画面上の任意の位置への配置・表示)が行なえるという効果を奏するものである。
可変長データ(画像)を編集するにあたり、取り込んだ可変長データ(画像)を縮小、符号化、(蓄積、)編集、復号化という手順で行なうため、従来のように復号してから編集(表示のための配置)する手法だと編集画像分の復号化処理を要するのに対し、編集してから復号するため復号化処理が1回で済むので、編集処理に要する時間が最小限に抑えられるのは勿論のこと、
編集前の縮小・符号化画像が、編集画像のどこに配置されるか未定である場合を考慮して、符号化の際にその位置情報の変更が容易にできるように符号化を行ない、編集の際にその位置情報の変更を要する場合にその変更を容易に行なうことができるため、様々な画像の編集(編集前の縮小画像を、編集後のマルチ画面上の任意の位置への配置・表示)が行なえるという効果を奏するものである。
そして、MPEG規格の場合、
可変長データ(画像)符号化手段が、マクロブロック符号列の先頭と末端がバイト境界をまたがらないようにし、かつ、MPEGビデオシーケンスとして正しい符号列となるような処理を施したマクロブロック符号列を生成しておくことにより、可変長データ(画像)編集手段が、マクロブロック符号列をラスタスキャンオーダーで連結するだけで所望のマルチ画面合成画像の符号列を生成することが可能になるため、マルチ画面合成画像生成の高速化を可能にする。
可変長データ(画像)符号化手段が、マクロブロック符号列の先頭と末端がバイト境界をまたがらないようにし、かつ、MPEGビデオシーケンスとして正しい符号列となるような処理を施したマクロブロック符号列を生成しておくことにより、可変長データ(画像)編集手段が、マクロブロック符号列をラスタスキャンオーダーで連結するだけで所望のマルチ画面合成画像の符号列を生成することが可能になるため、マルチ画面合成画像生成の高速化を可能にする。
また、本可変長データ(画像)編集手段の入力となる符号化画像を生成する可変長データ(画像)符号化手段が、前述の高速化を実現するための特別な処理を行なっておく必要がないため、画像符号化フォーマットに基づいた符号化処理を行なう一般的な可変長データ(画像)符号化手段を使用することができる。また、画像符号化フォーマットに基づく一般的な符号化画像同士の編集処理の高速化を図ることができる。
以下、本発明の各実施の形態について、図面を参照しながら説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
(第1の実施の形態)
最初に、本発明における第1の実施の形態について説明する。
図2は、本実施の形態における動画像合成装置を示すブロック構成図である。
ここで、201は、複数の符号化サムネール動画を蓄積管理しマルチ画面合成処理を行なう動画像合成サーバ、202は、マルチ画面合成対象とする動画像を動画像合成サーバに取り込む動画像取込手段、203は、取り込んだ動画像を所定のサイズに縮小し、サムネール動画を生成する動画像縮小手段、204は、サムネール動画をMPEG符号化し、符号化サムネール動画を生成する動画像符号化手段、205は、位置情報書き換え時にスライス符号列を一時的に格納するための作業メモリ、206は、符号化サムネール動画を蓄積格納する蓄積手段、207は、複数の符号化サムネール動画を合成し、マルチ画面動画像符号列を生成する動画像合成手段、208は、マルチ画面動画像を再生表示する再生端末、209は、マルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段、210は、合成したマルチ画面動画像を復号する動画像復号化手段、211は、復号化された動画像を画面表示する動画像表示手段である。
最初に、本発明における第1の実施の形態について説明する。
図2は、本実施の形態における動画像合成装置を示すブロック構成図である。
ここで、201は、複数の符号化サムネール動画を蓄積管理しマルチ画面合成処理を行なう動画像合成サーバ、202は、マルチ画面合成対象とする動画像を動画像合成サーバに取り込む動画像取込手段、203は、取り込んだ動画像を所定のサイズに縮小し、サムネール動画を生成する動画像縮小手段、204は、サムネール動画をMPEG符号化し、符号化サムネール動画を生成する動画像符号化手段、205は、位置情報書き換え時にスライス符号列を一時的に格納するための作業メモリ、206は、符号化サムネール動画を蓄積格納する蓄積手段、207は、複数の符号化サムネール動画を合成し、マルチ画面動画像符号列を生成する動画像合成手段、208は、マルチ画面動画像を再生表示する再生端末、209は、マルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段、210は、合成したマルチ画面動画像を復号する動画像復号化手段、211は、復号化された動画像を画面表示する動画像表示手段である。
動画像合成サーバ201、および再生端末208は、一般的なオペレーティングシステムが動作する、例えばパソコンやワークステーションなどの計算機であり、動画像取込手段202、動画像縮小手段203、動画像符号化手段204、動画像合成手段207、動画像一覧生成手段209、動画像復号化手段210、動画像表示手段211はそれぞれ、計算機内において、汎用、あるいは専用のオペレーティングシステムのもとで動作するプログラム、あるいは専用のハードウェアである。(なお図1は、サーバ201、端末208という開いたシステムに特化したものでなく、広く一般的な構成を示したものである。)
以下、この動画像合成装置における、動画像符号化処理および複数動画像の合成処理の方法について説明する。
以下、この動画像合成装置における、動画像符号化処理および複数動画像の合成処理の方法について説明する。
まず、動画像データの符号化処理について説明する。
マルチ画面合成対象となる動画像データは、あらかじめ動画像取込手段202により動画像合成サーバ201内部に取り込まれ、動画像縮小手段203によって所定のサイズにまで縮小されたサムネール動画へと変換される。さらにこのサムネール動画は、動画像符号化手段204によってマルチ画面合成可能な形式でMPEG符号化処理が施され、マルチ画面合成用の符号化サムネール動画として蓄積手段206に蓄積される。
マルチ画面合成対象となる動画像データは、あらかじめ動画像取込手段202により動画像合成サーバ201内部に取り込まれ、動画像縮小手段203によって所定のサイズにまで縮小されたサムネール動画へと変換される。さらにこのサムネール動画は、動画像符号化手段204によってマルチ画面合成可能な形式でMPEG符号化処理が施され、マルチ画面合成用の符号化サムネール動画として蓄積手段206に蓄積される。
図3は、動画像符号化手段204において、サムネール動画が、マルチ画面合成可能なMPEG符号化された符号化サムネール動画に変換されるまでの処理フローを示したものであり、
ステップ301では、サムネール動画1フレーム分の画像データを読み出し、
ステップ302では、1フレーム分の画像データを水平方向にN分割し、
ステップ303では、スライスnのスライスヘッダ符号列を、符号化サムネール動画符号列の一部として出力し、
ステップ304では、スライスnをM個のマクロブロックに分割し、
ステップ305では、マクロブロックmのMB_Addr_Incを、符号化サムネール動画符号列の一部として出力し、
ステップ306では、マクロブロックmをMPEG符号化(DCT、量子化、可変長符号化)し、その符号列を符号化サムネール動画符号列の一部として出力し、
ステップ307では、スライスn中のすべてのマクロブロックの符号化が完了したかをチェックし、
ステップ308では、図52(d)のnext_start_code()の処理をし、
ステップ309では、N個の全スライスについて符号化が完了したかをチェックし、
ステップ310では、サムネール動画の全フレームを処理したかをチェック、をそれぞれ行なう。ここで、変数mは処理しているマクロブロックの識別に、変数nはスライスの識別のために使用する。
ステップ301では、サムネール動画1フレーム分の画像データを読み出し、
ステップ302では、1フレーム分の画像データを水平方向にN分割し、
ステップ303では、スライスnのスライスヘッダ符号列を、符号化サムネール動画符号列の一部として出力し、
ステップ304では、スライスnをM個のマクロブロックに分割し、
ステップ305では、マクロブロックmのMB_Addr_Incを、符号化サムネール動画符号列の一部として出力し、
ステップ306では、マクロブロックmをMPEG符号化(DCT、量子化、可変長符号化)し、その符号列を符号化サムネール動画符号列の一部として出力し、
ステップ307では、スライスn中のすべてのマクロブロックの符号化が完了したかをチェックし、
ステップ308では、図52(d)のnext_start_code()の処理をし、
ステップ309では、N個の全スライスについて符号化が完了したかをチェックし、
ステップ310では、サムネール動画の全フレームを処理したかをチェック、をそれぞれ行なう。ここで、変数mは処理しているマクロブロックの識別に、変数nはスライスの識別のために使用する。
図4は、動画像符号化手段204によってサムネール動画を符号化サムネール動画として符号化する場合に、サムネール動画の各フレーム画像を小さなブロック分割する例を示すものである(ステップ302,ステップ304)。
図5は、動画像符号化手段204が、ステップ303,305、306,308にて、サムネール動画の各スライスをMPEG符号化処理する際に、スライス単位でマルチ画面合成可能なように出力した符号列の一例を示したものである。なお、図5では、図4で示したスライス、マクロブロックの分割例を基にしている。
図5(a)、(e)に示されるように、ステップ303において、スライスnのスライスヘッダ符号列を出力する場合に、slice_start_codeを、末尾1バイトを値"n" にして出力する。
さらに、図5(b)のように、スライス単位でマルチ画面合成する時に、スライスの水平座標が変更されたことによるMB_Addr_Incのビット数が変化した場合に備えて、足りなくなったビットを補うための補填符号列を extra_bit_sliceおよびextra_information_sliceとしてあらかじめ出力しておく。この補填符号列は、図52のMPEG規格でも規定された部分を利用しており、復号化器はこのような符号列のある符号化サムネール動画をMPEGビデオシーケンスとして正常に復号化することが可能である。
図5の例では補填符号列として、extra_bit_sliceとextra_information_sliceの組を8つ、合計72ビットの符号列をすべてのビットを "1" にして出力している(extra_bit_sliceとextra_information_sliceが8組であることの理由は後述する.)。
また、図5(c)に示されるように、ステップ305において、スライスの先頭マクロブロックのMB_Addr_Incには値1を指定し、値1を表す1ビット長の可変長符号列 "1" を出力する。図5(d)部分の符号列は、ステップ206および208において、一般的なMPEG符号化処理(DCT、量子化、動き予測、可変長符号化およびバイトアライメント処理)を施すことで得られる符号列である。
なお、補足であるが、スライス単位でマルチ画面合成を行なう場合に、符号化サムネール動画として必要な部分は、図5に示されるようなスライス層以下の符号列部分である。しかし、上記スライス部の符号列以外に、MPEGビデオシーケンスとして必要な符号列(シーケンスヘッダ、GOPヘッダ、ピクチャヘッダ等)を出力することで、これら符号列により構成される符号化サムネール動画を、単体のMPEGビデオシーケンスとして復号し再生表示可能にすることができる。
また、図5(a)、(c)、(e)の上記説明では、slice_start_codeおよびMB_Addr_Inc部の値を、符号化サムネール動画が単体のMPEGビデオシーケンスとして復号し再生表示可能になるような値にして出力しているが、実際は符号化時にはどのような値であってもかまわない。
さらに、図5(b)の説明で示したように、スライスの水平座標が変更されたことによるMB_Addr_Incのビット数が変化した場合に備えて、足りなくなったビ
ットを補うための符号列をextra_bit_sliceおよびextra_information_sliceとしてあらかじめ出力しているが、この他にもmacroblock_staffingなど、MB_Addr_Inc部のビット数変化に対して補填処理可能な符号列をあらかじめ出力しておいてもかまわない。
ットを補うための符号列をextra_bit_sliceおよびextra_information_sliceとしてあらかじめ出力しているが、この他にもmacroblock_staffingなど、MB_Addr_Inc部のビット数変化に対して補填処理可能な符号列をあらかじめ出力しておいてもかまわない。
以上のような過程を経て、動画像符号化手段204は、スライス単位でマルチ画面合成可能な符号化サムネール動画符号列を出力する。
次に、複数符号化サムネール動画をマルチ画面動画として合成する処理について説明する。
図6は、蓄積手段206に蓄積されている符号化サムネール動画の一例を示したものである。図6に示されるように、蓄積手段206には5つの符号化サムネール動画A、B、C、D、Eが蓄積されている。このとき、それぞれの符号化サムネール動画は、水平に2スライスに分割され各スライスは3つのマクロブロックで構成されているものとする。
動画像一覧生成手段209は、蓄積手段206に蓄積されている符号化サムネール動画に対する組み合わせ・順序一覧を生成する。たとえば、動画像一覧生成手段209の一例として、動画像検索システムにおける、検索キーのヒット率ランキングによる一覧生成があげられる。ここでは、図7に示すような縦2横2のマルチ画面を合成するように、動画像一覧生成手段209が動画像合成手段207に要求を出したものとして説明する。
図8は、動画像合成手段207によって、複数符号化サムネール動画をマルチ画面合成しそのMPEG符号列を出力するまでの処理フローを示したものである。
ステップ801では、マルチ画面合成のための初期化処理を行ない、
ステップ802では、マルチ画面合成動画をMPEGビデオシーケンスとして復号可能にするために、MPEGビデオシーケンスヘッダ符号列を出力し、
ステップ803では、同様にMPEGビデオシーケンスとして復号可能にするために、GOPヘッダ、ピクチャヘッダ符号列を出力し、
ステップ804では、各符号化サムネール動画からスライス符号列を読み出し、ステップ805では、読み出したスライスをマルチ画面中の目的の場所に表示するための位置情報の書き換えを行ない、
ステップ806では、符号化サムネール動画を水平方向に走査するためのカウンタ値をチェックし、
ステップ807では、ステップ904,905において使用するスライスカウント値をチェックし、
ステップ808では、符号化サムネール動画を垂直方向に走査するためのカウンタ値をチェックし、
ステップ809では、マルチ画面合成を終了するかをチェック、
をそれぞれ行なう。
ステップ801では、マルチ画面合成のための初期化処理を行ない、
ステップ802では、マルチ画面合成動画をMPEGビデオシーケンスとして復号可能にするために、MPEGビデオシーケンスヘッダ符号列を出力し、
ステップ803では、同様にMPEGビデオシーケンスとして復号可能にするために、GOPヘッダ、ピクチャヘッダ符号列を出力し、
ステップ804では、各符号化サムネール動画からスライス符号列を読み出し、ステップ805では、読み出したスライスをマルチ画面中の目的の場所に表示するための位置情報の書き換えを行ない、
ステップ806では、符号化サムネール動画を水平方向に走査するためのカウンタ値をチェックし、
ステップ807では、ステップ904,905において使用するスライスカウント値をチェックし、
ステップ808では、符号化サムネール動画を垂直方向に走査するためのカウンタ値をチェックし、
ステップ809では、マルチ画面合成を終了するかをチェック、
をそれぞれ行なう。
図7に示すようなマルチ画面合成を要求されると、動画像合成手段207では、まず、次のような初期化処理が行なわれる。すなわち、縦2横2のマルチ画面なので、水平方向の画面数を示す変数Xを2に、垂直方向の画面数を示す変数Yを2にする。また、マルチ画面の各画面領域に表示されるそれぞれの符号化サムネール動画のスライス数を示す変数Nを2に、各スライスを構成するマクロブロック数を示す変数Mを3に初期化する。さらにマルチ画面のどの位置にどの符号化サムネール動画を配置するのかを示す2次元の配列変数V(1番目の添え字は前記各画面領域の水平方向の画面領域を示し、2番目は垂直方向の画面領域を示す)を、
V[1,1]=B, V[2,1]=D, V[1,2]=E, V[2,2]=A
に初期化する。
V[1,1]=B, V[2,1]=D, V[1,2]=E, V[2,2]=A
に初期化する。
図9は、図8の処理フローでのループ810、811、812におけるループ処理をC言語で表現したものであり、変数xは処理中である画面の水平方向位置を、同様に変数yは垂直位置を、変数nは処理中である符号化サムネール動画のスライス番号をそれぞれループカウンタ値として使用している。この3つのループの最内ループで、ステップ804,805の処理が行なわれる。
図10は、動画像合成手段207が、ステップ804にて行なうスライス符号列の読み出し処理を示したものである。ステップ804では、変数V[x, y]で指定される符号化サムネール動画から変数fで指定されるフレームの、変数nで指定されるスライス部分の符号列が読み出される(図12(a))。
たとえば、x=2,y=2,n=1のとき、ステップ804では、スライス1Aの符号列が読み出される。読み出されたスライス符号列は、バッファの先頭アドレスが変数Bufによりポインティングされた合成作業メモリに格納される(図12(b))。
たとえば、x=2,y=2,n=1のとき、ステップ804では、スライス1Aの符号列が読み出される。読み出されたスライス符号列は、バッファの先頭アドレスが変数Bufによりポインティングされた合成作業メモリに格納される(図12(b))。
MPEG規格では、スライス層の符号列は、バイト境界から符号列が始まり、符号列の末端もバイトアライメントされた状態で終端するように規定されており、動画像符号化手段204もそのようなスライス符号列を出力する。そのため、バイト単位でスライス符号列の先頭から末端まですべて読み込み、それを合成作業メモリ内に蓄えることができる。
動画像合成手段207が、ステップ805にて行なうスライス表示位置情報の書き換え処理は次のようにして行なわれる。
動画像合成手段207は、合成作業メモリ内のスライス符号列が、マルチ画面中のどの座標に表示されるのかを次の式により算出する。
水平位置:(x−1)*M+1
垂直位置:(y−1)*N+n
前記スライス1Aの例では、x=2、y=2、n=1であるため、水平位置=4、垂直位置=3となる。
動画像合成手段207は、合成作業メモリ内のスライス符号列が、マルチ画面中のどの座標に表示されるのかを次の式により算出する。
水平位置:(x−1)*M+1
垂直位置:(y−1)*N+n
前記スライス1Aの例では、x=2、y=2、n=1であるため、水平位置=4、垂直位置=3となる。
図11は、合成作業メモリ内のスライス1Aの垂直位置情報を書き換える処理例を示している。図11(a)は、ステップ804にて合成作業メモリ内にスライス1Aの符号列が格納された状態を示しており、図11(b)は、さらにスライスの垂直位置情報の符号列を含む slice_start_code部をビット単位で詳細表示したものである。スライスの垂直位置情報はslice_start_codeの4バイト目、すなわち buf[3]で示されるので、ステップ805では、垂直位置を3にするために、
buf[3] = 3
の代入処理を行なう。図11(c)は、代入処理による垂直位置情報が書き換えられた後のslice_start_code部の符号列を示している。
buf[3] = 3
の代入処理を行なう。図11(c)は、代入処理による垂直位置情報が書き換えられた後のslice_start_code部の符号列を示している。
また同様に、図12は、合成作業メモリ内のスライス1Aの水平位置情報を書き換える処理例を示している。図12(a)は、ステップ804にて合成作業メモリ内にスライス1Aの符号列が読み込まれた状態を示しており、図12(b)は、さらにビット単位で詳細表示したものである。スライス1Aの新たな水平位置(MB_Addr_Inc)は4となるが、水平位置4を可変長符号であらわすと4ビット長の '0011' となる。符号化サムネール動画を生成する動画像符号化手段204は、図12(b)で示されるように MB_Addr_Incを '1'、つまり1ビット長で出力している。そこで動画像合成手段207は、足りない3ビット分を補填符号列部分から補う。まず、図12(c)に示されるように、足りないビット分の数値と同じバイト数(スライス1Aの例では3ビット分足りないので、3バイト)の間引き処理を行なう。
次に、間引き処理の対象とならなかったbuf[0]〜buf[9]までの10バイト分の符号列を出力した後、図12(c)から(d)の部分に示されるように、新たな水平位置情報を書き換える処理、
buf[13]=buf[13]&0x01 + 0xc6
を行なう。buf[13]&0x01は、buf[13]の下1ビットを書き換えないようにフィルタ演算を行なっている。水平位置書き換え後、間引かれたバイト部分の符号列を出力しないように、buf[13]から後続のすべてのスライス符号列を出力する。全スライス符号列を出力した後は、合成作業メモリは空の状態にセットされる。
buf[13]=buf[13]&0x01 + 0xc6
を行なう。buf[13]&0x01は、buf[13]の下1ビットを書き換えないようにフィルタ演算を行なっている。水平位置書き換え後、間引かれたバイト部分の符号列を出力しないように、buf[13]から後続のすべてのスライス符号列を出力する。全スライス符号列を出力した後は、合成作業メモリは空の状態にセットされる。
以上のような過程を経ることで、動画像合成手段207は、スライスの水平位置情報を示す可変長符号ビット部分の書き換え処理を単純な演算を数回行なうだけで完了させ、スライス符号列単位でマルチ画面合成したマルチ画面動画像符号列を出力する。動画像合成手段207で出力されたマルチ画面動画像の符号列は、動画像復号化手段210で動画像として復号化され、動画像表示手段211によりその映像が表示される。
なお、前述した extra_bit_sliceとextra_information_slice が8組であることの理由を以下に説明する。
extra_bit_slice は1ビット長、extra_information_slice は8ビット長であり、この2つを組にした符号長は9ビットとなる。この9ビット長の補填符号列部分から1バイト(=8ビット長)を間引くことで、1ビットが余る。この1ビットをMB_Addr_Inc部のビット数が変化した際の足りなくなったビットの補填に割り当てることができる。
上記組について、1組につき1バイトを間引けば1ビットを補填可能なので、8組から7バイト間引くことで8ビットを補填可能になる。9以上の補填ビットを必要とする場合には、間引くバイト数をそのつど減らせばよい。例えば、14ビットを補填したいのであれば、まず5バイトだけ間引きくことで5ビットの補填可能ビットを得る。次に1組分の9ビットをさらにこの補填可能ビットとして割り当てることで、合計14ビットの補填可能ビットを得ることができる。
したがって、extra_bit_sliceとextra_information_sliceが8組にすることで、任意数の不足ビットを補うことができ、かつ8組という最小の値を取ることで、補填符号列により動画像のビットレートが高くなるのを最小限に押さえることができる訳である。
以上のように、本実施の形態では、
マルチ画面合成対象とする動画像を取り込む動画像取込手段と、取り込んだ動画像を所定のサイズに縮小しサムネール動画を生成する動画像縮小手段と、サムネール動画をMPEG符号化し符号化サムネール動画を生成する動画像符号化手段と、MPEG符号化された符号化サムネール動画を蓄積格納する蓄積手段と、蓄積手段に蓄積された複数符号化サムネール動画を合成しマルチ画面動画像符号列を生成する動画像合成手段と、動画像合成手段がスライス符号列を一時的に格納するために用いる合成作業メモリと、マルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段と、合成により得られるマルチ画面動画像符号列を復号する動画像復号化手段と、復号化された動画像を画面表示する動画像表示手段とを備え、
動画像符号化手段が、スライスの水平座標が変更されたことによりMB_Addr_Inc部分のビット数変化が生じた場合、足りなくなったビットを補うための補填符号列をあらかじめ出力し、動画像合成手段が、補填符号列部分から足りないビットを補いMB_Addr_Incの値の書き換えを行なうことにより、マルチ画面動画像符号列を生成するマルチメディア情報編集装置を実現するものである。
マルチ画面合成対象とする動画像を取り込む動画像取込手段と、取り込んだ動画像を所定のサイズに縮小しサムネール動画を生成する動画像縮小手段と、サムネール動画をMPEG符号化し符号化サムネール動画を生成する動画像符号化手段と、MPEG符号化された符号化サムネール動画を蓄積格納する蓄積手段と、蓄積手段に蓄積された複数符号化サムネール動画を合成しマルチ画面動画像符号列を生成する動画像合成手段と、動画像合成手段がスライス符号列を一時的に格納するために用いる合成作業メモリと、マルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段と、合成により得られるマルチ画面動画像符号列を復号する動画像復号化手段と、復号化された動画像を画面表示する動画像表示手段とを備え、
動画像符号化手段が、スライスの水平座標が変更されたことによりMB_Addr_Inc部分のビット数変化が生じた場合、足りなくなったビットを補うための補填符号列をあらかじめ出力し、動画像合成手段が、補填符号列部分から足りないビットを補いMB_Addr_Incの値の書き換えを行なうことにより、マルチ画面動画像符号列を生成するマルチメディア情報編集装置を実現するものである。
これによりマルチ画面の動画像合成時にビット数変化による後続のすべての符号列に対するビットシフト演算をなくす、具体的には、スライスの水平位置情報を示す可変長符号ビット部分の書き換え処理を単純な計算を数回行なうだけで完了させることができ、結果、マルチ画面動画の生成を高速に行なうことができ、その実用的効果は大きい。
また、より具体的には、
動画像符号化手段が、補填符号列としてextra_bit_sliceとextra_information_sliceの8組を補填符号列として出力する機能を有することにより、
動画像合成手段が前記補填符号列から任意数の不足ビットの補填とmacroblock_escape符号列生成を行なうことを可能にし、スライスの表示位置を示す可変長符号ビット部分の任意値への書き換えが可能となり、その実用的効果は大きい。
動画像符号化手段が、補填符号列としてextra_bit_sliceとextra_information_sliceの8組を補填符号列として出力する機能を有することにより、
動画像合成手段が前記補填符号列から任意数の不足ビットの補填とmacroblock_escape符号列生成を行なうことを可能にし、スライスの表示位置を示す可変長符号ビット部分の任意値への書き換えが可能となり、その実用的効果は大きい。
なお、本実施の形態では、スライスの位置配置に関して、水平位置が4の場合について説明しているが、これ以外の配置位置についても同様の書き換え処理が可能である。図13,14,15は、配置する水平位置がそれぞれ7,13,37の場合のMB_Addr_Inc書き換え処理を示したものである。配置位置が34以上
の場合は macroblock_escapeと呼ばれる11ビットの符号列を出力しなければならないが、この場合も図15に図示されるように、間引きバイト数やフィルタ演算などの数値変更を行なうことで、同様の効果を得ることが可能である。
の場合は macroblock_escapeと呼ばれる11ビットの符号列を出力しなければならないが、この場合も図15に図示されるように、間引きバイト数やフィルタ演算などの数値変更を行なうことで、同様の効果を得ることが可能である。
また、本実施の形態では、
スライス符号列の水平位置を示す部分が可変長符号ビットMB_Addr_Incであり、MB_Addr_Incの値書き換えを行なうために不足するビットを、あらかじめスライスヘッダ部分に出力しておいた補填符号列に対する簡単なバイト間引きにより補填する一連の処理について、MPEGビデオシーケンス規格を例に説明しているが、これはMPEG以外の規格のものでも適用可能である。
スライス符号列の水平位置を示す部分が可変長符号ビットMB_Addr_Incであり、MB_Addr_Incの値書き換えを行なうために不足するビットを、あらかじめスライスヘッダ部分に出力しておいた補填符号列に対する簡単なバイト間引きにより補填する一連の処理について、MPEGビデオシーケンス規格を例に説明しているが、これはMPEG以外の規格のものでも適用可能である。
すなわち、ある符号列が画像イメージへ復号されたときに、その符号列が画像イメージ中のどの位置に表示されるのかを示す位置情報が可変長符号ビットで与えられるような規格において、位置情報を示す符号列部分の前方、または後方、または双方部分に、その規格として復号時に画像イメージへ影響を与えない拡張符号列を出力可能な領域が規定されている場合、その領域を補填符号列として利用することにより、MPEG以外の規格に関しても同様の効果を得ることができる。
(第2の実施の形態)
次に、本発明における第2の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第2の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
図16は、本実施の形態における動画像合成装置を示すブロック構成図である。ここで、1601は、サムネール動画をMPEG符号化し、符号化サムネール動画を生成する動画像符号化手段、1602は、MPEG符号化により生成した符号列を一時的に保持するための符号化作業メモリ、1603は、複数の符号化サムネール動画を合成し、マルチ画面動画像符号列を生成する動画像合成手段、である。
以下、この動画像合成装置における、動画像符号化処理、および複数動画像の合成処理の方法について説明する。
まず、動画像データの符号化処理について説明する。
図17は、動画像符号化手段1601において、サムネール動画が、マルチ画面合成可能なMPEG符号化された符号化サムネール動画に変換されるまでの処理フローを示したものである。
ステップ1701では、スライスnのスライスヘッダ符号列を、符号化サムネール動画符号列の一部として出力し、
ステップ1702では、符号化作業メモリの初期化処理として、符号化作業メモリの内容を空にし、
ステップ1703では、マクロブロックmをMPEG符号化(DCT、量子化、可変長符号化)し、その符号化により生成した符号列を符号化作業メモリ内へ出力し、
ステップ1704では、符号化作業メモリ内の符号列に対してバイトアライメント処理を施し、
ステップ1705では、符号化作業メモリ内の符号列を符号化サムネール動画符号列の一部として出力、
をそれぞれ行なう。
図17は、動画像符号化手段1601において、サムネール動画が、マルチ画面合成可能なMPEG符号化された符号化サムネール動画に変換されるまでの処理フローを示したものである。
ステップ1701では、スライスnのスライスヘッダ符号列を、符号化サムネール動画符号列の一部として出力し、
ステップ1702では、符号化作業メモリの初期化処理として、符号化作業メモリの内容を空にし、
ステップ1703では、マクロブロックmをMPEG符号化(DCT、量子化、可変長符号化)し、その符号化により生成した符号列を符号化作業メモリ内へ出力し、
ステップ1704では、符号化作業メモリ内の符号列に対してバイトアライメント処理を施し、
ステップ1705では、符号化作業メモリ内の符号列を符号化サムネール動画符号列の一部として出力、
をそれぞれ行なう。
図18は、ステップ1701にて、スライスヘッダ符号列の例を示したものである。図18(a)、(b)は、一般的なMPEG符号化手段により出力される符号列例である。このように、マクロブロック1の先頭はバイト境界をまたがったものになっている。そこで、本実施の形態における動画像符号化手段1601では、図18(c)に示すようにextra_bit_sliceおよびextra_information_sliceの2組、合計18ビットからなる補充符号列を出力する。このように補充符号列を出力することで、マクロブロック符号列の先頭がきちんとバイト境界から開始されるようになる。
なお、補充符号列は、MPEG規格でも規定された部分を利用して出力するため、復号化器はこのような符号列のある符号化サムネール動画をMPEGビデオシーケンスとして正常に復号化することが可能である。また、図18(c)では、extra_information_sliceとして '1111 1111' を出力しているが、他の値でもかまわない。
以上のように、ステップ1701の処理を行なうことで、スライスを構成するマクロブロック符号列は、バイト境界位置から開始されることを保証することができる。
さて、ここで符号化作業メモリ1602の動作について説明する。
図19は、符号化作業メモリ1602の動作について示したものである。ステップ1702の処理により、符号化作業メモリ1602の内容は空の状態になる(図19(a))。ところで、符号化作業メモリも計算機の一部であり、その読み出し・書き込みアクセスはバイト単位で行なわれる。そこで、変数bを用いることで、バイト内で有効なビット長を表すようにする。図19(b)に示されるように、有効な符号列は35ビットあるので、35を8で割ったあまりの3ビットについては、作業バッファ1902の5バイト目の一部のビットを用いて表現することになる。そのため、変数bを3にすることで、5バイト目の有効なビット長を表す。図19(c)は、図19(b)の状態から、さらに7ビット長の符号列 '1111 111' を符号化作業メモリに追加したときの符号化作業メモリ内の内容の変化を示したものである。
図19は、符号化作業メモリ1602の動作について示したものである。ステップ1702の処理により、符号化作業メモリ1602の内容は空の状態になる(図19(a))。ところで、符号化作業メモリも計算機の一部であり、その読み出し・書き込みアクセスはバイト単位で行なわれる。そこで、変数bを用いることで、バイト内で有効なビット長を表すようにする。図19(b)に示されるように、有効な符号列は35ビットあるので、35を8で割ったあまりの3ビットについては、作業バッファ1902の5バイト目の一部のビットを用いて表現することになる。そのため、変数bを3にすることで、5バイト目の有効なビット長を表す。図19(c)は、図19(b)の状態から、さらに7ビット長の符号列 '1111 111' を符号化作業メモリに追加したときの符号化作業メモリ内の内容の変化を示したものである。
以上のように、符号化作業メモリでは変数bを用いることで、ビット単位での符号列を保持する。
図20は、ステップ1703、1704にて、動画像符号化手段1601が行なうMPEG符号化処理(DCT、量子化、動き予測、可変長符号化)を施したときの符号化作業メモリ1602の内容を示したものである。図20(a)で示されるように、初期状態における符号化作業メモリの内容は、ステップ1702の処理により空の状態になっている。
次に、ステップ1703での、マクロブロックmに対するMPEG符号化処理により得られる符号列が符号化作業メモリへ追加されることで、符号化作業メモリの内容は図20(b)のようになる。図20(b)では、変数bの値が5であるため、マクロブロックの末端はバイト境界を5ビットだけまたがっていることを示している。そこで、マクロブロック符号列の先頭部分に macroblock_stuffingを挿入することで、マクロブロックの末端をバイト境界に接した状態にする。図20(b)にあるように、macroblock_stuffingは11ビット長の符号列なので、macroblock_stuffingを符号化作業メモリの先頭に1つ挿入するごとに、すでに符号化作業メモリ内にある符号列を全体に11ビット後方へシフトすることができる。バイト境界が5ビットだけまたがっている場合には、macroblock_stuffingを1つ挿入すれば、変数bは0となり、マクロブロックの末端をバイトアライメントされた状態にすることができる(図20(c))。
マクロブロックの先頭部分にmacroblock_stuffingを挿入処理を行なった符号
列は、図52(b)にあるようにMPEGビデオシーケンスとして正しいものである。
列は、図52(b)にあるようにMPEGビデオシーケンスとして正しいものである。
図21に、macroblock_stuffing挿入前の変数bの値と、その時の挿入するmacroblock_stuffingの数の関係を示す。
以上のように、マクロブロック符号列は、符号化作業メモリ内でその先頭と末尾がバイト境界に接する状態にされる。動画像符号化手段1601は、ステップ1705にて、符号化作業メモリ内のマクロブロック符号列を符号化サムネール動画符号列の一部として出力する。
なお、補足であるが、マクロブロック単位でマルチ画面合成を行なう場合に、符号化サムネール動画として必要な部分は、符号列の先頭と末端がバイト境界に接しているようなマクロブロック符号列である。上記ステップ1701では、スライスヘッダ符号列の出力を行なっているが、符号化サムネール動画の符号列中には、スライスヘッダ符号列は必ずしも出力されている必要はない。
また、MPEGビデオシーケンスとして必要な符号列(シーケンスヘッダ、GOPヘッダ、ピクチャヘッダ等)を出力することにより、符号化サムネール動画を単体のMPEGビデオシーケンスとして復号し再生表示可能にすることが可能である。
次に、複数符号化サムネール動画をマルチ画面動画として合成する処理について説明する。第1の実施の形態と同じように、図7に示すような縦2横2のマルチ画面を合成するように、動画像一覧生成手段209が動画像合成手段1603に要求を出したものとする。
図22は、動画像合成手段1603によって、複数符号化サムネール動画をマルチ画面合成しそのMPEG符号列を出力するまでの処理フローを示したものである。
ステップ2201では、マルチ画面合成動画をMPEGビデオシーケンスとして復号可能にするために、GOPヘッダ、ピクチャヘッダ、スライスヘッダの各ヘッダ符号列を出力し、
ステップ2202では、各符号化サムネール動画から、マクロブロック符号列を読み出し、
ステップ2203では、マルチ画面動画符号列として、読み出したマクロブロック符号列を出力し、
ステップ2204では、マクロブロックカウントmの値のチェック、
をそれぞれ行なう。
ステップ2201では、マルチ画面合成動画をMPEGビデオシーケンスとして復号可能にするために、GOPヘッダ、ピクチャヘッダ、スライスヘッダの各ヘッダ符号列を出力し、
ステップ2202では、各符号化サムネール動画から、マクロブロック符号列を読み出し、
ステップ2203では、マルチ画面動画符号列として、読み出したマクロブロック符号列を出力し、
ステップ2204では、マクロブロックカウントmの値のチェック、
をそれぞれ行なう。
図23は、図22の処理フローでのループ810、811、812、2205におけるループ処理をC言語で表現したものであり、変数xは処理中である画面の水平方向位置を、同様に変数yは垂直位置を、変数nは処理中である符号化サムネール動画のスライス番号を、変数mは処理中である符号化サムネール動画のマクロブロック番号を、それぞれループカウンタ値として使用している。
図24は、本実施の形態におけるマルチ画面1フレーム分の合成画像処理順序を示したものである。図23のループ処理による、ステップ2202での各符号化サムネール動画のマクロブロック符号列の読み込み、およびステップ2203でのマルチ画面動画符号列の出力はラスタスキャンオーダー(図24でカッコで囲んだ数字順)で行なわれる。すなわち、読み込んだマクロブロック符号列をラスタスキャンオーダーで順に連結することによりマルチ画面動画符号列を生成する。
以上のように、動画像符号化手段1601が、マクロブロック符号列の先頭と末端がバイト境界をまたがらないようなマクロブロック符号列を生成しておくことにより、動画像合成手段1603は、マクロブロック符号列をラスタスキャンオーダーで連結するだけで所望のマルチ画面合成動画の符号列を生成することが可能になり、マルチ画面合成動画生成の高速化を図ることができる。
なお、本実施の形態の図22で示した処理フローでは、マルチ画面合成動画のMPEGビデオシーケンスにおける1ピクチャが1つのスライスのみで構成されるようなフローであるが、複数スライスで構成されたフローにすることでも同様に、マクロブロック符号列をラスタスキャンオーダーで連結するだけで所望のマルチ画面合成動画の符号列を生成することが可能である。このとき、各スライスヘッダ符号列とマクロブロック符号列が、きちんとバイト境界で互いに連結されるように、各スライスヘッダ符号列は、ステップ1701で施した図18(c)のような補充符号列によるバイトアライメント処理を行なう必要がある。
以上のように、本実施の形態では、
マルチ画面合成対象とする動画像を取り込む動画像取込手段と、取り込んだ動画像を所定のサイズに縮小しサムネール動画を生成する動画像縮小手段と、サムネール動画をMPEG符号化し符号化サムネール動画を生成する動画像符号化手段と、動画像符号化手段がマクロブロック符号列を一時的に格納するために用いる符号化作業メモリと、MPEG符号化された符号化サムネール動画を蓄積格納する蓄積手段と、蓄積手段に蓄積した複数符号化サムネール動画を合成しマルチ画面動画像符号列を生成する動画像合成手段と、マルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段と、合成により得られるマルチ画面動画像符号列を復号する動画像復号化手段と、復号化された動画像を画面表示する動画像表示手段とを備え、
符号化作業メモリが、ビット単位で符号列を格納保持する手段を有し、
動画像符号化手段が、補充符号列の挿入によりマクロブロック符号列の先頭と末端がバイト境界に接した状態になるようにし、
動画像合成手段が、目的とするマルチ画面を構成するように前記マクロブロック符号列をラスタスキャンオーダー順に並べることによりマルチ画面動画像符号列を生成するようにした動画像合成装置を実現するものである。
マルチ画面合成対象とする動画像を取り込む動画像取込手段と、取り込んだ動画像を所定のサイズに縮小しサムネール動画を生成する動画像縮小手段と、サムネール動画をMPEG符号化し符号化サムネール動画を生成する動画像符号化手段と、動画像符号化手段がマクロブロック符号列を一時的に格納するために用いる符号化作業メモリと、MPEG符号化された符号化サムネール動画を蓄積格納する蓄積手段と、蓄積手段に蓄積した複数符号化サムネール動画を合成しマルチ画面動画像符号列を生成する動画像合成手段と、マルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段と、合成により得られるマルチ画面動画像符号列を復号する動画像復号化手段と、復号化された動画像を画面表示する動画像表示手段とを備え、
符号化作業メモリが、ビット単位で符号列を格納保持する手段を有し、
動画像符号化手段が、補充符号列の挿入によりマクロブロック符号列の先頭と末端がバイト境界に接した状態になるようにし、
動画像合成手段が、目的とするマルチ画面を構成するように前記マクロブロック符号列をラスタスキャンオーダー順に並べることによりマルチ画面動画像符号列を生成するようにした動画像合成装置を実現するものである。
これにより、動画像合成装置によるマルチ画面の動画像合成を、各マクロブロックを順に並べるだけの処理にし、マルチ画面合成動画像生成の高速化を図ることができ、その実用的効果は大きい。
(第3の実施の形態)
次に、本発明における第3の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第3の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
図25は、本実施の形態における動画像合成装置を示すブロック構成図である。ここで、2501は、マルチ画面をマクロブロックサイズで領域分割したときに各領域のマルチ画面レイアウト情報を保持するレイアウトテーブル、2502は、前記レイアウトテーブルを動画像一覧生成手段からの要求により作成するレイアウトテーブル作成手段、2503は、画像サイズの異なる複数符号化サムネール動画同士を合成し、マルチ画面動画像符号列を生成する動画像合成手段、2504は、各画面領域のサイズが異なるマルチ画面を構成する動画像の組み合わせ・順序一覧を生成する動画像一覧生成手段である。
図26は、動画像合成手段2501によって、画像サイズの異なる符号化サムネール動画同士をマルチ画面合成し、そのMPEG符号列を出力するまでの処理フローを示したものである。
ステップ2601では、マルチ画面合成のための初期化処理としてレイアウトテーブルを作成し、
ステップ2602では、カウンタ値x,yにおいて合成処理を行なうかをチェックし、
ステップ2603では、カウンタ値x,yにおいてスキップマクロブロック符号列を出力するかをチェックし、
ステップ2604では、スキップスライス符号列を出力し、
ステップ2605では、レイアウトテーブルT[x,y]で示される符号化サムネール動画からスライス符号列を読み込み、
ステップ2606では、ループカウンタ値xの値を1インクリメント、
をそれぞれ行なう。
ステップ2601では、マルチ画面合成のための初期化処理としてレイアウトテーブルを作成し、
ステップ2602では、カウンタ値x,yにおいて合成処理を行なうかをチェックし、
ステップ2603では、カウンタ値x,yにおいてスキップマクロブロック符号列を出力するかをチェックし、
ステップ2604では、スキップスライス符号列を出力し、
ステップ2605では、レイアウトテーブルT[x,y]で示される符号化サムネール動画からスライス符号列を読み込み、
ステップ2606では、ループカウンタ値xの値を1インクリメント、
をそれぞれ行なう。
図27は、本実施の形態における画像サイズの異なる符号化サムネール動画により構成されるマルチ画面の例である。ここでは、動画像一覧生成手段209が動画像合成手段2501に対して、図27のようなマルチ画面を合成するように要求を出したものとして説明する。図27では、各符号化サムネール動画の画像サイズは、マクロブロックが水平、垂直の各方向に次の数だけ並んだ大きさである(一般的なマクロブロックのサイズは16画素*16画素)。
符号化サムネール動画A: (5、4)
符号化サムネール動画B: (2、3)
符号化サムネール動画C: (2、2)
符号化サムネール動画D: (2、2)
符号化サムネール動画E: (3、2)
各符号化サムネール動画は、第1の実施の形態で説明したように、動画像符号化手段204により符号化されており、蓄積手段206内に蓄積されているものとする。
符号化サムネール動画A: (5、4)
符号化サムネール動画B: (2、3)
符号化サムネール動画C: (2、2)
符号化サムネール動画D: (2、2)
符号化サムネール動画E: (3、2)
各符号化サムネール動画は、第1の実施の形態で説明したように、動画像符号化手段204により符号化されており、蓄積手段206内に蓄積されているものとする。
図27に示すようなマルチ画面合成を要求されると、動画像合成手段2501は、ステップ2601において、レイアウトテーブル作成手段2502を用いて次のような初期化処理を行なう。すなわち、マルチ画面動画の水平方向のマクロブロック数を示す変数Xを7に、垂直方向のマクロブロック数を示す変数Yを6にする。また2次元配列T[x,y]と表記されるレイアウトテーブル2501の各配列要素に対して(1番目の添え字はマルチ画面をマクロブロックサイズで領域分割したときの水平方向の領域を示し、2番目は垂直方向の領域を示す)、座標(x,y)に対応する領域が、動画を表示しない領域である場合には記号Sを、座標(x,y)に対応する領域が、マルチ画面を構成する各画面領域の左端以外の場合には記号Nを、座標(x,y)に対応する領域が、マルチ画面を構成する各画面領域の左端の場合には、その符号化サムネール動画の識別IDと、その画面領域の一番上を座標1とした場合の垂直座標値からなる記号、で初期化する。
図28は、図27に示すマルチ画面合成を行なう場合のレイアウトテーブル2501の内容を図示したものである。図28では、前述符号化サムネール動画の識別IDは、各桝目のA,B,C,D,Eの部分に相当し、垂直座標値は各桝目の数字部分に相当する。
図29は、図26の処理フローでのループ2607、2608におけるループ処理をC言語で表現したものである。
ステップ2602において、T[x,y]の値が記号Nであった場合には、動画像合成手段2501は何も処理をおこなわない。ステップ2603において、T[x,y]の値が記号Sであった場合には、動画像合成手段2501はスキップスライス符号列を出力する。
図30は、1マクロブロック分だけスキップするスライス符号列の例である。動画像合成手段2501は、図30で示される6バイトを符号列として出力することで、1マクロブロック分の領域をスキップすることができ、これにより何も動画像を表示しない領域を作り出すことができる。
ステップ2605では、T[x,y]の値が示す記号から、符号化サムネール動画の識別IDと垂直座標値を得る。符号化サムネール動画の識別IDは、蓄積手段206内の符号化サムネール動画を識別するために用い、垂直座標値は前記符号化サムネール動画の読み込むべきスライス符号列の番号として使用する。ステップ2605で読み込まれたスライス符号列は、ステップ805にて、座標(x,y)の位置に表示されるべく第1の実施の形態で説明した表示位置情報の書き換え処理がなされる。
ループ2607,2608内の処理を繰り返すことで、動画像合成手段2501は、順次T[x,y]により示される符号化サムネール動画から読み込んだスライス符号列のslice_start_codeとMB_Addr_Incを書き換え、その結果の符号列をマルチ画面動画符号列として出力する。
以上のように、本実施の形態では、
動画像合成装置が、画面サイズが異なる符号化サムネール動画から構成されたマルチ画面の組み合わせ・順序一覧を生成する動画像一覧生成手段と、マルチ画面をマクロブロックサイズで領域分割したときの各領域のマルチ画面レイアウト情報を保持するレイアウトテーブルと、このレイアウトテーブルを作成するレイアウトテーブル作成手段とを有する動画像合成手段とを備えることで、動画像合成手段が、マルチ画面の各座標において、どの符号化サムネール動画のスライス符号列を処理すべきなのかをレイアウトテーブル参照を行なうことにより決定する。レイアウトテーブルには、マルチ画面レイアウト情報として、マルチ画面の各座標が、マルチ画面の各画面領域のどの部分に位置し、またその画面領域に配置される符号化サムネール動画が何であるのか、を保持させる。
動画像合成装置が、画面サイズが異なる符号化サムネール動画から構成されたマルチ画面の組み合わせ・順序一覧を生成する動画像一覧生成手段と、マルチ画面をマクロブロックサイズで領域分割したときの各領域のマルチ画面レイアウト情報を保持するレイアウトテーブルと、このレイアウトテーブルを作成するレイアウトテーブル作成手段とを有する動画像合成手段とを備えることで、動画像合成手段が、マルチ画面の各座標において、どの符号化サムネール動画のスライス符号列を処理すべきなのかをレイアウトテーブル参照を行なうことにより決定する。レイアウトテーブルには、マルチ画面レイアウト情報として、マルチ画面の各座標が、マルチ画面の各画面領域のどの部分に位置し、またその画面領域に配置される符号化サムネール動画が何であるのか、を保持させる。
このような過程を経ることで、動画像合成手段2501は、画像サイズの異なる複数の符号化サムネール動画同士を合成可能にし、画面サイズの異なる符号化サムネール動画同士を混在させたマルチ画面動画像符号列を提供することが可能になり、その実用的効果は大きい。
(第4の実施の形態)
次に、本発明における第4の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第4の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
図31は、本実施の形態における動画像合成装置を示すブロック構成図である。ここで、3101は、マルチ画面動画像符号列を動画像合成サーバに取り込む動画像取込手段、3102は、取り込んだマルチ画面動画像符号列から、各画面領域部分の動画像符号列をそれぞれ抽出するマルチ画面動画像分割手段、3103は、前記マルチ画面動画像とマルチ画面の各領域部分のサイズと位置情報を保持する画面レイアウトテーブルを作成する画面レイアウトテーブル作成手段、3104は、抽出された各動画像符号列を、別のマルチ画面内に再合成可能な符号列(符号化サムネール動画)への変換処理を行なう動画像再符号化手段、3105は、再符号化された符号化サムネール動画および蓄積手段内の符号化サムネール同士を合成し、マルチ画面動画像の符号列を生成する動画像合成手段、3106は、再構成するマルチ画面の組み合わせ・順序一覧を生成する動画像一覧生成手段、である。
まず、入力となったマルチ画面動画像符号列から、各画面領域部分の符号列を分割する処理について説明する。
図32は、マルチ画面動画像分割手段3102によって、入力となるマルチ画面動画像符号列から、マルチ画面を構成している各画面領域部分の動画像符号列を抽出し、それぞれ別の動画像符号列として出力するまでの処理フローを示したものである。
ステップ3201では、マルチ画面動画像データ符号列中に、そのマルチ画面の画面構成を示すレイアウト情報が含まれているかをチェックし、
ステップ3202では、もしレイアウト情報が含まれていれば画面レイアウトテーブルを作成し、
ステップ3203では、マルチ画面動画像データ符号列から1フレーム分の符号列を読み込み、
ステップ3204では、各スライス符号列の切り出しをslice_start_code(図38(a)参照)を探索することにより行ない、
ステップ3205では、切り出したスライスの位置情報を取り出し、
ステップ3206では、切り出したスライス符号列を、符号化サムネールの識別ID、マルチ画面でのスライス位置情報、各画面領域でのスライス位置情報、とともに動画像再符号化手段3104へ出力し、
ステップ3207では、1フレーム分の符号列中の全スライスについて処理したかをチェックし、
ステップ3208では、入力マルチ画面動画像データの全フレームについて処理したかをチェック、
をそれぞれ行なう。
ステップ3201では、マルチ画面動画像データ符号列中に、そのマルチ画面の画面構成を示すレイアウト情報が含まれているかをチェックし、
ステップ3202では、もしレイアウト情報が含まれていれば画面レイアウトテーブルを作成し、
ステップ3203では、マルチ画面動画像データ符号列から1フレーム分の符号列を読み込み、
ステップ3204では、各スライス符号列の切り出しをslice_start_code(図38(a)参照)を探索することにより行ない、
ステップ3205では、切り出したスライスの位置情報を取り出し、
ステップ3206では、切り出したスライス符号列を、符号化サムネールの識別ID、マルチ画面でのスライス位置情報、各画面領域でのスライス位置情報、とともに動画像再符号化手段3104へ出力し、
ステップ3207では、1フレーム分の符号列中の全スライスについて処理したかをチェックし、
ステップ3208では、入力マルチ画面動画像データの全フレームについて処理したかをチェック、
をそれぞれ行なう。
図33は、画面レイアウトテーブルのフォーマットを示したものである。
動画水平サイズおよび動画垂直サイズには、入力となるマルチ画面動画像データのマクロブロック単位でのサイズ、画面数は、マルチ画面を構成する画面領域数、画面mの識別IDは、各画面領域m部分に配置された符号化サムネール動画の識別ID、画面mの位置情報は、画面領域mの左上角の座標位置、画面mの水平サイズおよび垂直サイズは、画面領域mのサイズをそれぞれ格納する。
動画水平サイズおよび動画垂直サイズには、入力となるマルチ画面動画像データのマクロブロック単位でのサイズ、画面数は、マルチ画面を構成する画面領域数、画面mの識別IDは、各画面領域m部分に配置された符号化サムネール動画の識別ID、画面mの位置情報は、画面領域mの左上角の座標位置、画面mの水平サイズおよび垂直サイズは、画面領域mのサイズをそれぞれ格納する。
図34に、図27で示すような画面構成を持つマルチ画面動画データ入力時に作成される画面レイアウトテーブルの例を示したものである。以下、入力となったマルチ画面動画像データが、図27のような画面構成を持つ場合について説明する。
画面レイアウトテーブルの作成は画面レイアウトテーブル作成手段により行なわれ、ステップ3201にて、マルチ画面動画像データ符号列の各ヘッダ部(シーケンスヘッダ、GOPヘッダ、ピクチャヘッダ)の拡張符号領域またはユーザデータ領域に、画面レイアウトテーブルが符号化されて出力されているかをチェックし、もし出力されていれば、ステップ3202にて、その符号列を読み込むことで作成される。
なお、マルチ画面動画像符号列中に画面レイアウトテーブルを出力するために、マルチ画面動画像符号列を生成出力する動画像合成装置は、画面レイアウトテーブルを符号列中に出力する処理を行なう。例えば、第3の実施の形態における動画像合成手段2503は、図28に示したレイアウトテーブルから図34の画面レイアウトテーブルへの変換を行ない、その画面レイアウトテーブルを符号化し出力する。
各スライス符号列の切り出しは、ステップ3204にて、スライスの先頭を示すslice_start_codeの探索により行なわれる。切り出されたスライス符号列の位置情報(マルチ画面でのスライス位置情報)は、ステップ3205にて、
水平位置=先頭マクロブロックのMB_Addr_Incの値
垂直位置=slice_start_codeの4バイト目の値
を参照することにより取得される。
水平位置=先頭マクロブロックのMB_Addr_Incの値
垂直位置=slice_start_codeの4バイト目の値
を参照することにより取得される。
マルチ画面動画像分割手段3102は、ステップ3206にて、画面レイアウトテーブルとマルチ画面でのスライス符号列の位置情報から、符号化サムネールの識別IDと各画面領域でのスライス位置情報を求め、動画像再符号化手段3103へ出力する。
図35は、図34で示した画面レイアウトテーブルと各位置情報例から求められる、符号化サムネールの識別IDと各画面領域でのスライス位置情報を示したものである。なお、図35は、図32の処理フローで処理された順に上から並んでいる。
次に、マルチ画面動画像分割手段3102にて分割抽出されたスライス符号列を、別のマルチ画面内に再合成可能な符号列に変換する処理について説明する。
図36は、動画像再符号化手段3103で、マルチ画面動画像分割手段3102から渡されたスライス符号列,マルチ画面での位置情報,画面領域での位置情報から、スライス符号列を、別のマルチ画面内に再合成可能な符号列への変換処理例を図示したものである。ここで、動画像符号化手段3104が、マルチ画面動画像分割手段3102から渡される値は、
スライス符号列 :図36(a)および(b)で示される符号列
マルチ画面での位置情報:(5,6)
画面領域での位置情報 :(1,2)
識別ID :E
のとおりである。すなわち、図36は、図27で示されたマルチ画面動画において座標(5,6)に配置された符号化サムネール動画Eの2番目のスライス符号列を変換するものである。
スライス符号列 :図36(a)および(b)で示される符号列
マルチ画面での位置情報:(5,6)
画面領域での位置情報 :(1,2)
識別ID :E
のとおりである。すなわち、図36は、図27で示されたマルチ画面動画において座標(5,6)に配置された符号化サムネール動画Eの2番目のスライス符号列を変換するものである。
図36(a)は、マルチ画面動画像分割手段3102から渡されたスライス符号列を示しており、図36(b)は、さらにビット単位で詳細表示したものである。スライス符号列の垂直位置情報は、slice_start_codeの4バイト目、すなわちbuf[3]に格納されているので、buf[3]の値を画面領域での位置情報で示される垂直位置 '2' にするために、
buf[3] = 2
の代入処理を行なう。
buf[3] = 2
の代入処理を行なう。
また、スライス符号列の水平位置は5から1へと書き換える必要があるが、可変長符号ビットMB_Addr_Inc部分である。そのため、水平位置5を可変長符号で表すと '0010'であり、水平位置1を可変長符号で表すと '1' になる。したがって、水平位置を5から1へと書き換えることによりMB_Addr_Inc部分には3ビットが余るが、これを図36(c)のように3バイトのパディングバイトを挿入することで吸収する。そして、図36(c)から(d)の部分に示されるように、水平位置を1にする書き換え演算を行なう。
以上のようにしてスライス位置情報の書き換え処理が行なわれたスライス符号列は、スライス単位で合成可能な符号化サムネール動画Eの符号列として蓄積手段206または直接動画像合成手段3104へ送られ、マルチ画面合成動画として合成に利用される。
以上のように、本実施の形態では、
マルチ画面動画像を取り込む動画像取込手段と、取り込んだマルチ画面動画像符号列から各画面領域部分のスライス符号列を抽出するマルチ画面動画像分割手段と、マルチ画面の各画面領域のサイズと位置情報との対応を保持する画面レイアウトテーブルを作成する画面レイアウトテーブル作成手段と、前記スライス符号列を別のマルチ画面内に再合成可能なスライス符号列への変換処理を行なう動画像再符号化手段と、再符号化されたスライス符号列同士を再合成し別画面構成のマルチ画面動画像符号列を生成する動画像合成手段とを備え、
動画像分割手段が、抽出したスライス符号列のヘッダ部から位置情報を取り出し、この位置情報を用いて画面レイアウトテーブルを参照することで、対応する符号化サムネール動画の識別ID,各画面領域での位置情報を導出し、この導出結果を受けて、動画像再符号化手段が、前記スライス符号列の位置情報を、マルチ画面のものから各画面領域のものへと変換を行なうことにより、前記スライス符号列を別のマルチ画面内に再合成可能な符号列への変換処理を行なうようにする画像合成装置を提供するものである。
マルチ画面動画像を取り込む動画像取込手段と、取り込んだマルチ画面動画像符号列から各画面領域部分のスライス符号列を抽出するマルチ画面動画像分割手段と、マルチ画面の各画面領域のサイズと位置情報との対応を保持する画面レイアウトテーブルを作成する画面レイアウトテーブル作成手段と、前記スライス符号列を別のマルチ画面内に再合成可能なスライス符号列への変換処理を行なう動画像再符号化手段と、再符号化されたスライス符号列同士を再合成し別画面構成のマルチ画面動画像符号列を生成する動画像合成手段とを備え、
動画像分割手段が、抽出したスライス符号列のヘッダ部から位置情報を取り出し、この位置情報を用いて画面レイアウトテーブルを参照することで、対応する符号化サムネール動画の識別ID,各画面領域での位置情報を導出し、この導出結果を受けて、動画像再符号化手段が、前記スライス符号列の位置情報を、マルチ画面のものから各画面領域のものへと変換を行なうことにより、前記スライス符号列を別のマルチ画面内に再合成可能な符号列への変換処理を行なうようにする画像合成装置を提供するものである。
以上のような過程を経ることにより、
マルチ画面動画像を別画面構成に再構成したマルチ画面動画像を生成することを可能にし、特に、動画像再符号化手段3103が、第1の実施の形態で説明した動画像符号化手段204の出力する符号化サムネール動画と同じフォーマットのスライス符号列を出力するので、出力されたスライス符号列は動画像合成手段によりスライス単位で再合成可能なものとすることができ、その実用的効果は大きい。
マルチ画面動画像を別画面構成に再構成したマルチ画面動画像を生成することを可能にし、特に、動画像再符号化手段3103が、第1の実施の形態で説明した動画像符号化手段204の出力する符号化サムネール動画と同じフォーマットのスライス符号列を出力するので、出力されたスライス符号列は動画像合成手段によりスライス単位で再合成可能なものとすることができ、その実用的効果は大きい。
(第5の実施の形態)
次に、本発明における第5の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第5の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
本実施の形態における動画像合成装置のブロック図を図37に示す。ここで、3701は、入力画像に対し画像符号化フォーマットに基づく符号化処理を行ない符号化画像を出力する画像符号化手段、
3702は、符号化画像を蓄積格納する蓄積手段、
3703は、少なくとも1つ以上の符号化画像を入力としマルチ画面画像ストリームを生成する画像合成手段、
3704は、マルチ画面画像ストリームを復号しマルチ画面画像イメージを生成表示する画像復号手段、
である。
3702は、符号化画像を蓄積格納する蓄積手段、
3703は、少なくとも1つ以上の符号化画像を入力としマルチ画面画像ストリームを生成する画像合成手段、
3704は、マルチ画面画像ストリームを復号しマルチ画面画像イメージを生成表示する画像復号手段、
である。
本実施の形態における動画像合成装置の動作について以下説明する。
本実施の形態では、入力画像の画像符号化フォーマットとしてMPEGフォーマットを例に使用するので、画像符号化手段3701は、第1の実施の形態での動画像符号化手段204と同じものであり、その内部動作も同様の説明が適用される。すなわち、入力画像としてサムネール動画、符号化画像として符号化サムネール動画とした説明が適用される。したがって、画像符号化手段3701は、第1の実施の形態での説明に従い、MPEGフォーマットで圧縮符号化された符号化画像を蓄積手段3702へ出力する。
本実施の形態では、入力画像の画像符号化フォーマットとしてMPEGフォーマットを例に使用するので、画像符号化手段3701は、第1の実施の形態での動画像符号化手段204と同じものであり、その内部動作も同様の説明が適用される。すなわち、入力画像としてサムネール動画、符号化画像として符号化サムネール動画とした説明が適用される。したがって、画像符号化手段3701は、第1の実施の形態での説明に従い、MPEGフォーマットで圧縮符号化された符号化画像を蓄積手段3702へ出力する。
蓄積手段3702は、第1の実施の形態での蓄積手段205と同じものであり、その内部動作も同様の説明が適用される。また、蓄積手段3702は符号化画像を蓄積格納し、このとき符号化画像に対して一意に識別可能な画像IDを割り当てて蓄積管理している。図10の(a)では、5つの符号化画像を蓄積し、それぞれの符号化画像に対し、A,B,C,D,Eの画像IDを割り当てて蓄積管理している状態を示している。これらの画像IDを元に、任意の符号化画像を蓄積手段3702から取り出すことが可能である。なお、各符号化画像は、図6で示すような符号化サムネールの構成と同じである。
画像合成手段3703は、少なくとも1つ以上の符号化画像を蓄積手段3702から取り出し、画像合成処理を行なうことでマルチ画面画像ストリームを生成出力する。なお、本実施の形態における画像合成手段3703は、第1の実施の形態での動画像合成手段207と同じものであり、その内部動作も同様の説明が適用される。
本実施の形態では、画像合成手段3703にて図38に示すようなマルチ画面画像を生成する場合について説明する。すなわち、画像合成手段3703は、マルチ画面画像を縦に2分割,横に2分割の合計4つの領域に分割された各領域に対し、蓄積手段3702に格納されている各符号化画像を表示するようなマルチ画面画像を合成する。
図38に示すようなマルチ画面画像を表示するためには、画像合成手段3703から出力されるマルチ画面画像ストリームは、図39で示されるような符号列シーケンスでなければならない。したがって、画像合成手段3703では、図3で示したようなステップを経て、図39で示す符号列生成処理を行なう。この符号列生成処理により生成されるマルチ画面画像ストリームは、MPEGフォーマットとして正しい符号列であるので、画像復号手段3704にてMPEG再生が可能となる。
以上のように本実施の形態の動画像合成装置を構成することで、可変長符号で定義される情報値を変更することで生じる当該情報の符号長変化に対し、膨大なビットシフト演算等の処理を要することなく当該情報値の変更が可能になり、マルチ画面画像ストリーム生成処理の高速化を図ることができる。
また、このとき、画像合成手段により生成されたマルチ画面画像ストリームの符号列シーケンスは、MPEGフォーマットとして正しいものであるので、MPEG符号列を復号する画像復号手段、または画像復号装置(一般的に、MPEGデコーダと呼ぶ)により復号、再生表示が可能となる。
なお、本実施の形態での画像符号化手段の入力となる入力画像は、静止画、動画のどちらであっても構わない。静止画の場合の処理は、本実施の形態(画像符号化手段の動作説明としては第1の実施の形態参照)での説明において、フレームレベルでの処理部分で入力画像が1フレームのみであった場合を適用することで説明できる。
また、入力画像があらかじめ何らかの画像符号化フォーマットで符号化処理が施されていても構わない。この場合は、画像符号化手段は、入力画像に対して画像符号化フォーマットの変換処理を行なうことになる。
また、本実施の形態では、入力画像およびマルチ画面画像ストリームの画像符号化フォーマットとしてMPEGフォーマットを使用し説明しているが、画像符号化フォーマットの規格として、可変長符号として定義される情報を持つ全ての画像符号化フォーマットに対し適用可能である。
また、本実施の形態では、可変長符号として定義された情報の書き換えを行なう画像合成手段の基本演算処理単位長が8ビット(すなわち、現在通常呼ばれる1バイト)として説明しているが、基本単位長は1以上の任意のもので構わない。
また、本実施の形態では、書き換えを行なう情報として水平位置情報を例にしているが、画像符号化フォーマットの規格として、可変長符号として定義される情報であればなんであっても構わない。また一度に変更する情報が複数であっても構わない。
また、本実施の形態では、足りないビットを補填するための拡張符号列として extra_bit_sliceとextra_information_sliceの組を使用しているが、画像符号化フォーマットにおいて画像には影響を与えない、または影響の少ない符号列として定義される部分をあらかじめ符号化画像中に出力しておいても構わない。
(第6の実施の形態)
次に、本発明における第6の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第6の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
本実施の形態における動画像合成装置のブロック図を図40に示す。ここで、4001、4002は、入力データに対して蓄積または保持またはなんらかの処理を一時的もしくは長期にわたり行なったのちに出力する遅延手段、
4003は、符号化画像を蓄積管理する合成サーバ、
4004は、マルチ画面画像ストリームの合成処理および再生表示する再生端末、
である。
4003は、符号化画像を蓄積管理する合成サーバ、
4004は、マルチ画面画像ストリームの合成処理および再生表示する再生端末、
である。
本実施の形態における動画像合成装置の動作について以下説明する。
遅延手段4001および4002は、磁気ディスク,メモリデバイスを含む記憶手段により、遅延手段の入力データの遅延出力を行なったり、フレーム間引き処理による遅延時間の調整などの処理を行なう。
遅延手段4001および4002は、磁気ディスク,メモリデバイスを含む記憶手段により、遅延手段の入力データの遅延出力を行なったり、フレーム間引き処理による遅延時間の調整などの処理を行なう。
ここでは、遅延手段4001(以下、遅延手段1)は、画像符号化手段3701からの符号化画像の符号列を一定時間遅延した後に出力する。この遅延時間は遅延手段の外部から指定可能であり、例えば、再生端末4004から5秒遅延するような指示を行なうことが可能である。また、遅延時間の変更も可能であり、遅延時間が10秒だった初期状態から徐々に遅延時間を小さくし、初期状態から1分後に遅延時間なし(0秒)になるようにすることで、追いかけ再生(Catch-Up)を行なうことも遅延手段の処理に含まれる。
一方、遅延手段4002(以下、遅延手段2)は、蓄積手段3702から取り出した符号化画像に対し、4フレーム置きに符号列を出力(つまり、フレーム番号が1,5,9,13……のフレームの符号列)する。すなわち、遅延手段2から出力された符号化画像は再生速度が4倍速の画像となる。
本実施の形態における画像合成手段は、図41に示すように、4つの経路から符号化画像の符号列を入力する。図41では、画像符号化手段は、入力画像としてカメラからのリアルタイムライブ映像を入力し、MPEG符号化処理を行ない、画像IDがXである符号化画像を出力している。
また、遅延手段1では、前述の遅延処理を行なうとともに、画像IDの変更を行なっており、ここではX′に変更している。また、蓄積手段からは画像IDがBである符号化画像が取り出されている。遅延手段2では、前述の遅延処理を行なうとともに、画像IDをB′に変更している。
したがって、画像合成手段3703は、画像IDがX,X′,B,B′の4つの符号化画像の合成処理を行なう。
図40で示すように、動画像合成装置の構成として、再生端末側に画像合成手段を配置することも可能である。また、その際の画像合成手段3703の内部処理については第1の実施の形態と同様であり、画像復号手段3704は、画像合成手段により合成されたマルチ画面画像ストリームを復号再生する。
本実施の形態によるマルチ画面画像の再生イメージ例を図42に示す。図42は、ライブ映像、ライブ映像の遅延映像、蓄積映像、蓄積映像の変速映像、のような各種映像を各画面領域にマルチ画面画像として合成した際の再生イメージ例である。
以上のように本実施の形態の動画像合成装置を構成することで、入力画像としてカメラからの映像のようなリアルタイムライブ映像と蓄積映像などのマルチ画面合成表示が可能であり、また、遅延手段によるライブ映像部分の遅延再生、フレーム間引き処理による遅延時間の調整などを行なったマルチ画面画像の再生表示が可能となる。
(第7の実施の形態)
次に、本発明における第7の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第7の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
本実施の形態における動画像合成装置のブロック図を図43に示す。ここで、4301は、出力とするマルチ画面画像の再生画面を少なくとも1つ以上の領域に分割したときの各領域の構成をマルチ画面レイアウト情報として保持するレイアウトテーブル、
4302は、レイアウトテーブル内のマルチ画面レイアウト情報の値を変更するレイアウトテーブル変更手段、
である。
4302は、レイアウトテーブル内のマルチ画面レイアウト情報の値を変更するレイアウトテーブル変更手段、
である。
本実施の形態における動画像合成装置の動作について以下説明する。
本実施の形態において、第3の実施の形態での説明と同様の部分については、説明を省略する。つまり、入力画像としてサムネール動画、符号化画像として符号化サムネール動画とした説明が適用される。また、レイアウトテーブル4301は、第3の実施の形態でのレイアウトテーブルと同じものであり、その構成も同様の説明が適用される。また、画像合成手段3703は、図25に示される第3の実施の形態での動画像合成手段2503と同じものであり、その内部動作も同様の説明が適用される。
本実施の形態において、第3の実施の形態での説明と同様の部分については、説明を省略する。つまり、入力画像としてサムネール動画、符号化画像として符号化サムネール動画とした説明が適用される。また、レイアウトテーブル4301は、第3の実施の形態でのレイアウトテーブルと同じものであり、その構成も同様の説明が適用される。また、画像合成手段3703は、図25に示される第3の実施の形態での動画像合成手段2503と同じものであり、その内部動作も同様の説明が適用される。
図44は、レイアウトテーブル変更手段4302でレイアウトテーブルの内容を変更する前後のマルチ画面画像の画面構成を示すものである。図44で示すように、本実施の形態により、画像合成手段3703は画面構成のまったく異なるマルチ画面画像ストリームを生成することが可能となる。
図45は、画像合成手段3703における符号化画像の合成処理を示すものである。図45において、
ステップ4501では、図26に示される第3の実施の形態におけるステップ2601と同じく初期化処理を行ない、初期状態として図44の上のような画面構成を持つレイアウトテーブルを作成し、
ステップ4502では、画像合成手段が、レイアウトテーブルの参照を行なう。すなわち、画像合成手段3703は、マルチ画面画像ストリーム生成処理におけるフレームレベルでの処理開始時に、その時点でのレイアウトテーブルの参照を行ない(ステップ4502)、レイアウトテーブル内のマルチ画面レイアウト情報に沿った合成処理(図45でのステップ803からステップ809)を行なう。これにより、レイアウトテーブル変更手段4302によるマルチ画面画像の画面構成変更は、フレームレベルで行なわれることになる。
ステップ4501では、図26に示される第3の実施の形態におけるステップ2601と同じく初期化処理を行ない、初期状態として図44の上のような画面構成を持つレイアウトテーブルを作成し、
ステップ4502では、画像合成手段が、レイアウトテーブルの参照を行なう。すなわち、画像合成手段3703は、マルチ画面画像ストリーム生成処理におけるフレームレベルでの処理開始時に、その時点でのレイアウトテーブルの参照を行ない(ステップ4502)、レイアウトテーブル内のマルチ画面レイアウト情報に沿った合成処理(図45でのステップ803からステップ809)を行なう。これにより、レイアウトテーブル変更手段4302によるマルチ画面画像の画面構成変更は、フレームレベルで行なわれることになる。
以上のように本実施の形態の動画像合成装置を構成することで、マルチ画面画像の各領域の配置構成、各領域のサイズ、各領域に表示される符号化画像などを動的変更が可能となる。
(第8の実施の形態)
次に、本発明における第8の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
次に、本発明における第8の実施の形態について説明する。なお、前述した実施の形態において説明済みのものについては同じ番号を割り当て、その説明を省略する。
本実施の形態における動画像合成装置のブロック図を図46に示す。ここで、4601は、入力画像に対し画像符号化フォーマットに基づく符号化処理を行ない符号化画像を出力する画像符号化手段、
4602は、少なくとも1つ以上の符号化画像を入力としマルチ画面画像ストリームを生成する画像合成手段、
である。
4602は、少なくとも1つ以上の符号化画像を入力としマルチ画面画像ストリームを生成する画像合成手段、
である。
本実施の形態における動画像合成装置の動作について以下説明する。
まず、本実施の形態の画像符号化手段4601による入力画像の符号化処理について説明する。本実施の形態の画像符号化手段4601により、画像符号化手段へ入力された入力画像はMPEGフォーマットとして符号化処理が施され、符号化画像として蓄積手段3702に蓄積される。画像符号化手段4601のMPEG符号化処理フローは、第1の実施の形態の図3と同じである。なお、図3の説明におけるサムネール動画と本実施の形態における入力画像とは同じものとして扱うことができる。
まず、本実施の形態の画像符号化手段4601による入力画像の符号化処理について説明する。本実施の形態の画像符号化手段4601により、画像符号化手段へ入力された入力画像はMPEGフォーマットとして符号化処理が施され、符号化画像として蓄積手段3702に蓄積される。画像符号化手段4601のMPEG符号化処理フローは、第1の実施の形態の図3と同じである。なお、図3の説明におけるサムネール動画と本実施の形態における入力画像とは同じものとして扱うことができる。
図47は、画像符号化手段4601が、図3に示されるステップ303,305,306,308にて、入力画像を各スライス単位でMPEG符号化し、符号化画像として出力した際の符号列の一例を示したものである。図47(a),(b),(c),(d)は、それぞれ図5(a),(c),(d),(e)の説明が適用される。
このように、本実施の形態における符号化画像の符号列は、一般的なMPEG符号化手段またはMPEG符号化装置(一般的に、MPEGエンコーダと呼ぶ)により生成されたものと同じものである。したがって、本実施の形態における画像符号化手段4601は、一般的なMPEG符号化手段を使用することができる。
画像符号化手段4601により出力された符号化画像は、蓄積手段3702により蓄積管理される。図48は、蓄積手段3702に蓄積されている符号化画像の一例を示したものである。図48の例では、蓄積手段3702には、画像IDがそれぞれA,B,C,D,Eで識別される符号化画像が蓄積されている。また、符号化画像は、水平に2スライスに分割され、各スライスは3つのマクロブロックで構成されていることを示している。
次に、本発明における符号化画像の可変長で定義された情報値の書換え処理について説明する。
本実施の形態では、図38で示すようなマルチ画面画像を合成する場合を例に説明する。マルチ画面画像の合成処理は画像合成手段4602により行なわれ、その処理フローは、第1の実施の形態の図8と同じである。なお、図8の説明における符号化サムネール動画と本実施の形態における符号化画像とは同じものとして扱うことができる。
図49は、画像合成手段4602が、図8に示すステップ804にて行なうスライス符号列の読み出し処理を示したものである。読み出されたスライス符号列は、先頭アドレスが変数Bufによりポインティングされるバッファ内に格納される。
画像合成手段4602は、図8に示すステップ805にて行なうスライス表示位置情報の書換え処理は次のようにして行なう。
垂直位置情報の書換えについては、第1の実施の形態における図11の説明が適用される。ステップ805における可変長符号で定義された水平位置情報の書換え処理を、水平位置の値が1から4に変化した場合を例に説明する。蓄積手段3702に格納された状態では、図47に示すように、符号化画像の水平位置情報値は1であり、その符号列は1ビット長の'1'である。これを水平位置4に書き換えるためには、水平位置4を可変長符号であらわすと4ビット長の'0011'となる。したがって、3ビット分の符号列が不足する。そこで、不足分の符号列を補い、可変長符号で定義された水平位置情報値を高速に書きかえる方法について、図50をもとに説明する。
図50(a)は、ステップ804にてバッファ中にスライス1Aの符号列が読み込まれた状態を示しており、(b)はその時のスライスヘッダ近傍をさらに詳細に示したものである。
画像合成手段4602は、まず buf[4]部分の書換えを行なう。本実施形態では、
buf[4] = buf[4] | 0x07
とする。その後、buf[0]から buf[4]までの5バイトをマルチ画面画像ストリームの符号列として出力する。
buf[4] = buf[4] | 0x07
とする。その後、buf[0]から buf[4]までの5バイトをマルチ画面画像ストリームの符号列として出力する。
次に、6バイトの挿入処理として、0xffを6バイト、同じくマルチ画面画像ストリームの符号列として出力する。
最後に、水平位置情報の書換え処理として、
buf[10] = 0xc6 + (buf[4] & 0x01)
を行なったのち、buf[10]からうしろのすべてのスライス符号列をマルチ画面画像ストリームの符号列として出力する。
buf[10] = 0xc6 + (buf[4] & 0x01)
を行なったのち、buf[10]からうしろのすべてのスライス符号列をマルチ画面画像ストリームの符号列として出力する。
なお、厳密なことを述べると、水平位置情報の書換え処理時に buf[4]の値を参照するために、最初に buf[4]の書換えを行なう際に buf[4]の値は一時的に変数に格納しておく必要がある。
以上のような処理により、可変長符号で定義された情報値の書換えを、単純な計算を数回行なうのみで完了させることができる。したがって、可変長符号で定義される情報値を変更することで生じる当該情報の符号長変化に対し、膨大なビットシフト演算等の処理を要することなく当該情報値の変更を可能にするものであり、マルチ画面画像生成処理の高速化を図ることができる。
また、本画像合成手段の入力となる符号化画像を生成する画像符号化手段が、前述の高速化を実現するための特別な処理を行なっておく必要がないため、前記画像符号化フォーマットに基づいた符号化処理を行なう一般的な画像符号化手段を使用することができる。また、前記画像符号化フォーマットに基づく一般的な符号化画像同士の編集処理の高速化を図ることができる。
なお、以上の実施の形態の説明においては専ら、動画像を対象にして説明してきたが、これに止まらず動画、静止画、音声、テキストなどにおいて、可変長データを扱う素材全てについても同様に扱うことができるものである。その場合においては、「合成」という用語では内容を十分言い尽くすことはできないので、「合成」という用語に代えて、「編集」という用語に置き換える方が適切である。
101 動画像取込手段
102 動画像縮小手段
103 動画像符号化手段
104 合成作業メモリ
105 蓄積手段
106 動画像合成手段
107 動画像一覧生成手段
108 動画像復号化手段
109 動画像表示手段
102 動画像縮小手段
103 動画像符号化手段
104 合成作業メモリ
105 蓄積手段
106 動画像合成手段
107 動画像一覧生成手段
108 動画像復号化手段
109 動画像表示手段
Claims (3)
- 画像データを取り込む画像取込手段と、前記画像データを縮小しサムネール画像を生成する画像縮小手段と、前記サムネール画像をMPEG符号化し符号化サムネール画像を生成する画像符号化手段と、前記符号化サムネール画像を蓄積格納する蓄積手段と、前記蓄積手段に蓄積した1つ以上の前記符号化サムネール画像を編集しマルチ画面画像データを生成する画像編集手段と、前記マルチ画面画像データを復号する画像復号化手段と、復号化された画像データを画面表示する画像表示手段とを備え、
前記画像符号化手段が、
前記符号化サムネール画像が有する前記符号化サムネール画像の表示位置を示した可変長符号の位置情報と、
前記符号化サムネール画像の配置によって前記位置情報に変更が生じた場合に用いる補填符号と、を符号化する場合に、
前記補填符号列の挿入により前記分割されたサムネール画像を符号化したマクロブロック符号列の先頭と末端がバイト境界に接した状態になるようにし、
前記画像編集手段が、
目的とするマルチ画面を構成するように前記マクロブロック符号列をラスタスキャンオーダー順に並べることによりマルチ画面画像データ符号列を生成するマルチメディア情報編集装置。 - 前記画像符号化手段が、
前記マクロブロック符号列の先頭がバイト境界に接した状態になるようにするための補填符号列として、MPEGビデオシーケンスにおけるスライスヘッダ部の extra_bit_slice と extra_information_slice 部分を利用する請求項1記載のマルチメディア情報編集装置。 - 前記画像符号化手段が、
前記マクロブロック符号列の末端がバイト境界に接した状態になるようにするための補填符号列として、マクロブロック符号列の先頭部分にMPEGビデオシーケンスにおける macroblock_stuffing を挿入する請求項1記載のマルチメディア情報編集装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004308515A JP3880596B2 (ja) | 1997-11-11 | 2004-10-22 | マルチメディア情報編集装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30838797 | 1997-11-11 | ||
JP2004308515A JP3880596B2 (ja) | 1997-11-11 | 2004-10-22 | マルチメディア情報編集装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32137598A Division JP3662129B2 (ja) | 1997-11-11 | 1998-10-28 | マルチメディア情報編集装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005027357A JP2005027357A (ja) | 2005-01-27 |
JP3880596B2 true JP3880596B2 (ja) | 2007-02-14 |
Family
ID=34196359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004308515A Expired - Fee Related JP3880596B2 (ja) | 1997-11-11 | 2004-10-22 | マルチメディア情報編集装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3880596B2 (ja) |
-
2004
- 2004-10-22 JP JP2004308515A patent/JP3880596B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005027357A (ja) | 2005-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3662129B2 (ja) | マルチメディア情報編集装置 | |
TWI679885B (zh) | 用於產生媒體資料的方法及設備 | |
US5815604A (en) | Interactive image manipulation | |
US8270493B2 (en) | Capture, editing and encoding of motion pictures encoded with repeating fields or frames | |
KR100579387B1 (ko) | 디지털 정보의 효율적인 전송 및 재생 | |
JP3907947B2 (ja) | Sdtvデバイスを用いたhdtvの編集およびエフェクトの事前視覚化 | |
CN103125123B (zh) | 再现装置、再现方法、集成电路、广播系统及广播方法 | |
US7403209B2 (en) | Rendering images containing video | |
JP2009302637A (ja) | 生成装置、生成方法、及び、プログラム | |
US6414972B1 (en) | Signal decoding method, signal decoding apparatus, signal multiplexing method, signal multiplexing apparatus, and recording medium | |
JP2002118802A (ja) | 映像記録再生装置 | |
JP5701597B2 (ja) | 省メモリ環境におけるビデオモーションメニュー生成 | |
JP4577409B2 (ja) | 再生装置、再生方法、プログラム、及び、データ構造 | |
EP0858220A1 (en) | Object based digital video transmission method, data structure, decoder and recording media | |
JP3880597B2 (ja) | マルチメディア情報編集装置 | |
JP3880596B2 (ja) | マルチメディア情報編集装置 | |
US20130287361A1 (en) | Methods for storage and access of video data while recording | |
KR100474916B1 (ko) | 썸네일 영상 생성 장치 및 그 방법 | |
JP2000152235A (ja) | データ処理装置及びその方法、及びデータ処理システム | |
JPH0759051A (ja) | 動画像処理装置 | |
CN100525412C (zh) | 再现装置、方法、记录方法、图像显示装置和记录介质 | |
JP2004040807A (ja) | データフロー再生方法及び装置と、それに関連するシステム及び信号 | |
JP4151122B2 (ja) | 動画像合成装置 | |
JP2000078543A (ja) | 画像圧縮符号化ストリーム合成方法及び装置 | |
JP2006129338A (ja) | 映像記録再生装置及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041022 |
|
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: 20061107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061107 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |