JP5553533B2 - 画像編集装置およびその制御方法およびプログラム - Google Patents

画像編集装置およびその制御方法およびプログラム Download PDF

Info

Publication number
JP5553533B2
JP5553533B2 JP2009137344A JP2009137344A JP5553533B2 JP 5553533 B2 JP5553533 B2 JP 5553533B2 JP 2009137344 A JP2009137344 A JP 2009137344A JP 2009137344 A JP2009137344 A JP 2009137344A JP 5553533 B2 JP5553533 B2 JP 5553533B2
Authority
JP
Japan
Prior art keywords
encoding
result
decoding
moving image
file
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
Application number
JP2009137344A
Other languages
English (en)
Other versions
JP2010283750A (ja
Inventor
俊孝 相場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009137344A priority Critical patent/JP5553533B2/ja
Publication of JP2010283750A publication Critical patent/JP2010283750A/ja
Application granted granted Critical
Publication of JP5553533B2 publication Critical patent/JP5553533B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本発明は、複数の動画ファイルを結合して1つの動画ファイルを作成するための画像編集装置およびその制御方法およびプログラムに関する。
従来、動画ファイルのフォーマットの種類は多数、存在する。そして、多種のフォーマットの動画ファイルを結合して一つの動画ファイルとして残す編集が行われている。(例えば特許文献1参照)
また、一般的に、デコーダを必要な分だけロードして動画ファイルをデコードした後、一つの動画ファイルとして保存することが行われている。この場合、解像度が大きい動画ファイルをたくさん扱うと、メモリを大量に消費してしまう。そこで、この対策として、動画ファイルを個別にレンダリングして繋ぎ合わせることが行われている。
特開2002−300528号公報
しかしながら、複数の動画ファイルを個別にレンダリングし、個々のレンダリング結果を繋ぎ合わせると、符号化単位が固定または所定の範囲内の制限があるハードウエアを用いて再生する際の互換性が下がる問題があった。再生の互換性が下がると、例えば、動画ファイルの再生時にノイズが現れたり、動画ファイルの再生が停止してしまう。
上記課題を解決するため本願に係る発明の1つは、第1の動画ファイルを所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第1のデコード結果を取得する第1のデコード手段と、前記第1の動画ファイルを前記所定の符号化単位で区切ったときに発生する端数のフレームと、前記第1の動画ファイルに結合される第2の動画ファイルを前記第1の動画ファイルの端数のフレームを含めて前記所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第2のデコード結果を取得する第2のデコード手段と、前記第1のデコード結果および前記第2のデコード結果をそれぞれ前記所定の符号化単位でエンコードして第1のエンコード結果および第2のエンコード結果を取得するエンコード手段と、前記第1のエンコード結果および前記第2のエンコード結果を結合して、結合ファイルを生成する生成手段と、を備えることを特徴とする。
本発明によれば、複数の動画ファイルを結合して作成された1つの動画ファイルを再生するときに、動画ファイル同士を繋ぎ合わせた部分で互換性が下がり、ノイズが現れたり、再生が停止されてしまったりするのを防ぐことができる。
本発明に係る画像編集装置の構成の一例を示すブロック図である。 本発明に係る動画ファイルの編集の一例を示す図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。 本発明に係る画像編集装置が実行する動作の一例を示すフローチャート図である。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1の実施形態)
本実施形態では、画像編集装置が動画編集プログラムを起動し、それにしたがって動作することにより実現される。画像編集装置は複数の動画ファイルを結合して1つの動画ファイルを生成して保存する、いわゆるストーリーボード編集を行う。ストーリーボード編集では、複数の動画ファイルを並べて結合するだけでなく、動画ファイルを重ねて合成したり、カット処理や画面効果をかけたりすることができる。編集対象となる動画ファイルの数に制限はない。
また、動画ファイルのフォーマットには、例えばMotion JPEG、MPEG2、H.264等、いろいろな種類があるが、本実施形態ではH.264の場合について説明する。H.264のフレーム間圧縮における符号化単位は、MPEGで利用されているGOP(Group Of Pictures)とよばれる動画を構成する最小の単位構造である。符号化単位は、動画ファイルの中で固定値でもいいし、可変値でもよいが、本実施形態では、固定値の場合について説明する。なお、符号化単位は再生機器の能力にしたがって予め設定された値となる。
まず、図1を参照して画像編集装置の構成を説明する。画像編集装置100はパーソナルコンピュータ装置などの情報処理装置によって実現される。110は画像編集装置100全体の動作を制御する制御部(中央演算処理装置、CPU)である。120は内部メモリである。130は、動画編集プログラムやオペレーティングシステム(OS)、動画ファイルを記憶するハードディスクである。140は外部記録媒体を扱うメディアドライブである。150は動画ファイルを表示するディスプレイである。160は音を出力するスピーカである。170はキーボードやマウスなどからなる操作部である。180は、PCIバスなどのコンピュータ内部の各処理を相互に接続するための内部バスである。制御部110はハードディスク130から動画編集プログラムを読み取って起動し、このプログラムコードを実行することにより、以下に説明する画像編集装置100の動作を実現する。なお、動画編集装置は単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数の情報処理装置で構成される場合は、互いに通信可能なようにLocal Area Network(LAN)などで接続される。
次に本実施形態において画像編集装置が実行する動画編集の手順を図面を参照して説明する。本実施形態ではMovie_A、Movie_B、Movie_Cというファイル名の3つの動画ファイルを編集対象とする場合について説明する。
まず、画像編集装置の制御部110はエンコードするときの条件を取得する(図3のS301)。本実施形態ではエンコードするときの条件はGOP単位(符号化単位)が所定値に固定されていることである。GOP単位の固定値は、ユーザが操作部170を操作して所望の数値を入力して設定してもよい。あるいは、ユーザが操作部170を操作してエンコード結果を再生する対象機器のプロファイルを選び、それに対応する値をGOP単位の固定値として設定してもよい。あるいは、ユーザの入力操作無しに、エンコーダが保持している初期値をGOP単位の固定値として設定してもよい。GOP単位の固定値の設定方法はこれらに限らず、他の設定方法でもよい。また、エンコードするときの条件は、GOP単位以外にも、平均ビットレートや画像サイズなどのパラメータであってもよい。
そして、制御部110は編集対象の動画ファイルを解析し、ステップS301で取得したGOP単位の固定値にしたがって一回のエンコード範囲を決定する(S302)。ステップS302の処理の詳細は図4を参照して後述する。図2において、Movie_A201、Movie_B202、Movie_C203はH.264でエンコードされた動画ファイルである。204はMovie_A201をGOP単位で区切ったときに端数がないところまでの範囲(nGOP)を示している。205はMovie_A201をGOP単位で区切ったときに端数となった部分を示している。206はMovie_A201の端数205とMovie_B202を足した範囲をGOP単位で区切ったときに端数がないところまでの範囲(mGOP)を示している。207はMovie_A201の端数205とMovie_B202の範囲をGOP単位で区切ったときに端数となった部分を示している。208は、Movie_B202の端数207とMovie_C203を足した範囲である。本実施形態の一回のエンコード範囲は204、206、208と決定される。
次に制御部110は最初のエンコード範囲を設定する(S303)。本実施形態では最初にMovie_A201のnGOP204の範囲を設定し、制御部110はMovie_A201のnGOP204の範囲の動画ファイルをロードする。そして、動画ファイルがエンコードされた方式を解析し、解析結果に基づきデコードに必要なデコーダを決定する(S304)。解析方法としては例えば、動画ファイルに記述されたエンコード方式の情報を参照することが挙げられるがこれに限らない。本実施形態では解析の結果、Movie_A201のnGOP204の範囲の動画ファイルがH.264でエンコードされていると判定したものとし、必要なデコーダをH.264であると決定する。なお、後述するステップS310でエンコード範囲としてmGOP206の範囲を設定した場合は、ステップS304ではMovie_A201とMovie_B202がエンコードされた方式を解析し、デコーダを決定する。また、後述するステップS310でエンコード範囲として208の範囲を設定した場合は、ステップS304ではMovie_B202とMovie_c203がエンコードされた方式を解析し、デコーダを決定する。
そして制御部110はステップS304で決定されたデコーダをロードする(S305)。ステップS303でnGOP204の範囲を設定した場合は、Decoder_A211がロードされ、ステップS303でmGOP206の範囲を設定した場合は、Decoder_A212とDecoder_B213がロードされる。また、ステップS303で208の範囲を設定した場合は、Decoder_B214とDecoder_C215がロードされる。
そして制御部110はエンコーダをロードし(S306)、ステップS303で設定された範囲をステップS304で決定され、ステップS305でロードされたデコーダでデコードし、その出力結果をエンコードする(S307)。ステップS306ではnGOP204の範囲ではエンコーダ221がロードされ、mGOP206の範囲ではエンコーダ222がロードされ、208の範囲ではエンコーダ223がロードされる。また、ステップS307で、nGOP204の範囲をエンコーダ221でエンコードした結果が231であり、mGOP206の範囲をエンコーダ222でエンコードした結果が232であり、208の範囲をエンコーダ223でエンコードした結果が233である。ステップS307の処理の詳細は図5を参照して後述する。
そして制御部110はエンコード結果を作成完了した後、エンコーダを開放し(S308)、デコーダを開放する(S309)。エンコード結果231の作成が完了するとエンコーダ221とデコーダ211が開放される。エンコード結果232の作成が完了するとエンコーダ222とデコーダ212と213が開放される。エンコード結果233の作成が完了するとエンコーダ223とデコーダ214と215が開放される。
そして制御部110は編集対象の動画ファイル全てについてエンコードが完了したかどうか判断し、完了していた場合はステップS312へ遷移し、完了していない場合はステップS311へ遷移する。制御部110は次のエンコード範囲を設定し(S311)、ステップS304へ遷移する。
編集対象の動画ファイル全てについてエンコードが完了すると、制御部110はエンコード結果231、232、233を結合し、結合ファイル240を生成する(S312)。結合結果240は先頭から順番にMovie_A、Movie_B、Movie_Cが連続して並んだ結果となる。
ステップS302の処理の詳細を図4のフローチャート図を用いて説明する。
まず、画像編集装置100の制御部110は、編集対象の複数の動画ファイルのうち最初の動画ファイルの先頭を解析開始位置として設定(S401)し、ステップS401で設定された解析開始位置を取得する(S402)。ここでは、制御部110は編集対象のMovie_A201、Movie_B202、Movie_C203のうちMovie_A201の先頭を解析開始位置として設定し(S401)、取得する(S402)。
制御部110はステップS402で取得された解析開始位置が最後の動画ファイルかどうかを判定し(S403)、最後の動画ファイルであればステップS413へ遷移し、最後の動画ファイルでなければステップS404へ遷移する。ステップS404において制御部110はステップS402で取得された解析開始位置にあるMovie_Aのフレーム数を取得し、ステップS402で取得された解析開始位置の前にGOP単位で端数となるフレームがあったかどうか判定する(S405)。GOP単位で端数となるフレームがあったかどうかは、後述のステップS408で一時的に格納されている値があるかどうかで判定する。端数となるフレームがあると判定された場合、制御部110はステップS408で保持されている値をステップS404で取得したフレーム数に加算し(S406)、GOP単位で区切ると、端数が出るかどうかを判定する(S407)。一方、端数となるフレームがないと判定された場合、制御部110はステップS404で取得したフレーム数をGOP単位で区切ると、端数が出るかどうかを判定する(S407)。
ステップS407で端数が出ると判定された場合、制御部110は端数となったフレーム数を保持し(S408)、GOP単位の端数が発生する手前のGOP単位の終了位置をエンコードの終了位置として設定する(S409)。ここでは、205のフレーム数が端数のフレーム数として保持され、位置209がエンコードの終了位置として設定される。GOP単位で端数が出ないと判定された場合、制御部110は動画ファイルの終端をエンコード終了位置として設定する(S410)。制御部110はステップS409またはS410で設定されたエンコード終了位置を保持する(S411)。以上のように制御部110はステップS402からS411までの処理を実行することにより、最初のエンコード範囲を決定する。そして、制御部110は解析開始位置を次の動画ファイルの先頭に設定し(S412)、ステップS402からS412までの処理を繰り返す。そして、GOP単位で端数が発生するかどうかに関わらず、最後の動画ファイルの末尾をエンコード終了位置として設定し(S413)、保持する(414)。動画ファイルの終端部分は、再生が終了する位置であるのでGOPの単位より少ないフレーム数となっても再生時に問題は発生しないためである。以上のようにして、制御部110は、編集対象となる動画ファイルをGOP単位で区切り、エンコード範囲を調整した結果を得る。
次にステップS307の処理の詳細を図5のフローチャートを用いて説明する。
制御部110はステップS301で取得したGOP単位の固定値をエンコーダに設定し(S501)、動画ファイルをエンコードした結果を出力して出力結果ファイルを作成する(S502)。エンコーダ221でエンコードした結果を出力して出力結果ファイル231を作成する。エンコーダ222でエンコードした結果を出力して出力結果ファイル232を作成する。エンコーダ223でエンコードした結果を出力して出力結果ファイル233を作成する。
ステップS503において制御部110はエンコード時のレート制御情報、量子化パラメータを保存している状態かどうか判定する。ステップS307が2回目以降の処理のときエンコード時のレート制御情報、量子化パラメータを保存している状態となる。ステップS503でエンコード時のレート制御情報、量子化パラメータを保存していると判定された場合、ステップS504において制御部110はエンコードのレート制御情報、量子化パラメータを設定する。ここで、前回のエンコード範囲の終了時にステップS508で保存したエンコードのレート制御情報、量子化パラメータを再設定することで、前回のエンコード部分と今回のエンコード部分の画質の差を少なくすることができ、つなぎ目が滑らかになる。一方、エンコードのレート制御情報、量子化パラメータを保存していない場合、ステップS505へ移る。
ステップS505において制御部110は、動画ファイルのうちステップS302で決定した範囲をデコードし、デコード結果をエンコーダへと渡す。デコード結果は、1フレームずつエンコーダへ渡してもよいし、GOP単位分のフレームを一括してエンコーダへ渡してもよい。そして、制御部110はデコード結果をエンコードし(S506)、エンコードが終了点に達したか判定する(S507)。終了点に達していない場合、ステップS505へ移り、終了点に達した場合、ステップS508において、制御部110はエンコードのレート制御情報、量子化パラメータを保存する。そして制御部110はエンコード結果の出力結果ファイルをクローズし(S509)、デコーダで使用した動画ファイルをクローズする(S510)。本実施形態では、出力結果ファイル231を作成完了後に、デコーダ211で使用していた動画ファイル201が開放され、出力結果ファイル232を作成完了後に、デコーダ212、213で使用していた動画ファイル201、202が開放される。また、出力結果ファイル233を作成完了後に、デコーダ214、215で使用していた動画ファイル202、203が開放される。
なお、本実施形態では、全てのエンコード結果を個別の出力結果ファイルに出力した後に結合したが、エンコード結果を出力すると、次々に追記していくようにしてもよい。
また、本実施形態では、エンコード範囲を切り替える時に、前回のエンコード時のレート制御情報、量子化パラメータを引き継ぐようにしたが、エンコードした動画を再生する機器での問題や画質に問題がなければ引き継ぐ処理を省略してもよい。
また、本実施形態では、GOP単位に足りない端数のフレームがあるかどうかの判定を動画ファイルの終了点で動画ファイルごとに行った。これ以外にも動画ファイルに画面効果をつけるエフェクトの開始点・終了点や複数の動画を重ね合わせる効果をつける開始点・終了点で判定を行ってもよい。
上記の通り本実施形態では、動画ファイルのデコードとエンコードを行う前に、編集対象の動画ファイルを解析する。そしてGOP単位の固定値にしたがって動画ファイルを区切った時に端数のフレームが出ないように連続する第1の動画ファイルと第2の動画ファイルに跨ってエンコード範囲を決定し、決定したエンコード範囲毎にエンコード処理を行うようにした。これにより、再生対象のGOP単位の制限に合わせたエンコード結果を得られる。また、デコーダをロードして一括処理しなくて済むため、メモリ消費量を少なくすることができる。また、中間ファイルに変換し動画編集を行う方法に比べ、中間ファイルに変換する処理をしなくて済むため、エンコード処理を短時間で行うことができる。
(第2の実施形態)
第1の実施形態ではエンコード範囲を先に決定してからエンコード処理するようにした。これに対して、本実施形態では、デコードとエンコードの処理中に、所定の制限範囲内の任意の値をGOP単位として動画ファイルを区切ったときに端数のフレームを出さずにエンコードできるかどうか判断する場合について説明する。GOP単位の所定の制限の範囲とは、エンコードした映像を再生する機器の制約である。本実施形態ではGOP単位の所定の制限範囲は、最小値と最大値で指定された範囲である。
本実施形態の画像編集装置が実行する動作について図2および図6〜図9を用いて説明する。なお、以下では第1の実施形態と同様の部分については説明を省略し、本実施形態に特有の部分について詳細に説明する。
まず、制御部110はエンコード条件を取得する(S601)。本実施形態ではエンコード条件としてGOP単位の所定の制限範囲を示す最小値と最大値を取得する。そして、制御部110は動画ファイル毎にGOP単位の制限範囲に収まるようにデコードとエンコードを行う(S602)。本実施形態では、204、206、208の各範囲をデコードしエンコードする。各範囲の処理で、終了点を決定後、次の範囲に移るときにデコーダとエンコーダを開放し、次の範囲の処理への切り替えが行われる。また、メモリに空き容量が十分ある場合は、処理の切り替えを行わずに、次に必要になったデコーダを追加でロードして続きの処理を行う。そして、制御部110は編集対象の動画ファイルの最後までエンコードが完了したか判定し(S603)、エンコードが完了していれば、エンコード結果を結合する(S604)。エンコード処理を3回に分けて行った場合は、204、206、208の範囲をそれぞれエンコードした結果、231、232、233を結合し、一つの動画ファイル240を作成する。一方、エンコードが完了していない場合は、ステップS602へ移る。
次に、ステップS602の処理の詳細について図7を参照して説明する。
制御部110はエンコーダをロードする(S701)。エンコード処理を3回に分けて行った場合は、エンコーダ221が最初のエンコード処理でロードされ不要になると開放され、次にエンコーダ222がロードされ不要になると開放され、最後にエンコーダ223がロードされ不要になると開放される。そして、制御部はエンコーダにステップS601で取得したエンコードの条件を設定し(S702)、エンコード結果を出力する出力結果ファイルを作成する(S703)。エンコード処理を3回に分けて行った場合は、231、232、233の出力結果ファイルが作成される。エンコードする範囲が204から206へ変わるときにデコーダとエンコーダを開放しなかった場合は、出力結果ファイル232は作成されないことになる。ステップS704において、制御部110は解析開始位置を取得する。初期値は編集対象の動画ファイルの先頭となり、2回目以降はステップS805で保持した値となる。ステップS705において制御ファイルはGOP単位の制限範囲をデコードをするときに使用する動画ファイルをロードし、それに適合するデコーダをロードし(S706)、デコードするフレーム数がGOPの制限範囲に収まるかどうかを判断する(S707)。本実施形態では動画ファイル201をロードした場合、デコード範囲によってデコーダ211か212がロードされ、動画ファイル202をロードした場合、デコード範囲によってデコーダ213か214がロードされる。また、動画ファイル203をロードした場合、デコーダ215がロードされる。ステップS707でデコードするフレーム数がGOPの制限範囲に収まると判断されれば、制御部110はGOPの制限範囲に収まるフレーム数をデコードし(S708)、デコードしたフレーム数をカウントする(S709)。ここで、デコードしたフレーム数をカウントしておくことで、編集対象の動画ファイルのどの位置をデコードしているか判別できる。そして、制御部110はデコーダの出力をエンコードし(S710)、エンコード結果を出力し(S711)、次のエンコード範囲の処理に移る。制御部110はステップS707からステップS711を繰り返すことでGOP単位の制限範囲で、204、206、208について次々とデコードとエンコードを繰り返し、エンコード結果として231、232、233を出力する。
一方、ステップS707でデコードするフレーム数がGOPの制限範囲に収まらないと判断されれば、制御部110は図8のフローチャートに示す処理を実行する。
まず、制御部110はGOPの制限範囲に収まらなかったフレーム数をデコーダのデコードする残フレーム数として保持する(S802)。ここで、205、207のフレーム数が保持される。そして、制御部110は編集対象の動画ファイルの中でエンコードが完了済みとなっている最後の位置が編集対象の最後の動画ファイル上にあるか判定する(S803)。最後の動画ファイル上にないと判定された場合はステップS805において制御部110は編集対象の動画ファイルの中でエンコードが完了した位置を保持する。本実施形態では、204、206の終了点が保持される。そして、制御部110は、メモリの空き容量を取得し(S806)、次のファイルのデコードで利用するメモリ使用量を算出する(S807)。本実施形態では、エンコード範囲204が完了し、次のエンコード範囲206に移る場合、動画ファイル201の次の動画ファイル202をデコードするデコーダ213のメモリ使用量を算出する。エンコード範囲206が完了し、次のエンコード範囲208に移る場合、動画ファイル202の次の動画ファイル203をデコードするデコーダ215のメモリ使用量を算出する。そして、制御部110はS806で取得したメモリの空き容量とS807で算出したデコーダのメモリ使用量からデコードを引き続き行うことができるかどうか判断する(S808)。デコードを引き続き行うことができると判定した場合、制御部110はステップS704の処理を実行する。本実施形態では、204から206へデコードしエンコードする範囲が変わるときにデコーダとエンコーダの開放しなかった場合は、222のエンコーダをロードせずに221のエンコーダを引き続き使うことができる。212のデコーダも同様に211のデコーダを引き続き利用することができる。206から208へデコードしエンコードする範囲が変わるときにデコーダとエンコーダの開放しなかった場合も、同様にロード済みのデコーダ、エンコーダを引き続き利用できる。223のエンコーダをロードせずにロード済みの222もしくは、221のエンコーダを引き続き使うことができる。214のデコーダも同様に213のデコーダを引き続き利用することができる。
一方、ステップS808でできないと判定された場合、制御部110は図9のステップS906の処理を実行する。また、ステップS803で最後の動画ファイル上にあると判定された場合は、制御部110は図9のフローチャートに示す処理に移行する。
図9は制御部110が、デコードしてエンコードする処理を切り替えるために、一旦、エンコーダとデコーダで使用していた動画ファイルをクローズして、エンコーダとデコーダを開放する処理を説明するためのフローチャート図である。
制御部110は、ステップS802で保持したデコーダのデコードする残フレーム数がゼロかどうか判定し(S902)、デコーダのデコードする残フレーム数がゼロでない場合、残フレームをデコードする(S903)。そして、デコーダの出力をエンコードし(S904)、エンコード結果を出力し(S905)、エンコード結果の出力ファイルをクローズする(S906)。本実施形態では、231、232、233であらわされる、エンコード結果のうち使用していたものをクローズする。一方、ステップS902でデコーダのデコードする残フレーム数がゼロの場合、ステップS906の処理を実行する。ステップS903からS905の処理は、ステップS803で編集対象の最後の動画ファイルにGOP単位の制限範囲のうち最小値より少ない端数のフレームがあった場合に行われる。なお、動画ファイルの終端部分は再生が終了する位置なので再生時に問題は起きない。
次に制御部110はエンコーダを開放する(S907)。エンコーダ221、222、223のうち使用していたものを開放する。また、制御部110はデコードに使用したファイルをクローズする(S908)。動画ファイル201、202、203のうち使用していたものをクローズする。また、制御部110はデコーダを開放する(S909)。本実施形態では、デコーダ211、212、213、214、215のうち使用していたものを開放する。
ステップS704からステップS808において制御部110はメモリに空きがある範囲で、動画ファイルごとにGOP単位の制限範囲内でデコードしてエンコードする処理を実行する。さらに、これとともに使用していたデコーダとエンコーダを全て開放し、デコーダとエンコーダが使用していた動画ファイルもクローズする。
なお、本実施形態では、GOP単位の制限範囲に足りない端数のフレームの判定をデコーダのデコードしたフレーム数と動画ファイルの終了点で動画ファイルごとに行った。デコードしたフレーム数以外にも、エンコードしたフレーム数や、デコード前に読み込んだフレーム数で行ってもよい。また、動画ファイルに画面効果をつけるエフェクトの開始点・終了点で判定を行ってもよい。複数の動画ファイルを重ね合わせる効果をつける開始点・終了点で判定を行ってよい。
また、本実施形態では、デコーダの開放を行うタイミングをエンコーダの開放を行うタイミングで行ったが、デコーダの開放処理は、デコーダが使用されなくなった時点で実施するようにしてもよい。
また、本実施形態では、メモリに空き容量がある場合に、次のファイルのデコードで使用するデコーダをロードするようにしたが、空き容量に関係なくエンコードを中断し、続きのエンコードを行うようにしてもよい。
上記したように本実施形態によれば、再生対象のGOP単位の制限に合わせたエンコード結果を得られる。また、デコーダをロードして一括処理しないため、メモリ消費量を少なくすることができる。また、中間ファイルに変換し動画編集を行う方法に比べ、中間ファイルに変換する処理が無いため、早くエンコードを行うことができる。
また、デコーダをメモリにロードする際にメモリに空き容量が無い場合は、一回処理を中断しデコーダ、エンコーダで利用していたメモリを開放し、その後処理を引き継ぎ続きからエンコード出来るようにした。これによって、編集対象の動画ファイルで使用するデコーダを全てロードして一括処理すると、メモリが足りなくなる場合でも、編集対象の動画ファイルをエンコードすることができるようになる。
(他の実施形態)
本発明の目的は以下のように達成されることは言うまでもない。まず、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーションシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、以下のような処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。まず、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。

