(57)【要約】【課題】符号化された動画像データの変換や編集を実行するに際し、負荷の軽い簡易な処理で再現性のある正しい符号化データを生成することが可能な動画像再符号化装置を提供する。【解決手段】符号化ビットストリームから動画像のフレームを復号する復号手段１２と、復号されたフレームから再符号化するフレームを選択するフレーム選択手段１５と、選択されたフレームのみを再符号化する符号化手段１４と、フレームを再符号化した後、そのフレームから次に再符号化対象となるフレームまでのフレーム間隔を算出し、該算出したフレーム間隔を復号手段１２に通知する間隔通知手段１３とを備える。復号手段１２は、間隔通知手段１３による通知後、通知されたフレーム間隔に基づく時刻が経過するまでビットストリームの復号を実行する。フレーム選択手段１５は、その時刻が経過するまでのフレームのうち最後のフレームを、次に再符号化するフレームとして選択する。【選択図】図１
2006115051.tif 000002
【特許請求の範囲】
【請求項１】
動画像を符号化したビットストリームから動画像のフレームを復号する復号手段と、該復号手段で復号されたフレームから、再符号化するフレームを選択するフレーム選択手段と、該フレーム選択手段で選択されたフレームのみを再符号化する符号化手段と、該符号化手段でフレームを再符号化した後、該フレームから次に再符号化対象となるフレームまでのフレーム間隔を算出し、該算出したフレーム間隔を前記復号手段に通知する間隔通知手段とを備え、前記復号手段は、前記間隔通知手段による通知後、該通知されたフレーム間隔に基づく時刻が経過するまで前記ビットストリームの復号を実行し、前記フレーム選択手段は、前記時刻が経過するまでのフレームのうち最後のフレームを、次に再符号化するフレームとして選択することを特徴とする動画像再符号化装置。
【請求項２】
前記間隔通知手段は、前記符号化手段によってフレームを再符号化した際のレート制御情報に基づいて、前記フレーム間隔を算出する手段を有することを特徴とする請求項１に記載の動画像再符号化装置。
【請求項３】
前記レート制御情報は、前記符号化手段によって再符号化したフレームの画像サイズ、該フレームの再符号化時の符号量、前記符号化手段における符号化ビットレート、並びに、前記符号化手段での再符号化終了時における、復号する際のビデオメモリを仮想した仮想バッファの占有量のうち、いずれか１又は複数の情報であることを特徴とする請求項２に記載の動画像再符号化装置。
【請求項４】
ユーザから、再符号化対象となるビットストリームの指定と、動画像再符号化指示を含む操作とを受け付ける操作入力手段をさらに備え、前記符号化手段は、前記操作入力手段で入力された操作に基づく符号化ビットレートで符号化を実行することを特徴とする請求項１乃至３のいずれか１項に記載の動画像再符号化装置。
【請求項５】
前記操作入力手段によって入力された操作に関する情報に基づいて、予め前記フレーム間隔の最小値を予想する最小値算出手段をさらに備え、前記復号手段は、前記間隔通知手段からのフレーム間隔の通知に先立って、最大、前記最小値算出手段で算出したフレーム間隔の最小値が示す時刻に至るまで、復号を継続しておくことを特徴とする請求項４に記載の動画像再符号化装置。
【請求項６】
前記符号化手段は、再符号化対象のフレームを、フレーム内符号化する手段及びフレーム間符号化する手段を有することを特徴とする請求項１乃至５のいずれか１項に記載の動画像再符号化装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の動画像再符号化装置を備えた動画像編集装置であって、前記ビットストリームに対し、編集の指示をユーザから受け付ける編集受付手段と、該編集受付手段で受け付けた指示に基づいて動画像を編集する編集手段とを備え、前記動画像再符号化装置は、前記編集手段での動画像の編集に伴って編集後の動画像を再符号化することを特徴とする動画像編集装置。
【請求項８】
動画像を符号化したビットストリームから動画像のフレームを復号する復号手段と、該復号手段で復号したフレームを再符号化する符号化手段とを備えた動画像再符号化装置に組み込むためのプログラムであって、前記動画像再符号化装置における制御部に、前記復号手段で復号されたフレームから、再符号化するフレームを選択するフレーム選択ステップと、該フレーム選択ステップで選択されたフレームのみを前記符号化手段で符号化させる符号化指示ステップと、前記符号化手段でフレームが再符号化された後、該フレームから次に再符号化対象となるフレームまでのフレーム間隔を算出し、該算出したフレーム間隔を前記復号手段に通知する間隔通知ステップと、前記間隔通知ステップによる通知後、該通知されたフレーム間隔に基づく時刻が経過するまで前記ビットストリームの復号を実行するよう前記復号手段に指示する復号指示ステップとを実行させ、前記フレーム選択ステップは、前記時刻が経過するまでのフレームのうち最後のフレームを、次に再符号化するフレームとして選択するステップを有することを特徴とするプログラム。
【請求項９】
前記間隔通知ステップは、前記符号化手段によってフレームを再符号化した際のレート制御情報に基づいて、前記フレーム間隔を算出するステップを有することを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記レート制御情報は、前記符号化手段によって再符号化したフレームの画像サイズ、該フレームの再符号化時の符号量、前記符号化手段における符号化ビットレート、並びに、前記符号化手段での再符号化終了時における、復号する際のビデオメモリを仮想した仮想バッファの占有量のうち、いずれか１又は複数の情報であることを特徴とする請求項９に記載のプログラム。
【請求項１１】
当該プログラムは、前記制御部に、ユーザから、再符号化対象となるビットストリームの指定と、動画像再符号化指示を含む操作とを受け付ける操作入力ステップをさらに実行させ、前記符号化指示ステップは、前記符号化手段に、前記操作入力ステップで入力された操作に基づく符号化ビットレートで符号化を実行するよう指示することを特徴とする請求項８乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
当該プログラムは、前記制御部に、前記操作入力ステップによって入力された操作に関する情報に基づいて、予め前記フレーム間隔の最小値を予想する最小値算出ステップをさらに実行させ、前記復号指示ステップは、前記復号手段に、前記間隔通知ステップによるフレーム間隔の通知に先立って、最大、前記最小値算出ステップで算出したフレーム間隔の最小値が示す時刻に至るまで、復号を継続しておくよう指示することを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記符号化手段は、再符号化対象のフレームを、フレーム内符号化する手段及びフレーム間符号化する手段を有することを特徴とする請求項８乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
当該プログラムは、前記制御部に、前記ビットストリームに対し、編集の指示をユーザから受け付ける編集受付ステップと、該編集受付ステップで受け付けた指示に基づいて動画像を編集する編集ステップとをさらに実行させ、且つ、前記制御部に、前記編集ステップでの動画像の編集に伴って編集後の動画像を再符号化するよう前記復号手段及び符号化手段を制御させることを特徴とする請求項８乃至１３のいずれか１項に記載のプログラム。
【請求項１５】
請求項１乃至７のいずれか１項に記載の装置として、コンピュータを機能させるためのプログラム。
【請求項１６】
請求項８乃至１５のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像再符号化装置、動画像編集装置、プログラム、及び記録媒体に関し、より詳細には、符号化された動画像のストリームから異なるストリームを生成する際に使用する動画像再符号化装置、動画像編集装置、それら装置のプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−２，４等の符号化方式で符号化された動画像を編集する場合、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）単位での編集、イントラ符号化画像のフレーム（Ｉフレーム）単位での編集などが行われてきた。このような編集方式の場合、予測符号化画像のフレーム（Ｐフレーム）や双方向予測符号化画像のフレーム（Ｂフレーム）といったＩフレーム以外での編集が困難であり、指定できるフレームに制限がある。
【０００３】
従って、Ｉフレーム以外のフレームから編集するには、映像データを一旦復号し、入力画像として処理する必要がある。また、任意位置からの切り出しに際しては、切り出しの先頭だけをデコードし、後はデコードせずにデータをコピーするといった技術も提案されている。
【０００４】
また、映像データを、表示枠の拡大／縮小などにより異なる画像サイズに変更するため、並びに異なるビットレートに変更するためには、符号化されたままでは不可能であり、デコーダにて一度復号して画像フレームに戻した後、エンコーダにて再度符号化する必要がある。従って、ＭＰＥＧ−２，４等の符号化された動画像に対し、ユーザがデータを小さくしたい場合やユーザが特定の範囲だけを取り出したい場合などには、このような再符号化処理によって元のストリームとは異なるストリームを生成することになる。
【０００５】
しかしながら、再度符号化することは、復号と符号化を同時に処理する必要があり、負荷が高いといった問題や、復号したデータを確実に符号化するための同期処理が困難であるといった問題が生じている。
【０００６】
また、再符号化技術として、画質劣化を抑制し、高速且つ効率的にビットレート変換を実現させることを目的とした圧縮動画像の再符号化プログラム、装置、及び方法が提案されている（例えば、特許文献１を参照）。特許文献１に記載の再符号化技術では、デコーダが１フレームデコードする毎に、エンコードを実行している。
【特許文献１】特開２００３−２４４７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、任意位置からの切り出しに際して、切り出す先頭のフレームだけデコードしてＩフレームにエンコードし、それ以降のフレームは再符号化せずにオリジナルデータをコピーするといった、上述のごとき技術を採用すると、Ｉフレームとそれ以降のフレームで不整合が起こり、画質劣化が起こり、規格違反になり易い。そして、不整合を生じさせないためには、オリジナルのビデオのビットレートなどを解析する必要があるため、処理負荷が重くなる。
【０００８】
また、特許文献１のごとき、デコーダがデコードした１フレームをエンコードするといった技術を採用すると、できあがるビデオビットストリームが規格に合わない場合が多くなる。
【０００９】
さらに、動画像再符号化装置を、デコーダとエンコーダとで同期を取らずに実時間で動作するよう構成することも可能であるが、パワーの小さいＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）では、コンテンツのフレーム数が極端に少なくなる。さらに、再符号化を行う際にエンコーダとデコーダを非同期で同時に動作させた場合、同じ動画ファイルを再符号化した場合でも、機器の処理能力によって結果が異なるといったことが生じる。
【００１０】
上述のごとく、符号化された動画像データ（映像データ）の、サイズ変更やビットレート変換といった変換や、編集、特にＩフレーム以外からの編集を実行する場合には、処理が複雑になって負荷が重くなり、場合によっては規格に合わない結果となってしまう。
【００１１】
本発明は、上述のごとき実情に鑑みてなされたものであり、符号化された動画像データの変換や編集を実行するに際し、負荷の軽い簡易な処理で再現性のある正しい符号化データを生成することが可能な、動画像再符号化装置、該装置を備えた動画像編集装置、動画像再符号化プログラム、動画像編集プログラム、それらプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することをその目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上述のごとき課題を解決するために、以下の各技術手段でそれぞれ構成される。
第１の技術手段は、動画像を符号化したビットストリームから動画像のフレームを復号する復号手段と、該復号手段で復号されたフレームから、再符号化するフレームを選択するフレーム選択手段と、該フレーム選択手段で選択されたフレームのみを再符号化する符号化手段と、該符号化手段でフレームを再符号化した後、該フレームから次に再符号化対象となるフレームまでのフレーム間隔を算出し、該算出したフレーム間隔を前記復号手段に通知する間隔通知手段とを備え、前記復号手段は、前記間隔通知手段による通知後、該通知されたフレーム間隔に基づく時刻が経過するまで前記ビットストリームの復号を実行し、前記フレーム選択手段は、前記時刻が経過するまでのフレームのうち最後のフレームを、次に再符号化するフレームとして選択することを特徴とする動画像再符号化装置である。
【００１３】
第２の技術手段は、第１の技術手段において、前記間隔通知手段は、前記符号化手段によってフレームを再符号化した際のレート制御情報に基づいて、前記フレーム間隔を算出する手段を有することを特徴としたものである。
【００１４】
第３の技術手段は、第２の技術手段において、前記レート制御情報は、前記符号化手段によって再符号化したフレームの画像サイズ、該フレームの再符号化時の符号量、前記符号化手段における符号化ビットレート、並びに、前記符号化手段での再符号化終了時における、復号する際のビデオメモリを仮想した仮想バッファの占有量のうち、いずれか１又は複数の情報であることを特徴としたものである。
【００１５】
第３の技術手段は、第１乃至第３のいずれかの技術手段において、ユーザから、再符号化対象となるビットストリームの指定と、動画像再符号化指示を含む操作とを受け付ける操作入力手段をさらに備え、前記符号化手段は、前記操作入力手段で入力された操作に基づく符号化ビットレートで符号化を実行することを特徴としたものである。
【００１６】
第５の技術手段は、第４の技術手段において、前記操作入力手段によって入力された操作に関する情報に基づいて、予め前記フレーム間隔の最小値を予想する最小値算出手段をさらに備え、前記復号手段は、前記間隔通知手段からのフレーム間隔の通知に先立って、最大、前記最小値算出手段で算出したフレーム間隔の最小値が示す時刻に至るまで、復号を継続しておくことを特徴としたものである。
【００１７】
第６の技術手段は、第１乃至第５のいずれかの技術手段において、前記符号化手段は、再符号化対象のフレームを、フレーム内符号化する手段及びフレーム間符号化する手段を有することを特徴としたものである。
【００１８】
第７の技術手段は、第１乃至第６のいずれかの技術手段における動画像再符号化装置を備えた動画像編集装置であって、前記ビットストリームに対し、編集の指示をユーザから受け付ける編集受付手段と、該編集受付手段で受け付けた指示に基づいて動画像を編集する編集手段とを備え、前記動画像再符号化装置は、前記編集手段での動画像の編集に伴って編集後の動画像を再符号化することを特徴としたものである。
【００１９】
第８の技術手段は、動画像を符号化したビットストリームから動画像のフレームを復号する復号手段と、該復号手段で復号したフレームを再符号化する符号化手段とを備えた動画像再符号化装置に組み込むためのプログラムであって、前記動画像再符号化装置における制御部に、前記復号手段で復号されたフレームから、再符号化するフレームを選択するフレーム選択ステップと、該フレーム選択ステップで選択されたフレームのみを前記符号化手段で符号化させる符号化指示ステップと、前記符号化手段でフレームが再符号化された後、該フレームから次に再符号化対象となるフレームまでのフレーム間隔を算出し、該算出したフレーム間隔を前記復号手段に通知する間隔通知ステップと、前記間隔通知ステップによる通知後、該通知されたフレーム間隔に基づく時刻が経過するまで前記ビットストリームの復号を実行するよう前記復号手段に指示する復号指示ステップとを実行させ、前記フレーム選択ステップは、前記時刻が経過するまでのフレームのうち最後のフレームを、次に再符号化するフレームとして選択するステップを有することを特徴としたものである。
【００２０】
第９の技術手段は、第８の技術手段において、前記間隔通知ステップは、前記符号化手段によってフレームを再符号化した際のレート制御情報に基づいて、前記フレーム間隔を算出するステップを有することを特徴としたものである。
【００２１】
第１０の技術手段は、第９の技術手段において、前記レート制御情報は、前記符号化手段によって再符号化したフレームの画像サイズ、該フレームの再符号化時の符号量、前記符号化手段における符号化ビットレート、並びに、前記符号化手段での再符号化終了時における、復号する際のビデオメモリを仮想した仮想バッファの占有量のうち、いずれか１又は複数の情報であることを特徴としたものである。
【００２２】
第１１の技術手段は、第８乃至第１０のいずれかの技術手段において、当該プログラムは、前記制御部に、ユーザから、再符号化対象となるビットストリームの指定と、動画像再符号化指示を含む操作とを受け付ける操作入力ステップをさらに実行させ、前記符号化指示ステップは、前記符号化手段に、前記操作入力ステップで入力された操作に基づく符号化ビットレートで符号化を実行するよう指示することを特徴としたものである。
【００２３】
第１２の技術手段は、第１１の技術手段において、当該プログラムは、前記制御部に、前記操作入力ステップによって入力された操作に関する情報に基づいて、予め前記フレーム間隔の最小値を予想する最小値算出ステップをさらに実行させ、前記復号指示ステップは、前記復号手段に、前記間隔通知ステップによるフレーム間隔の通知に先立って、最大、前記最小値算出ステップで算出したフレーム間隔の最小値が示す時刻に至るまで、復号を継続しておくよう指示することを特徴としたものである。
【００２４】
第１３の技術手段は、第８乃至第１２のいずれかの技術手段において、前記符号化手段は、再符号化対象のフレームを、フレーム内符号化する手段及びフレーム間符号化する手段を有することを特徴としたものである。
【００２５】
第１４の技術手段は、第８乃至第１３のいずれかの技術手段において、当該プログラムは、前記制御部に、前記ビットストリームに対し、編集の指示をユーザから受け付ける編集受付ステップと、該編集受付ステップで受け付けた指示に基づいて動画像を編集する編集ステップとをさらに実行させ、且つ、前記制御部に、前記編集ステップでの動画像の編集に伴って編集後の動画像を再符号化するよう前記復号手段及び符号化手段を制御させることを特徴としたものである。
【００２６】
第１５の技術手段は、第１乃至第７のいずれかの技術手段における装置として、コンピュータを機能させるためのプログラムである。
【００２７】
第１６の技術手段は、第８乃至第１５のいずれかの技術手段におけるプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２８】
本発明によれば、符号化された動画像データの変換や編集を実行するに際し、負荷の軽い簡易な処理で再現性のある正しい符号化データを生成することが可能となる。
【発明を実施するための最良の形態】
【００２９】
図１は、本発明の一実施形態に係る動画像再符号化装置の一構成例を示す図で、図中、１は動画像再符号化装置、１１は操作入力手段、１２は復号手段、１３は間隔通知手段、１４は符号化手段、１５はフレーム選択手段である。
【００３０】
本実施形態に係る動画像再符号化装置は、復号手段１２，間隔通知手段１３，符号化手段１４，フレーム選択手段１５を備えるものとし、図１で例示する動画像再符号化装置１は、それらの構成要素に加え、操作入力手段１１を備えるものとする。
【００３１】
操作入力手段１１は、ユーザから、再符号化対象となるビットストリームの指定と、動画像再符号化指示を含む操作とを受け付け、受け付けた情報を後段に渡す手段である。ここで、動画像再符号化指示とは、対象となる動画像データの指定と、その動画像データに対する、区間編集や付加データの挿入，重ね合わせなどの編集、ビットレート変換、サイズ変換などの指示が、一般的に含まれる。例えば、「ファイルＡ（ビットレート５００ｂｐｓ）の動画像データを３８４ｂｐｓの動画像データで記録する」、「ファイルＡの動画像データのうち、開始から１０分〜３０分の間のデータを１／３のデータ量で記録する」といった指示がそれに該当する。また、ここでは、符号化ビットストリームに対して編集の指示をユーザから受け付ける編集受付手段も、この操作入力手段１１に含まれるものとして説明しているが、この限りではない。
【００３２】
また、これら操作に関する情報が復号手段１２，符号化手段１４，フレーム選択手段１５に伝送されるものとして、ここでは説明するが、各手段の形態によってはその限りではなく、例えば、間隔通知手段１３にも伝送されてもよいし、フレーム選択手段１５に伝送せずに復号が開始されたらそのフレームを復号手段１２からフレーム選択手段１５に通知するようにしてもよい。また、操作の種類も様々であり、編集や各種変換を併せて実行させるような操作にも本発明は対応可能である。さらに、操作の方法については、ユーザが再符号化指示に関する操作を可能としておけばよいが、ユーザが操作し易いようなＧＵＩ（グラフィカルユーザインターフェイス）を組み込むことが好ましい。また、操作の種類に応じて動画像データの各種編集を上述のＧＵＩ経由などで実行する編集手段を、動画像再符号化装置１に備えることで、区間編集や付加データの挿入，重ね合わせなどの編集も可能となる。実際には、編集手段が、編集受付手段で受け付けた指示に基づいて動画像を編集し、動画像再符号化装置１は、この編集手段での動画像の編集に伴って編集後の動画像を再符号化するとよい。なお、本発明では、編集と再符号化のタイミングについては特に問わない。
【００３３】
復号手段１２は、動画像を符号化したビットストリーム（符号化ビデオストリームともいう）から動画像のフレームを復号する。ここでは、操作入力手段１１でユーザ入力された再符号化開始／終了指示或いは復号開始／終了指示に基づいて、指定されたビットストリームの復号を開始／終了するものとし、その期間で復号フレームを生成することとなる。その他、上述したビットストリーム入力手段による入力制御で、再符号化の開始及び終了を制御するようにしてもよい。
【００３４】
但し、後述するように、復号手段１２は、そのフレームが符号化ビデオストリーム上でＩフレームであるか否かに拘わらず、開始指示のあったビデオフレームを復号し、最初のビデオフレームを復号した後は、基本的に、間隔通知手段１３からのフレーム間隔の通知を受信するまで復号を実行しないものとする。また、実際には、記録媒体から或いはネットワークを通じて対象となる動画像データ（動画像ビットストリーム）を入力するビットストリーム入力手段が、動画像再符号化装置１に併設されている。
【００３５】
フレーム選択手段１５は、復号手段１２で復号されたフレームから、再符号化するフレームを選択する。さらに、フレーム選択手段１５は、後述の通知されたフレーム間隔に基づく時刻が経過するまでのフレームのうち、最後のフレームを次に再符号化するフレームとして選択する。また、フレーム選択手段１５では、復号手段１２で最初に復号されたフレーム（開始指示に基づくフレーム）は無条件に選択するものとする。
【００３６】
符号化手段１４は、フレーム選択手段１５で選択されたフレームのみを再符号化する。ここで、符号化手段１４は、操作入力手段１１で入力された操作の内容に基づく符号化ビットレート（或いは符号化率）で符号化を実行すればよい。また、符号化手段１４は、その符号化の実行に際し、符号化後の任意のデコーダでの復号が可能なよう、デコーダのビデオメモリを仮想した仮想バッファがオーバーフローもアンダーフローもしないように制御されている。この仮想バッファは、ＭＰＥＧ方式では、受信側（復号側）のトランスポートストリーム（ＴＳ）バッファの容量を越えるストリームが生じないように監視するためのものであり、ＶＢＶ（Ｖｉｄｅｏ  Ｂｕｆｆｅｒｉｎｇ  Ｖｅｒｉｆｉｅｒ）バッファと呼ばれ、そのバッファ上限値が規格化されている。
【００３７】
また、符号化手段１４は、操作入力手段１１で入力された再符号化終了の指示（予約での終了指示も含む）に基づいて符号化を終了するよう構成してもよいし、復号手段１２が、このような終了指示を受信して復号を停止して自動的に符号化手段１４の符号化を終了するよう構成してもよい。また、符号化手段１４は、再符号化対象のフレームを、フレーム内符号化する手段及びフレーム間符号化する手段を有するようにすることが好ましい。
【００３８】
間隔通知手段１３は、符号化手段１４でフレームを再符号化した後、まずそのフレームから次に再符号化対象となるフレームまでのフレーム間隔（フレームインターバル）を算出し、算出したフレーム間隔を復号手段１２に通知する。ここで通知するフレーム間隔は、符号化手段１４によってフレームを再符号化した際のレート制御情報に基づいて算出することが好ましい。このレート制御情報については後述するが、特に上述した仮想バッファが溢れないように制御するための情報を含む。また、実際には、符号化手段１４で再符号化した動画像データを記録媒体へ或いはネットワークを通じて他の装置へ出力するビットストリーム出力手段が、動画像再符号化装置１に併設されている。また、動画像再符号化装置１に、上述した操作入力手段１１，編集手段，ビットストリーム入力手段と共に、このビットストリーム出力手段（好ましくは出力先の記録媒体も含む）も併設した形態は、動画像の読み出しから編集・記録までが可能であるので、動画像編集装置といえる。
【００３９】
なお、ここで、フレーム間隔（ＦｒａｍｅＩｎｔｅｒｖａｌ）について補足する。通常、画像の符号化の規格では単位時間当たりの処理量をある範囲内に抑えるための規定がされている。例えば、ＭＰＥＧ−４の規格ではＭＰＥＧ−４の各レベルによって仮想的なバッファを規定し、その範囲内でデータの受信、符号化を行うことが規定されている（ＭＰＥＧ−４  ｖｉｓｕａｌ  Ａｎｎｅｘ  Ｄ）。そのため、画像の符号化を行うコーデックでは、規格で規定されているバッファの範囲内に収まるように符号化する必要がある。このとき、制御に用いられるのが符号化するフレームの間隔（ＦｒａｍｅＩｎｔｅｒｖａｌ）である。なお、ここでは、フレームインターバルについて記載しているが、エンコーダの制御に用いるパラメータはフレームインターバル以外にもＱＰ値（量子化パラメータ）等がある。
【００４０】
そして、復号手段１２は、間隔通知手段１３による通知後、通知されたフレーム間隔に基づく時刻が経過するまで符号化ビデオストリームの復号を実行する。通知されたフレーム間隔に基づく時刻が経過するまで復号するとは、装置１内の時計でいうと通知時刻にフレーム間隔を加えた時刻が経過するまで復号することを指し、言い換えると、符号化ビデオストリームにＭＰＥＧ方式でのＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）等の時刻情報がヘッダの一情報として付加されている場合には、最初に復号手段１２で復号したフレームの指す時刻にフレーム間隔を足した時刻のフレームまで復号することを指すともいえる。また、復号手段１２は、フレームが符号化ビデオストリーム上でＩフレームであるか否かに拘わらず、開始指示のあったビデオフレームを復号し（勿論、例えばＰフレームであった場合はその復号に必要なＩフレームも前もって復号することとなる）、基本的に、最初のビデオフレームを復号した後は間隔通知手段１３からのフレーム間隔の通知を受信するまで復号を実行しないものとする。
【００４１】
しかしながら、操作入力手段１１によって入力された操作に関する情報（操作の種類や符号化ビデオストリームのビットレートなど）に基づいて、予めフレーム間隔の最小値を予想し、まず、その予想したフレーム間隔の最小値まで、復号を予め実行しておくようにしてもよい。この予想は、フレーム間隔の最小値の予想を算出する最小値算出手段を、動画像再符号化装置１にさらに備えておくことで可能となる。そして、復号手段１２は、間隔通知手段１３からのフレーム間隔の通知に先立って、最大、最小値算出手段で算出したフレーム間隔の最小値が示す時刻に至るまで、復号を継続しておくとよい。このような形態では、最小値が示す時刻が、間隔通知手段１３で通知される実際のフレーム間隔が示す時刻を過ぎることは有り得ないので、最小値が示す時刻まで、復号手段１２の復号処理を停止しなければならないといった時間のロスが無くなる。
【００４２】
次に、レート制御情報について説明する。レート制御情報とは、符号化手段１４によって再符号化したフレームの画像サイズ、そのフレームの再符号化時の符号量、動画像再符号化装置１におけるビットレート（すなわち再符号化ビットレート）、並びに、現在（再符号化終了時）の、復号する際のビデオメモリを想定した仮想バッファの占有量のうち、いずれか１又は複数の情報を指し、好ましくはこれら全ての情報とする。ここで、最初の３つの情報は、元々操作入力手段１１におけるユーザ指示と元の符号化ビットストリームとに基づく設定情報であり、従って、上述した最小値算出手段を備える形態にあっては、これらの設定情報と符号化終了時のバッファ量の予想値とから最小値を算出するようにすればよい。
【００４３】
上述した本発明に係る各実施形態では、上述のごとく符号化手段１４（例えばエンコーダ）の要求に合わせて復号手段１２（例えばデコーダ）を動作させることで、機器の処理能力に関係なく、エンコーダの要求に最適なファイルが作成でき、再現性のある再符号化処理が可能である。また、エンコーダ、デコーダを制御する際に特殊な情報ではなく、従来から存在する情報を用い、複雑な計算無しで制御することが可能であるため、本発明に係る方式を導入することで処理負荷が増大することもない。また、本発明によれば、負荷の軽い処理で動画像の編集・再符号化を行うが、簡易な処理にかかわらず生成される符号は規格に適合したものとなっている。また、再符号化処理は、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ），ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の各種レコーダなど様々な機器で行われている処理であり、本発明はこのようなレコーダにも組み込むことでも好適に機能する。
【００４４】
図２は、本発明に係る動画像再符号化装置に適用可能なコンピュータの一構成例を示す図で、図３は、図１の動画像再符号化装置における再符号化処理の一例を説明するためのフロー図で、本発明の一実施形態に係る動画像再符号化プログラムの処理手順の一例を説明するためのフロー図でもある。図２において、２はコンピュータ、２１はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、２２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、２３はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、２４は入力装置、２５は表示装置、２６は出力装置である。
【００４５】
上述のごとき構成の動画像再符号化装置１における処理手順を、図２のコンピュータ２におけるＲＯＭ２３に本発明の一実施形態に係る動画像再符号化プログラムを実行可能に組み込んだ例を挙げて、図３を参照して説明する。なお、図２のコンピュータ２は、本発明に係る再符号化処理の機能を組み込んだレコーダ等の各種機器における制御部を含む主要部を表すだけでなく、汎用のパーソナルコンピュータ（ＰＣ）を表しているともいえる。
【００４６】
コンピュータ２は、各種情報を入力するためのキーボード，マウス，記録媒体読取装置，他の機器からの入力用のネットワーク機器などの入力装置２４、編集を行うための動画像データや各種設定画面等を表示するためのＬＣＤ，ＰＤＰ，有機ＥＬ，ＣＲＴなどのディスプレイである表示装置２５、記録媒体用記録装置，ネットワーク接続装置（ネットワークに接続して通信を行うためのネットワークボード等の通信機器），印刷装置など外部出力を実行するための出力装置２６、さらには、基本プログラムに加え、本発明に係る動画像再符号化プログラム（或いは動画像編集プログラム）を記録した書き換え可能なＲＯＭ２３（一部書き換え不能としてもよい）、ＲＯＭ２３に格納されたプログラムを実行するためのＣＰＵ２１、及びその実行領域としてのＲＡＭ２２を、その主要な構成要素とし、それらがバスにより接続されているものとして例示している。
【００４７】
この動画像再符号化プログラム（或いは動画像編集プログラム）は、上述する各手段の一部（或いは各手段）としてコンピュータ２を機能させるように、ＣＰＵ２１等を制御するプログラムである。また、このプログラムには、装置ユーザ（再符号化を実行する操作者）が使用する際に容易となるように、表示装置２５用のＧＵＩを備えるようにするとよい。そして、これら装置で取り扱われる情報は、その処理時に一時的にＲＡＭ２２に蓄積され、その後、各種ＲＯＭ２３に格納され、必要に応じて、ＣＰＵ２１によって読み出し、修正・書き込みが行われる。
【００４８】
まず、入力装置２４によって対象となる符号化ビットストリーム及び編集指示が入力されると、その編集指示に基づいて、復号手段に相当する復号プログラムビットストリームから編集先頭のビデオフレームを復号する（ステップＳ１）。そして、フレーム選択手段に相当するフレーム選択プログラムが、開始指示に基づき復号されたフレームを再符号化するフレームとして選択し（ステップＳ２）、符号化手段に相当する符号化プログラムが、選択されたフレームを所定のレートで仮想バッファ（例えばＶＢＶバッファ）に蓄積していき、フレーム１枚分が蓄積された段階でＶＢＶバッファから吐き出して符号化を実行する（ステップＳ３）。ステップＳ２では、ユーザ指示に基づいて復号プログラムで復号したフレームを、符号化プログラムに渡すような処理であってもよい。
【００４９】
そして、間隔通知手段に相当する間隔通知プログラムは、符号化に用いたレート制御情報によってフレーム間隔を算出し、復号プログラムにそのフレーム間隔を通知する（ステップＳ４）。この通知に基づき、復号プログラムは、ビットストリームからフレーム間隔が示す時刻までビデオストリームを復号する（ステップＳ５）。次に、フレーム選択プログラムが、復号したフレームのうち最後のフレームを、再符号化するフレームとして選択し（ステップＳ６）、符号化プログラムが、選択されたフレームを符号化する（ステップＳ７）。そして、ユーザ指示の内容に基づいて、再符号化を終了させるか否かを判定し（ステップＳ８）、終了させないのであれば、ステップＳ４に戻り、処理を継続する。
【００５０】
上述のごとく、本発明に係るプログラムによれば、ＣＰＵの違いや他のスレッドが起動しているかどうかのＣＰＵ占有率には依存せずに、再現性のあるデータを生成できる。また、アルゴリズムが単純なため、特に復号手段及び符号化手段以外は全てソフトウエアで実装しても高速に処理を行うことができる。また、軽い処理にもかかわらず、仮想バッファが溢れないような処理であるため、規格に準拠したビットストリームを生成することができる。
【００５１】
また、図２及び図３では、全ての処理をプログラムで実装した例を示したが、勿論、ソフトウェア処理では負荷の大きい復号処理及び符号化処理（復号手段１２及び符号化手段１４に相当する処理）だけは、ハードウェアで構成することが好ましく、例えばデコーダ及びエンコーダで構成するか、或いはコーデックで構成してもよい。特に、現状のＰＣやデコーダ及びエンコーダの処理速度を鑑みると、復号手段及び符号化手段をハードウェア（すなわちデコーダ及びエンコーダ、或いはコーデック）で構成し、その他の手段をそれらのハードウェアを制御するためのプログラムとして構成することが好ましい。この場合の動画像再符号化プログラムは、デコーダ及びエンコーダ、或いはコーデックを駆動させ、図３に沿って説明すると、次のような処理を実行させるプログラムとなる。
【００５２】
すなわち、ビットストリームから先頭のビデオフレームをデコーダ（コーデックのデコード部、以下同じ）に復号させる（ステップＳ１）。そして、フレーム選択プログラムが、開始指示に基づき復号されたフレームを再符号化するフレームとして選択し（ステップＳ２）、エンコーダ（コーデックのエンコード部、以下同じ）に渡す。エンコーダは、選択されたフレームを所定のレートで仮想バッファ（例えばＶＢＶバッファ）に蓄積していき、フレーム１枚分が蓄積された段階でＶＢＶバッファから吐き出して符号化を実行する（ステップＳ３）。ステップＳ２では、ユーザ指示に基づいてデコーダで復号したフレームを、エンコーダに渡すような処理であってよい。
【００５３】
そして、間隔通知プログラムは、符号化に用いたレート制御情報によってフレーム間隔を算出し、デコーダにそのフレーム間隔を通知する（ステップＳ４）。この通知と共に、デコーダに、ビットストリームからフレーム間隔が示す時刻までビデオストリームを復号するよう指示する。そして、デコーダは、この通知に基づき、ビットストリームからフレーム間隔が示す時刻までビデオストリームを復号する（ステップＳ５）。次に、フレーム選択プログラムが、復号したフレームのうち最後のフレームを、再符号化するフレームとして選択し（ステップＳ６）、エンコーダに渡す。エンコーダは、選択されたフレームを符号化する（ステップＳ７）。そして、ユーザ指示の内容に基づいて、再符号化を終了させるか否かを判定し（ステップＳ８）、終了させないのであれば、ステップＳ４に戻り、処理を継続する。
【００５４】
次に、図４乃至図７を参照して、本発明に係る動画像再符号化装置の一構成例をより具体的に説明する。図４は、本発明に係る動画像再符号化装置を備えた動画像編集装置の一構成例で、図中、４は動画像編集装置である。また、図５は、図４の動画像編集装置における再符号化処理を説明するための図で、図６は、図５の再符号化処理におけるフレーム間隔決定処理を説明するための図で、図７は図６のフレーム間隔決定処理における制御をＶＢＶバッファの占有量と共に説明するための図である。
【００５５】
ここで例示する動画像編集装置４は、表示部４０、画像フレーム記憶部４１、符号／復号動作制御部４２、復号手段に相当する復号部４３、符号化手段に相当する符号化部４４、多重・分離部４５、入力部４６、出力部４７、記憶部Ａ（４８）、及び記憶部Ｂ（４９）で構成される。
【００５６】
ここで、復号部４３は復号手段に相当し、符号化部４４は符号化手段に相当する。また、多重・分離部４５は、映像（動画像）データと音声データを多重化する処理と、多重化されたそれらのデータを逆に分離する処理とを実行し、出力部４７と後者の処理部とで上述したビットストリーム出力手段を構成し、入力部４６と前者の処理部とで上述したビットストリーム入力手段を構成する。また、表示部４０は、復号部４３で復号した画像データをユーザに表示するためのディスプレイ等でなり、フレームメモリ等で構成される画像フレーム記憶部４１は、表示部４０へ表示する画像を一時的に記憶すると共に、復号部４３から符号化部４４へ画像データを渡すための一時記憶も行う。
【００５７】
そして、復号部４３及び符号化部４４は、符号／復号動作制御部４２によって制御される。この制御部４２は、主として、上述したフレーム選択手段及び間隔通知手段（及び最小値算出手段）を構成しているといえる。また、符号／復号動作制御部４２は、記憶部Ａ（４８）に記憶されている符号化ビットストリームの入力制御を、復号部４３での復号指示を制御することでも実現できるが、入力部４６を制御することによっても実現できる。また、記憶部Ｂ（４９）は、再符号化済みのビットストリームを記憶する部分で、記憶媒体及びその駆動装置としては記憶部Ａ（４８）と同一の記憶媒体及びその駆動装置で構成しても何ら問題はない。なお、上述した操作入力手段、編集受付手段、及び編集手段については省略しているが、表示部４０で対象の動画像データ及び編集や変換アイテムを表示しつつ、ユーザ入力を符号／復号動作制御部４２へ入力することで実現できる。
【００５８】
動画像編集装置４は、上述のごとき構成により、符号／復号動作制御部４２を制御して、次の（ｉ）〜（ｘｉ）と続く処理を実行させる。まず、（ｉ）ＭＰＥＧ−４等で符号化されたビットストリーム５１の先頭フレーム（編集された場合にはその先頭フレーム）５２ａを復号する。なお、編集は、復号しながら復号したフレームに対して実行してもよい。次に、（ｉｉ）復号したフレームから再符号化するフレームを選択する。ここで、先頭フレーム５２ａは必ず選択することとなる。次に、（ｉｉｉ）では、（ｉｉ）で選択されたフレーム５３ａ（５２ａ）を符号化する。ここでは、エンコーダ５４がその符号化処理を実行する（ｉｖ）。そして、（ｖ）フレーム間隔ＴＦ１を算出して復号部４３に通知する。次に、（ｖｉ）デコーダがその間隔ＴＦ１後までビデオフレーム（フレーム５２ｂ，５２ｃ，５２ｄ，５２ｅ）を復号する。そして、（ｖｉｉ）フレーム間隔の時刻のフレーム５２ｅを選択し、（ｖｉｉｉ）選択されたフレーム５３ｂ（５２ｅ）を符号化する。ここでは、エンコーダ５４がその符号化処理を実行する（ｉｘ）が、先に符号化されたデータを加味し、フレーム間符号化を行うとよい。そして、（ｘ）（ｖ）と同じくフレーム間隔ＴＦ２を算出して復号部４３に通知する。次に、（ｘｉ）デコーダがその間隔ＴＦ２後までビデオフレーム（フレーム５２ｆ，５２ｇ，５２ｈ，５２ｉ）を復号する。そして、最後のフレーム５３ｃ（５２ｉ）を選択し、符号化する。この様な処理を再符号化が必要なくなるまで継続する。
【００５９】
次に、フレーム間隔（フレームインターバル）の算出（推定）について説明する。図６に示すように、再符号化するフレーム５３ａの符号化データをエンコーダ５４でエンコードした条件、すなわちエンコーダ５４のその時のレート制御情報に基づいて、次にエンコードするフレームまでの要求フレーム間隔を返す。この要求フレーム間隔を元に計算した時刻以内のフレームまでのオリジナルのビデオビットストリームを、デコーダでデコードする。そして、エンコーダ５４は、要求フレーム間隔を足した時間でデコードされているフレームをエンコードすることとなる。
【００６０】
フレーム間隔を推定する要素（レート制御情報）としては、主として、画像サイズ、ビットレート、現在のＶＢＶバッファの占有量、及び１フレーム符号化時の符号量が挙げられる。図７にＶＢＶバッファの占有量の例を示しており、図中、縦軸はバッファ占有量、横軸は時間経過、点線は予測値を、実線は実際の値をそれぞれ示している。また、図７では、Ｂを規格上のバッファ上限値、１フレームの符号量をｄ、フレームインターバル値をＴ、目標とするフレームインターバル値をＴｎ，ＴＬで表し、グラフの傾きは、ビットレートを表す。なお、フレームを出来る限り多く符号化するためには、このバッファ上限値Ｂに対して小さめに上限値を設定すればよく、この場合、１フレーム当りのデータを小さく割り当てることになる。逆に、綺麗に符号化するためには、このバッファ上限値Ｂに対し出来るだけ大きく上限値を設定（すなわちＢに設定）すればよく、この場合、１フレーム当りのデータを大きく割り当てることになる。図７に基づいて、具体的な制御の例を説明する。
【００６１】
範囲Ａでは、まず、録画開始と同時にエンコーダが取得するデータ量は増えていく。そして、フレームインターバルが経過した時点で１枚目のデータを符号化する（ｄ1）。そして、データ取得が継続していき、目標とするフレーム間隔Ｔｎで２枚目のデータを符号化する（ｄ2）。２枚目の符号化を行った時点で、次にＴｎの間隔で符号化（ｄ3）を行った場合、ＶＢＶバッファをアンダーフローしてしまうことが予想できる。そこで、次に符号化するフレーム間隔を広げ、ＴＬに変更し、ＶＢＶバッファのアンダーフローを防ぐ。
【００６２】
また、範囲Ｂでは、範囲Ａでの制御によりフレームインターバルがＴＬの状態で録画を継続する。ｄ4の符号化時点で、現状のフレームインターバルＴＬで次のフレームを符号化するとＶＢＶバッファをオーバーフローすることが予想できる。そこで、次のフレームインターバルを短く（目標フレームレートに近づける）し、ＶＢＶバッファのオーバーフローを防ぐ。
【００６３】
具体的な制御は、動きの激しい映像を符号化し１枚のデータ量が多く、ＶＢＶバッファをアンダーフローしそう（範囲Ａ）になったときに、フレームインターバルを大きくすることや、その後、映像が安定し、１枚の符号量が少なくなりＶＢＶバッファをオーバーフローしそう（範囲Ｂ）になったとき、フレームインターバルを小さくすることなどが挙げられる。そして、これらを繰り返すことでＶＢＶバッファ内にデータが収まる様に制御するとよい。このように、本発明によって再符号化されたフレームの間隔は、規格に合致するような再符号化を行うため、当然必ずしも一定ではなく、従って、デコーダ側に通知するフレーム間隔も一定ではない。
【００６４】
上述のごとく、本発明による再符号化の仕組みでは、エンコーダとデコーダは実時間では動作しない。デコードは対応する時間内の全フレームに対して行い、エンコーダはオリジナルビデオストリームと独立してパラメータを設定する。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係る動画像再符号化装置の一構成例を示す図である。
【図２】本発明に係る動画像再符号化装置に適用可能なコンピュータの一構成例を示す図である。
【図３】図１の動画像再符号化装置における再符号化処理の一例を説明するためのフロー図で、本発明の一実施形態に係る動画像再符号化プログラムの処理手順の一例を説明するためのフロー図でもある。
【図４】本発明に係る動画像再符号化装置を備えた動画像編集装置の一構成例である。
【図５】図４の動画像編集装置における再符号化処理を説明するための図である。
【図６】図５の再符号化処理におけるフレーム間隔決定処理を説明するための図である。
【図７】図６のフレーム間隔決定処理における制御をＶＢＶバッファの占有量と共に説明するための図である。
【符号の説明】
【００６６】
１…動画像再符号化装置、２…コンピュータ、４…動画像編集装置、１１…操作入力手段、１２…復号手段、１３…間隔通知手段、１４…符号化手段、１５…フレーム選択手段、２１…ＣＰＵ、２２…ＲＡＭ、２３…ＲＯＭ、２４…入力装置、２５…表示装置、２６…出力装置、４０…表示部、４１…画像フレーム記憶部、４２…符号／復号動作制御部、４３…復号部、４４…符号化部、４５…多重・分離部、４６…入力部、４７…出力部、４８…記憶部Ａ、４９…記憶部Ｂ。
【図１】
2006115051.tif 000003
【図２】
2006115051.tif 000004
【図３】
2006115051.tif 000005
【図４】
2006115051.tif 000006
【図５】
2006115051.tif 000007
【図６】
2006115051.tif 000008
【図７】
2006115051.tif 000009