Claims (8)

  1. 第1の動画ファイルを所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第1のデコード結果を取得する第1のデコード手段と、
    前記第1の動画ファイルを前記所定の符号化単位で区切ったときに発生する端数のフレームと、前記第1の動画ファイルに結合される第2の動画ファイルを前記第1の動画ファイルの端数のフレームを含めて前記所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第2のデコード結果を取得する第2のデコード手段と、
    前記第1のデコード結果および前記第2のデコード結果をそれぞれ前記所定の符号化単位でエンコードして第1のエンコード結果および第2のエンコード結果を取得するエンコード手段と、
    前記第1のエンコード結果および前記第2のエンコード結果を結合して、結合ファイルを生成する生成手段と、
    を備えることを特徴とする画像編集装置。
  2. 前記符号化単位とは、フレーム間圧縮された動画ファイルを構成する最小の単位構造であることを特徴とする請求項1に記載の画像編集装置。
  3. 前記符号化単位を再生機器の能力にしたがって設定する設定手段をさらに有することを特徴とする請求項1または2に記載の画像編集装置。
  4. 前記符号化単位は、最小値及び最大値により指定された範囲または所定の固定値であることを特徴とする請求項1乃至3のいずれか1項に記載の画像編集装置。
  5. 前記第1および第2のデコード手段は、前記第1および前記第2の動画ファイルがそれぞれロードされるときにメモリに読み込まれるデコーダを用いることを特徴とする前記請求項1乃至4のいずれか1項に記載の画像編集装置。
  6. 前記メモリの空き容量にしたがって、前記メモリに読み込まれるデコーダを追加することを特徴とする請求項5に記載の画像編集装置。
  7. 第1の動画ファイルを所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第1のデコード結果を取得するステップと、
    前記第1の動画ファイルを前記所定の符号化単位で区切ったときに発生する端数のフレームと、前記第1の動画ファイルに結合される第2の動画ファイルを前記第1の動画ファイルの端数のフレームを含めて前記所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第2のデコード結果を取得するステップと、
    前記第1のデコード結果および前記第2のデコード結果をそれぞれ前記所定の符号化単位でエンコードして第1のエンコード結果および第2のエンコード結果を取得するステップと、
    前記第1のエンコード結果および前記第2のエンコード結果を結合して、結合ファイルを生成するステップと、
    を備えることを特徴とする制御方法。
  8. 第1の動画ファイルを所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第1のデコード結果を取得するステップと、
    前記第1の動画ファイルを前記所定の符号化単位で区切ったときに発生する端数のフレームと、前記第1の動画ファイルに結合される第2の動画ファイルを前記第1の動画ファイルの端数のフレームを含めて前記所定の符号化単位で区切ったときの末尾のフレームまでをデコードして第2のデコード結果を取得するステップと、
    前記第1のデコード結果および前記第2のデコード結果をそれぞれ前記所定の符号化単位でエンコードして第1のエンコード結果および第2のエンコード結果を取得するステップと、
    前記第1のエンコード結果および前記第2のエンコード結果を結合して、結合ファイルを生成するステップと、
    を備えることを特徴とするプログラム。
JP2009137344A 2009-06-08 2009-06-08 画像編集装置およびその制御方法およびプログラム Expired - Fee Related JP5553533B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009137344A JP5553533B2 (ja) 2009-06-08 2009-06-08 画像編集装置およびその制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009137344A JP5553533B2 (ja) 2009-06-08 2009-06-08 画像編集装置およびその制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010283750A JP2010283750A (ja) 2010-12-16
JP5553533B2 true JP5553533B2 (ja) 2014-07-16

Family

ID=43540076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009137344A Expired - Fee Related JP5553533B2 (ja) 2009-06-08 2009-06-08 画像編集装置およびその制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5553533B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2932950B2 (ja) * 1994-09-29 1999-08-09 日本ビクター株式会社 データの圧縮・記録方法、データの圧縮・記録装置及び圧縮データの復号・再生方法、圧縮データの復号・再生装置
JPH09219838A (ja) * 1996-02-13 1997-08-19 Matsushita Electric Ind Co Ltd Mpeg映像再生装置および方法
JPH11289541A (ja) * 1998-02-06 1999-10-19 Sony Corp 動画像符号化方法、動画像符号化装置及び記録媒体
BRPI0212368B1 (pt) * 2001-09-06 2015-06-30 Thomson Licensing Sa Método para a monitoração durante o processamento de um arquivo de dados de áudio tendo porções de dados com razões de compactação diferentes e tocador de dados de áudio que implementa o mesmo
JP4892541B2 (ja) * 2002-02-18 2012-03-07 株式会社日立国際電気 画像伝送方法および画像伝送システム
JP2004350152A (ja) * 2003-05-23 2004-12-09 Matsushita Electric Ind Co Ltd 映像再生装置および映像再生方法
CN101160577A (zh) * 2005-02-16 2008-04-09 液滴技术有限公司 移动成像应用程序、装置架构、服务平台架构及服务
JP4737003B2 (ja) * 2006-08-10 2011-07-27 ソニー株式会社 編集装置、編集方法、編集プログラムおよび編集システム
JP4476261B2 (ja) * 2006-09-13 2010-06-09 株式会社ソニー・コンピュータエンタテインメント 復号装置および復号方法
JP5167897B2 (ja) * 2007-04-27 2013-03-21 株式会社リコー 電子機器、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
JP2010283750A (ja) 2010-12-16

Similar Documents

Publication Publication Date Title
TWI390988B (zh) 資訊處理裝置及資訊處理方法
JP4355659B2 (ja) データ処理装置
JP2010219983A (ja) 画像処理装置および方法
JP5785082B2 (ja) オーディオ・ストリームを合成する装置、方法及びプログラム
JP2007036495A (ja) 再生装置、圧縮装置、記録装置及び再生方法
JP2010524274A (ja) 編集装置および編集方法
WO2005088964A1 (ja) 録画再生編集装置
JP2009260933A (ja) 動画素材編集装置とそのプログラム及び動画素材編集方法
WO2006040896A1 (ja) 動画像再符号化装置、動画像編集装置、プログラム、及び記録媒体
JP2004112769A (ja) 復号制御装置、および復号制御方法、情報処理装置、および情報処理方法、並びにプログラム
JP4709100B2 (ja) 動画像編集装置及びその制御方法、並びにプログラム
JP5553533B2 (ja) 画像編集装置およびその制御方法およびプログラム
TW571588B (en) Modifying video signals by converting non-intra pictures
US8442376B2 (en) Image data recording/playback device, system, and method
JP2006080723A (ja) 記録装置および記録方法、再生装置および再生方法、並びにプログラム
JP2000023090A (ja) 圧縮動画像編集装置および記憶媒体
JP4441572B2 (ja) 記録装置
JP4401876B2 (ja) 再生装置
JP4487196B2 (ja) 記録装置及びその制御方法
JP4425134B2 (ja) デジタルコンテンツ分割装置、デジタルコンテンツ再生装置、及びデジタルコンテンツ分割方法
JP2001103427A (ja) 圧縮画像再生装置及びプログラム記録媒体
JP2000287177A (ja) 画像再生装置
JP2016082266A (ja) 記録再生装置
JP2006129338A (ja) 映像記録再生装置及び記録媒体
JP2004104361A (ja) データ編集装置、データ編集方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140414

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: 20140430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140527

R151 Written notification of patent or utility model registration

Ref document number: 5553533

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees