(57)【特許請求の範囲】
【請求項１】
複数の入力オーディオフレームからなる入力オーディオストリームと、複数の入力ビデオフレームからなる入力ビデオストリームと、記録停止指示と、記録開始指示が入力され、複数の出力オーディオフレームからなる出力オーディオストリームと、複数の出力ビデオフレームからなる出力ビデオストリームを出力する情報処理装置であって、
前記入力オーディオストリームをデコードして得たオーディオデータをバッファに格納するオーディオ入力部と、
前記バッファに格納されているオーディオデータをエンコードして前記出力オーディオフレームとして出力するオーディオエンコーダと、
前記入力ビデオストリームをデコードして得たビデオデータをエンコードして前記出力ビデオフレームとして出力するビデオエンコーダとを備え、
前記記録停止指示が入力された時に、前記ビデオエンコーダから出力されている出力ビデオフレームの末尾と、前記記録停止指示が入力された時に、前記オーディオエンコーダから出力されている出力オーディオフレームの末尾とのずれ量を算出し、
前記ずれ量に相当するオーディオデータを前記バッファから削除する、
情報処理装置。
【請求項２】
請求項１において、
前記記録停止指示が入力された時に、前記オーディオエンコーダから出力されている出力オーディオフレームを出力した後に、前記オーディオエンコーダの動作を停止し、
前記記録停止指示が入力された時に、前記ビデオエンコーダから出力されている出力ビデオフレームを出力した後に、前記ビデオエンコーダの動作を停止し、
前記記録開始指示が入力されたとき、前記ずれ量に相当するオーディオデータを前記バッファから削除した後に、前記オーディオエンコーダの動作と前記ビデオエンコーダの動作を再開する、
情報処理装置。
【請求項３】
請求項１において、
前記記録停止指示が入力された時に前記ビデオエンコーダから出力されている出力ビデオフレームの時間情報と、前記記録停止指示が入力された時に前記オーディオエンコーダから出力されている出力オーディオフレームの時間情報とに基づいて、前記ずれ量を算出し、
前記記録開始指示が入力されたとき、前記ビデオエンコーダの動作を開始することにより最初に出力される出力ビデオフレームの先頭に対応するオーディオデータを始点として、前記ずれ量に相当する量のオーディオデータを、前記バッファから削除する、
情報処理装置。
【請求項４】
請求項１において、
さらに外部ビデオ入力と外部オーディオ入力とが入力され、
前記オーディオ入力部は、前記入力オーディオストリームをデコードして得たオーディオデータに代えて、前記外部オーディオ入力にオーディオ時間情報を付加したオーディオデータをバッファに格納し、
前記ビデオエンコーダは、前記入力ビデオストリームをデコードして得たビデオデータに代えて、前記外部ビデオ入力にビデオ時間情報を付加したビデオデータをエンコードして前記出力ビデオフレームとして出力する、
情報処理装置。
【請求項５】
請求項４において、
前記オーディオ時間情報と前記ビデオ時間情報を、前記外部ビデオ入力の先頭のビデオデータを起点として算出する、
情報処理装置。
【請求項６】
請求項１において、
フェードアウト・フェードイン処理部をさらに備え、
前記フェードアウト・フェードイン処理部は、前記記録停止指示が入力された時に前記オーディオエンコーダから出力されている出力オーディオフレームのオーディオデータにフェードアウト処理を施し、前記記録開始指示が入力された後に前記オーディオエンコーダから最初に出力される出力オーディオフレームのオーディオデータにフェードイン処理を施す、
情報処理装置。
【請求項７】
複数の入力オーディオフレームからなる入力オーディオストリームと、複数の入力ビデオフレームからなる入力ビデオストリームとが入力され、
前記入力ビデオストリームの一部を削除して残ったビデオデータに基づく前半ビデオストリームと後半ビデオストリームとを繋ぎ合せて出力ビデオストリームを出力し、
前記前半ビデオストリームに対応する前半オーディオストリームと前記後半ビデオストリームに対応する後半オーディオストリームとを繋ぎ合せて出力オーディオストリームを出力する情報処理方法であって、
前記前半ビデオストリームの末尾のフレームのタイムスタンプをＶＴＳＴとし、
前記前半オーディオストリームの末尾のフレームのタイムスタンプをＡＴＳＴとし、
前記前半ビデオストリームの１フレームあたりの長さをＶＦＬとし、
前記前半オーディオストリームの１フレームあたりの長さをＡＦＬとし、
前記後半ビデオストリームの先頭のフレームのタイムスタンプをＶＴＳＨとするとき、
前記後半オーディオストリームの先頭のフレームのタイムスタンプＡＴＳＨを、
ＡＴＳＨ＝ＶＴＳＨ＋｛（ＡＴＳＴ＋ＡＬＦ）−（ＶＴＳＴ＋ＶＬＦ）｝により算出し、
算出した前記タイムスタンプＡＴＳＨに基づいて、前記後半オーディオストリームを構成する複数のオーディオフレームを生成する、
情報処理方法。
【請求項８】
請求項７において、
前記複数の入力オーディオフレームにタイムスタンプを付与し、前記複数の入力ビデオフレームにタイムスタンプを付与する、
情報処理方法。
【請求項９】
請求項７において、
前記前半オーディオストリームの末尾のオーディオフレームにフェードアウト処理を施し、
前記後半オーディオストリームの先頭のオーディオフレームにフェードイン処理を施す、
情報処理方法。
【請求項１０】
入力ビデオデータと入力オーディオデータが入力され、記録停止指示と記録開始指示が入力され、出力ビデオフレームと出力オーディオフレームを出力する半導体装置であって、
内部バッファを有するサンプル調整部と、ビデオエンコーダ部と、オーディオエンコーダ部を備え、
前記ビデオエンコーダ部は、前記入力ビデオデータを前記出力ビデオフレーム単位でエンコードして出力し、
前記サンプル調整部は、前記入力オーディオデータを前記内部バッファに格納し、
前記サンプル調整部は、前記記録停止指示が入力された時点でエンコードされていた出力ビデオフレームの末尾と、前記記録停止指示が入力された時点でエンコードされていた出力オーディオフレームの末尾との差分情報を求め、
前記サンプル調整部は、前記内部バッファに格納されているオーディオデータから、前記差分情報に相当する量のオーディオデータを削除し、
前記オーディオエンコーダ部は、前記内部バッファに出力オーディオフレームの１フレーム分のオーディオデータを要求し、前記内部バッファから入力された出力オーディオフレーム単位のオーディオデータをエンコードして出力する、
半導体装置。
【請求項１１】
請求項１０において、
前記ビデオエンコーダ部は、前記記録停止指示が入力された時点でエンコードされていた出力ビデオフレームを出力した後に前記エンコードを停止し、前記記録開始指示が入力されたときに前記エンコードを開始し、
前記オーディオエンコーダ部は、前記記録停止指示が入力された時点でエンコードされていた出力オーディオフレームを出力した後に前記エンコードを停止し、前記記録開始指示が入力されたときに、前記サンプル調整部に対して、出力オーディオフレームの１フレーム分のオーディオデータを要求する、
半導体装置。
【請求項１２】
請求項１０において、
前記サンプル調整部は、前記記録停止指示が入力された時点で前記ビデオエンコーダ部がエンコードしていた前記出力ビデオフレームの時間情報と、前記記録停止指示が入力された時点で前記オーディオエンコーダ部がエンコードしていた出力オーディオフレームの時間情報とに基づいて、前記差分情報を算出し、
前記サンプル調整部は、前記記録開始指示が入力されたとき、前記内部バッファに格納されているオーディオデータから、前記ビデオエンコーダ部がエンコードを開始することにより出力される出力ビデオフレームの先頭に対応するオーディオデータを始点として前記差分情報に相当する量のオーディオデータを削除する、
半導体装置。
【請求項１３】
請求項１０において、
複数の入力ビデオフレームからなる入力ビデオストリームと複数の入力オーディオフレームからなる入力オーディオストリームを入力とし、ビデオデコーダ部とオーディオデコーダ部をさらに備え、
前記ビデオデコーダ部は、前記入力ビデオストリームをデコードして前記入力ビデオデータとして前記ビデオエンコーダ部に入力し、
前記オーディオデコーダ部は、前記入力オーディオストリームをデコードして前記入力オーディオデータとして前記内部バッファに入力する、
半導体装置。
【請求項１４】
請求項１３において、
前記内部バッファのサイズは、前記入力オーディオフレームの２フレーム以上であり、前記出力オーディオフレームの１フレーム以上である、
半導体装置。
【請求項１５】
請求項１３または１４において、
外部ビデオ入力と外部オーディ入力がさらに入力され、ビデオ時間情報付加部とオーディオ時間情報付加部とをさらに備え、
前記ビデオ時間情報付加部が前記外部ビデオ入力にビデオ時間情報を付加して得たビデオデータと、前記ビデオデコーダ部の出力とを選択的に前記ビデオエンコーダ部に入力するビデオ入力セレクタと、
前記オーディオ時間情報付加部が前記外部オーディ入力にオーディオ時間情報を付加して得たオーディオデータと前記オーディオデコーダ部の出力とを選択的に前記内部バッファに入力するオーディオ入力セレクタとをさらに備える、
半導体装置。
【請求項１６】
請求項１５において、
前記ビデオ時間情報付加部は、前記外部ビデオ入力の先頭のビデオデータを起点として、前記ビデオ時間情報を算出して付加し、
前記オーディオ時間情報付加部は、前記外部ビデオ入力の先頭のビデオデータが入力された時点を起点として、前記オーディオ時間情報を算出して付加する、
半導体装置。
【請求項１７】
請求項１０において、
フェードアウト・フェードイン処理部をさらに備え、
前記フェードアウト・フェードイン処理部は、前記記録停止指示が入力された時点でエンコードされていた出力オーディオフレームのオーディオデータにフェードアウト処理を施し、前記記録開始指示が入力された後最初に前記オーディオエンコーダ部がエンコードを開始するオーディオフレームのオーディオデータにフェードイン処理を施す、
半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオビデオ信号の編集を行う情報処理方法および半導体装置に関わり、特に、スプライシング処理に起因するオーディオとビデオの同期ずれを防止するのに有効な技術に関する。
【背景技術】
【０００２】
ＨＤＤレコーダ、ＤＶＤレコーダ、Ｂｌｕ−ｒａｙレコーダなどの映像記録装置には、オーディオビデオコンテンツの編集を目的として、コンテンツの特定部分を消去しその前後を繋ぎ合せる、スプライシングと呼ばれる処理を行う機能を備えるものがある。このような映像記録装置は、記憶容量を抑えるためにオーディオビデオ信号を符号化してコンテンツを記憶している。オーディオ信号とビデオ信号の符号化は、それぞれフレームと呼ばれる基本単位ごとに実行され、複数のフレームによりストリームを構成しているが、その符号化アルゴリズムの違いなどに起因して、オーディオのフレームとビデオのフレームは、長さが異なる場合が多い。そのため、スプライシング後のコンテンツを再生したときに、オーディオ信号とビデオ信号の同期がずれる恐れがある。
【０００３】
スプライシング後のストリームにおけるオーディオとビデオの同期ずれを防止するために、特許文献１には、スプライシング後のビデオデータとオーディオデータが同期するのに必要なずれ量を算出し、ずれ量が１オーディオフレーム未満となるように無音フレームを挿入する技術が開示されている。また、特許文献２には、同様にずれ量を検出し、ずれ量が１オーディオフレーム未満となるように、削除されるビデオデータに対応する音声データを挿入する技術が開示されている。
【０００４】
一方、特許文献３には、いわゆる「つなぎ録り」によって発生するリップシンクずれを最小限に抑える技術が開示されている。符号化されたオーディオビデオ信号のスプライシングとは異なるが、符号化されて既に媒体上に記録されたオーディオビデオ信号に続けて、別のオーディオビデオ信号を符号化して記録する。このとき、既に記録されたオーディオビデオ信号においてビデオ信号に対するオーディオ信号のはみ出し量を算出して、そのはみ出し量分だけ、オーディオ信号の符号化タイミングを遅らせる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１９５２０８号公報
【特許文献２】特開２００１−３５９０５１号公報
【特許文献３】特開２００４−２４８１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１および２に開示される技術は、スプライシング後のビデオとオーディオの同期ずれを、１オーディオフレーム未満に抑えることができるが、それよりも高い精度で同期ずれを抑えることができない。記録されている編集対象のオーディオビデオ信号が、それぞれ既に符号化されビデオフレームとオーディオフレームを構成していることが前提で、復号を行っていないので、フレーム単位で削除および繋ぎ合せの処理を行っているからである。
【０００７】
したがって、同期ずれの精度を高めるために、特許文献３に記載されるような、符号化タイミングを遅らせる技術を組み合わせることはできない。
【０００８】
特許文献３に記載される符号化タイミングを遅らせる技術は、エンコーダをハードウェアで実現し、符号化タイミングを高精度で制御すれば、ビデオとオーディオの同期ずれを高精度で抑えることができる。しかし、スプライシングはＣＰＵやＤＳＰを備えるＬＳＩ上のソフトウェアで実現されることが多い。スプライシングは要求される機能の一つに過ぎず、他の多種の信号処理と合わせて実現するためには、ソフトウェアによる実装が好適だからである。ここで、ソフトウェアによるタイミングの制御は、ＯＳをはじめとして他のソフトウェアプロセスの介在などの要因があるため、一般に時間的な精度が低い。そのため、特許文献３に記載される符号化タイミングを遅らせる技術をソフトウェアで実現される編集技術に応用しようとしても、ソフトウェアによるタイミング制御の精度によって制限を受け、スプライシングによる同期ずれを高精度で抑えることはできない。
【０００９】
本発明の目的は、オーディオビデオコンテンツのスプライシングにおいて、オーディオ信号とビデオ信号の同期ずれを、オーディオデータのサンプリング周期単位の高精度に抑えることである。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
すなわち、入力された複数のビデオフレームからなるビデオストリームと複数のオーディオフレームからなるオーディオストリームにスプライシング処理を行う情報処理装置において、オーディオフレームのデータを復号してバッファに格納し、バッファから出力フレーム単位で読み出して符号化して出力する。スプライシング処理において、編集点の前半のビデオフレームの末尾とオーディオフレームの末尾とのずれ量を求め、そのずれ量に相当するオーディオデータをバッファから削除する。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、スプライシングによる編集点以降のビデオフレームとオーディオフレームの同期ずれを、オーディオデータの１サンプリング周期単位の精度で抑えることができる。入力オーディオストリームは符号化されているのでフレーム単位で扱われ、サンプリング周期ごとのデータを対象とする処理はできないが、入力オーディオストリームをデコードし、サンプリング周期単位になったオーディオデータをバッファに格納しているので、フレーム単位ではなくサンプリング周期単位で削除することができるためである。
【図面の簡単な説明】
【００１５】
【図１】図１は、代表的な実施の形態に係る情報処理装置の機能ブロック図である。
【図２】図２は、ビデオフレームとオーディオフレームとの同期ずれを抑えるためのサンプリング調整部における処理の内容を示すフローチャートである。
【図３】図３は、図２のフローチャートの一部である、データ入力処理の内容を示すフローチャートである。
【図４】図４は、図２のフローチャートの一部である、データ出力処理の内容を示すフローチャートである。
【図５】図５は、代表的な実施の形態に係るスプライシング処理の概要を示す説明図である。
【図６】図６は、外部入力から時間情報を持たないデータが入力された場合の、スプライシング処理の概要を示す説明図である。
【図７】図７は、入力バッファ、内部バッファ、および、出力バッファのデータの入出力についての説明図である。
【図８】図８は、本発明の実施の形態に係るスプライシング処理を行うトランスコーダを搭載した、レコーダのブロック図である。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕＜デコードされたオーディオデータのバッファとずれ量分のデータの削除＞
複数の入力オーディオフレームからなる入力オーディオストリーム（９０）と、複数の入力ビデオフレームからなる入力ビデオストリームと（８０）、記録停止指示（８５）と、記録開始指示（８７）が入力され、複数の出力オーディオフレームからなる出力オーディオストリーム（９１）と、複数の出力ビデオフレームからなる出力ビデオストリーム（８１）を出力する情報処理装置であって、以下のように構成される。
【００１８】
前記入力オーディオストリームをデコードして得たオーディオデータをバッファ（１６）に格納するオーディオ入力部（１１）と、前記バッファに格納されているオーディオデータをエンコードして前記出力オーディオフレームとして出力するオーディオエンコーダ（１９）と、前記入力ビデオストリームをデコードして得たビデオデータをエンコードして前記出力ビデオフレームとして出力するビデオエンコーダ（２９）を備える。
【００１９】
前記情報処理装置は、前記記録停止指示が入力された時に前記ビデオエンコーダから出力されている出力ビデオフレームの末尾（８６）と、前記記録停止指示が入力された時に前記オーディオエンコーダから出力されている出力オーディオフレームの末尾（９６）とのずれ量（９５）を算出し、前記ずれ量に相当するオーディオデータを前記バッファから削除する。
【００２０】
これにより、編集点以降のビデオフレームとオーディオフレームの同期ずれを、オーディオデータの１サンプリング周期単位の精度で抑えることができる。符号化されているオーディオデータはフレーム単位で扱われ、サンプリング周期ごとのデータを対象とする処理はできないが、バッファにはデコードされサンプリング周期単位になったオーディオデータを格納しているので、フレーム単位ではなくサンプリング周期単位で削除することができるためである。また、バッファに格納されたデータに対する処理であるため、コマンドによるタイミング精度の制約を受けないためである。
【００２１】
〔２〕＜スプライシングのための削除＞
項１において、前記情報処理装置は以下の通り動作する。
【００２２】
前記記録停止指示が入力された時に前記オーディオエンコーダから出力されている出力オーディオフレームを出力した後に、前記オーディオエンコーダの動作を停止し、前記記録停止指示が入力された時に前記ビデオエンコーダから出力されている出力ビデオフレームを出力した後に、前記ビデオエンコーダの動作を停止する。
【００２３】
前記記録開始指示が入力されたとき、前記ずれ量に相当するオーディオデータを前記バッファから削除した後に、前記オーディオエンコーダの動作と前記ビデオエンコーダの動作を再開する。
【００２４】
これにより、単純な制御によりスプライシング処理を実現することができる。
【００２５】
〔３〕＜出力フレームの時間情報に基づいてずれ量を算出＞
項１または項２において、前記情報処理装置は以下の通り動作する。
【００２６】
前記記録停止指示が入力された時に前記ビデオエンコーダから出力されている出力ビデオフレームの時間情報（７２）と、前記記録停止指示が入力された時に前記オーディオエンコーダから出力されている出力オーディオフレームの時間情報（７３）とに基づいて、前記ずれ量を算出する。
【００２７】
前記記録開始指示が入力されたとき、前記第ビデオエンコーダの動作を開始することにより最初に出力される出力ビデオフレームの先頭に対応するオーディオデータを始点として、前記ずれ量に相当する量のオーディオデータ（９７）を、前記バッファから削除する。
【００２８】
これにより、編集点以降のビデオフレームとオーディオフレームの同期ずれを、簡便かつ正確に算出し、調整のためのデータの削除を行うことができる。
【００２９】
〔４〕＜時間情報の付加＞
項１、項２または項３において、前記情報処理装置は、さらに外部ビデオ入力（８８）と外部オーディオ入力（９８）とが入力され、ビデオ時間情報付加部（２２）と、オーディオ時間情報付加部（１２）とを備え、以下の通り動作する。
【００３０】
前記オーディオ時間情報付加部は、前記入力オーディオストリームをデコードして得たオーディオデータに代えて、前記外部オーディオ入力にオーディオ時間情報を付加したオーディオデータをバッファに格納する。
【００３１】
前記ビデオ時間情報付加部は、前記入力ビデオストリームをデコードして得たビデオデータに代えて、前記外部ビデオ入力にビデオ時間情報を付加したビデオデータをエンコードして前記出力ビデオフレームとして出力する。
【００３２】
これにより、タイムスタンプなどの時間情報を持たないオーディオビデオ信号が入力されたときにも、付加されたタイムスタンプに基づく正確なずれ量算出処理が可能となる。また、デコードより後の処理ステップを、時間情報の有無で切り替える必要がないため、単純に実装することができる。
【００３３】
〔５〕＜付加する時間情報の起点＞
項４において、前記オーディオ時間情報と前記ビデオ時間情報は、前記外部ビデオ入力の先頭のビデオデータを起点として算出される。
【００３４】
これにより、タイムスタンプなどの時間情報を簡便に算出して付加することができる。
【００３５】
〔６〕＜フェードアウト・フェードイン処理＞
項１乃至項５のいずれか１項において、フェードアウト・フェードイン処理部（１８）をさらに備え、以下の通り動作する。
【００３６】
前記記録停止指示が入力された時に前記オーディオエンコーダから出力されている出力オーディオフレームのオーディオデータにフェードアウト処理を施し、前記記録開始指示が入力された後に前記オーディオエンコーダにより最初に出力される出力オーディオフレームのオーディオデータにフェードイン処理を施す。
【００３７】
これにより、編集点におけるオーディオ信号の不連続による異音の発生を抑えることができる。
【００３８】
〔７〕＜後半オーディオストリームの先頭のタイムスタンプの算出＞
複数の入力オーディオフレームからなる入力オーディオストリーム（９０）と、複数の入力ビデオフレームからなる入力ビデオストリーム（８０）とが入力され、前記入力ビデオストリームの一部を削除して残ったビデオデータに基づく前半ビデオストリーム（８２）と後半ビデオストリーム（８４）とを繋ぎ合せて出力ビデオストリーム（８１）を出力する情報処理方法であって、以下のように動作する。
【００３９】
前記前半ビデオストリームに対応する前半オーディオストリーム（９２）と前記後半ビデオストリームに対応する後半オーディオストリーム（９４）とを繋ぎ合せて出力オーディオストリーム（９１）を出力する際に、前記後半オーディオストリームの先頭のフレームのタイムスタンプＡＴＳＨ（７５）を、
ＡＴＳＨ＝ＶＴＳＨ＋｛（ＡＴＳＴ＋ＡＬＦ）−（ＶＴＳＴ＋ＶＬＦ）｝
により算出する。
【００４０】
ここで、ＶＴＳＴは前記前半ビデオストリームの末尾のフレームのタイムスタンプ（７２）、ＡＴＳＴは前記前半オーディオストリームの末尾のフレームのタイムスタンプ（７３）、ＶＦＬは前記前半ビデオストリームの１フレームあたりの長さ、ＡＦＬは前記前半オーディオストリームの１フレームあたりの長さ、ＶＴＳＨは前記後半ビデオストリームの先頭のフレームのタイムスタンプ（７４）である。
【００４１】
算出した前記タイムスタンプＡＴＳＨに基づいて、前記後半オーディオストリームを構成する複数のオーディオフレームを生成する。
【００４２】
これにより、バッファの実装方法によらず、繋ぎ合せ部分後半のビデオフレームとオーディオフレームの同期ずれを、オーディオデータの１サンプリング周期単位の精度で抑えることができる。
【００４３】
〔８〕＜時間情報付加＞
項７において、前記複数の入力オーディオフレームにタイムスタンプを付与し、前記複数の入力ビデオフレームにタイムスタンプを付与する。
【００４４】
これにより、タイムスタンプなどの時間情報を持たないオーディオビデオ信号が入力されたときにも、タイムスタンプに基づく正確なずれ量算出処理が可能となる。
【００４５】
〔９〕＜フェードアウト・フェードイン処理＞
項７または項８において、前記前半オーディオストリームの末尾のオーディオフレームにフェードアウト処理（１８）を施し、前記後半オーディオストリームの先頭のオーディオフレームにフェードイン処理（１８）を施す。
【００４６】
これにより、編集点におけるオーディオ信号の不連続による異音の発生を抑えることができる。
【００４７】
〔１０〕＜半導体装置＞
入力ビデオデータ（３９）と入力オーディオデータ（３８）が入力され、記録停止指示と記録開始指示（４０）が入力され、出力ビデオフレーム（８１）と出力オーディオフレーム（９１）を出力する半導体装置であって、以下のように構成される。
【００４８】
内部バッファ（１６）を有するサンプル調整部（１５）と、ビデオエンコーダ部（２９）と、オーディオエンコーダ部（１９）を備える。
【００４９】
前記ビデオエンコーダ部は、前記入力ビデオデータを前記出力ビデオフレーム単位でエンコードして出力する。
【００５０】
前記サンプル調整部は、前記入力オーディオデータを前記内部バッファに格納し、前記記録停止指示が入力された時点でエンコードされていた出力ビデオフレームの末尾と、前記記録停止指示が入力された時点でエンコードされていた出力オーディオフレームの末尾との差分情報（９５）を求め（５３）、前記内部バッファに格納されているオーディオデータから、前記差分情報に相当する量のオーディオデータを削除する（５５）。
【００５１】
前記オーディオエンコーダ部は、前記内部バッファに出力オーディオフレームの１フレーム分のオーディオデータを要求し（５０）、前記内部バッファから入力された出力オーディオフレーム単位のオーディオデータをエンコードして出力する。
【００５２】
これにより、編集点以降のビデオフレームとオーディオフレームの同期ずれを、オーディオデータの１サンプリング周期単位の精度で抑えた半導体装置を提供することができる。
【００５３】
〔１１〕＜スプライシング処理＞
項１０において、以下のように動作する。
【００５４】
前記ビデオエンコーダ部は、前記記録停止指示が入力された時点でエンコードされていた出力ビデオフレームを出力した後に前記エンコードを停止し、前記記録開始指示が入力されたときに前記エンコードを開始する。
【００５５】
前記オーディオエンコーダ部は、前記記録停止指示が入力された時点でエンコードされていた出力オーディオフレームを出力した後に前記エンコードを停止し、前記記録開始指示が入力されたときに、前記サンプル調整部に対して、出力オーディオフレームの１フレーム分のオーディオデータを要求する。
【００５６】
これにより、単純な制御によってスプライシング処理を実現する半導体装置を提供することができる。
【００５７】
〔１２〕＜出力フレームの時間情報に基づいて差分情報を算出＞
項１０または項１１において、以下のように動作する。
【００５８】
前記サンプル調整部は、前記記録停止指示が入力された時点で前記ビデオエンコーダ部がエンコードしていた前記出力ビデオフレームの時間情報（７２）と、前記記録停止指示が入力された時点で前記オーディオエンコーダ部がエンコードしていた出力オーディオフレームの時間情報（７３）とに基づいて、前記差分情報（９５）を算出する（５３）。
【００５９】
前記サンプル調整部は、前記記録開始指示が入力されたとき、前記内部バッファに格納されているオーディオデータから、前記ビデオエンコーダ部がエンコードを開始することにより出力される出力ビデオフレームの先頭に対応するオーディオデータを始点として前記差分情報に相当する量のオーディオデータ（９７）を削除する。
【００６０】
これにより、繋ぎ合せ部分のビデオフレームとオーディオフレームの同期ずれを、簡便かつ正確に算出し、調整のためのデータの削除を行う半導体装置を提供することができる。
【００６１】
〔１３〕＜トランスコーダ＞
項１０、項１１または項１２において、複数の入力ビデオフレームからなる入力ビデオストリーム（９０）と複数の入力オーディオフレームからなる入力オーディオストリーム（８０）を入力とし、ビデオデコーダ部（２１）とオーディオデコーダ部（１１）をさらに備え、以下の通り動作する。
【００６２】
前記ビデオデコーダ部は、前記入力ビデオストリームをデコードして前記入力ビデオデータとして前記ビデオエンコーダ部に入力し、前記オーディオデコーダ部は、前記オーディオストリームをデコードして前記入力オーディオデータとして前記内部バッファに入力する。
【００６３】
これにより、スプライシング処理機能を備えたトランスコーダを構成するための半導体装置を提供することができる。
【００６４】
〔１４〕＜最小バッファサイズ＞
項１３において、前記内部バッファのサイズは、前記入力オーディオフレームの２フレーム以上であり、前記出力オーディオフレームの１フレーム以上である。
【００６５】
これにより、最小のバッファサイズが規定され、不要に大きなサイズのバッファを備えなくてもよい。
【００６６】
〔１５〕＜時間情報付加部＞
項１０、項１１、項１２、項１３または項１４において、外部ビデオ入力（８８）と外部オーディ入力（９８）がさらに入力され、ビデオ時間情報付加部（２２）とオーディオ時間情報付加部（１２）とをさらに備え、以下の通り構成される。
【００６７】
前記ビデオ時間情報付加部が前記外部ビデオ入力にビデオ時間情報を付加して得たビデオデータと、前記ビデオデコーダ部の出力とを選択的に前記ビデオエンコーダ部に入力するビデオ入力セレクタ（２３）と、
前記オーディオ時間情報付加部が前記外部オーディ入力にオーディオタイムスタンプを付加して得たオーディオデータと、前記オーディオデコーダ部の出力とを選択的に前記内部バッファに入力するオーディオ入力セレクタ（１３）とをさらに備える。
【００６８】
これにより、タイムスタンプなどの時間情報を持たないオーディオビデオ信号が入力されたときにも、タイムスタンプに基づく正確なずれ量算出処理が可能となる。
【００６９】
〔１６〕＜付加する時間情報の起点＞
項１５において、前記ビデオ時間情報付加部は、前記外部ビデオ入力の先頭のビデオデータを起点として、前記ビデオ時間情報を算出して付加し、前記オーディオ時間情報付加部は、前記外部ビデオ入力の先頭のビデオデータが入力された時点を起点として、前記オーディオ時間情報を算出して付加する。
【００７０】
これにより、タイムスタンプなどの時間情報を簡便に算出して付加することができる。
【００７１】
〔１７〕＜フェードアウト・フェードイン処理部＞
項１０乃至項１６のいずれか１項において、フェードアウト・フェードイン処理部（１８）をさらに備え、以下の通り動作する。前記フェードアウト・フェードイン処理部は、前記記録停止指示が入力された時点でエンコードされていた出力オーディオフレームのオーディオデータにフェードアウト処理を施し、前記開始コマンドが入力された後最初に前記オーディオエンコード部がエンコードを開始するオーディオフレームのオーディオデータにフェードイン処理を施す。
【００７２】
これにより、繋ぎ合せ部分におけるオーディオ信号の不連続による異音の発生を抑えることができる。
【００７３】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００７４】
〔代表的な実施の形態（機能ブロック図）〕
図１は、代表的な実施の形態に係る情報処理装置の機能ブロック図である。代表的な実施の形態に係る情報処理装置は、記録メディア３０に格納されているオーディオビデオコンテンツに、スプライシング処理を施して、記録メディア３３に出力する。本情報処理装置は、入力されたオーディオビデオコンテンツのデータを別の符号化方式に変換して出力するトランスコーダであってもよい。図１は、機能ブロック図であって、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）などの演算器とメモリを含むコンピュータと記憶装置で構成され、ソフトウェアで制御される機能であってもよい。記録メディア３０と記録メディア３３は、物理的に同じ記録メディアであってもよい。
【００７５】
編集対象のオーディオビデオコンテンツは、記録メディア３０に、例えば、プログラムストリーム（ＰＳ）、トランスポートストリーム（ＴＳ）などの形式で格納されている。Ｄｅｍｕｘ３１は、この編集対象のオーディオビデオコンテンツを読み出して、コンテナからオーディオストリーム９０とビデオストリーム８０に分離し、それぞれオーディオ信号処理部１０とビデオ信号処理部２０に入力する。オーディオストリーム９０とビデオストリーム８０は、それぞれの符号化方式に則った長さのフレームを連続して含んで構成されている。フレームは、複数のデータをまとめて符号化して生成されたもので、前記「長さ」は、符号化されたデータ数を指す。一般に、オーディオとビデオでは符号化方式が異なるので、オーディオフレームの長さとビデオフレームの長さは異なっている。例えば、動画の圧縮符号化規格であるＭＰＥＧ２に伴う、ＭＰＥＧ−２  ＡＡＣは１フレームあたり１０２４サンプルであり、ＡＣ３は１５３６サンプルである。オーディオデータは、サンプリング周期のオーディオデータであり、ビデオデータは、画素ごとのデータである。オーディオフレームとビデオフレームは、通常、それぞれ、タイムスタンプと呼ばれる時間情報を含んでいる。
【００７６】
外部入力３４と時間情報付加部１２、２２とそれに伴うセレクタ１３、２３、およびフェードアウト・フェードイン処理部１８については、後述する。
【００７７】
オーディオストリーム９０は、オーディオデコーダ１１で復号され、入力バッファ１４を介して、サンプル調整部１５内の内部バッファ１６に格納される。オーディオストリーム９０に含まれるオーディオフレームは、復号されることによりフレーム構造を失い、サンプリング周期のオーディオデータになっている。
【００７８】
内部バッファ１６に格納されているオーディオデータは、出力のオーディオフレーム単位で、出力バッファ１７を介して読み出され、フェードアウト・フェードイン処理部１８を経てオーディオエンコーダ１９に入力される。オーディオエンコーダ１９は、入力されたオーディオデータを所定の出力符号化方式でエンコードして、出力オーディオストリーム９１として出力する。
【００７９】
ビデオストリーム８０は、ビデオデコーダ２１で復号されてビデオデータとなり、時間情報監視部２５を経てビデオエンコーダ２９に入力される。ビデオストリーム８０に含まれるビデオフレームは、復号されることによりフレーム構造を失い、画素単位のビデオデータになっている。ビデオエンコーダ２９は、入力されたビデオデータを所定の出力符号化方式でエンコードして、出力ビデオストリーム８１として出力する。
【００８０】
出力されたオーディオストリーム９１とビデオストリーム８１は、Ｍｕｘ３２で必要に応じてタイムスタンプなどの付加情報を付加され、コンテナに多重されて記録メディア３３に記録される。
【００８１】
本情報処理装置は、リモコン３５などにより、再生開始、再生停止、記録開始、記録停止などの制御を受ける。記録メディア３０に記録されているコンテンツを読み出し、符号化方式を変換して記録メディア３３に記録する過程で、記録停止が指示され後に記録開始が指示されると、記録停止から記録開始までに読み出された部分が削除され、記録停止前のストリームと記録開始後のストリームが繋ぎ合せられて記録メディア３３に記録される。これが、スプライシング処理の一例である。
【００８２】
記録停止と記録開始の指示４０は、システム制御部３６からオーディオ信号処理部１０とビデオ信号処理部２０に送られ、それぞれを制御する。記録停止指示を受けるとビデオエンコーダ２９は実行中の出力ビデオフレームを出力した後にエンコード動作を停止する。停止直前にエンコードしたビデオフレームの時間情報を、時間情報監視部２５が、ビデオ記録停止時間３７としてオーディオ信号処理部１０のサンプル調整部１５に通知する。サンプル調整部１５は、後述のように、オーディオデータをサンプリング周期単位で削除するなどして出力されるビデオフレームとオーディオフレームに同期ずれが生じないように調整する。
【００８３】
サンプル調整部１５は、内部バッファ１６内に、復号されてサンプリング周期単位になったオーディオデータを格納し保持しているので、サンプリング周期単位で正確なデータの処理をすることができる。記録停止と記録開始の指示４０は、処理をソフトウェアで実装した場合には、ＯＳをはじめとして他のソフトウェアとの関係で、時間的な精度が低いが、ずれ量は正確に計算され正確に調整されるので、タイミング精度の低い指示によって制御されても、その結果は精度の高いものとすることができる。
【００８４】
図示を省略しているが、入力されたオーディオストリーム９０とビデオストリーム８０に付与されていたタイムスタンプなどの時間情報は、オーディオ信号処理部１０とビデオ信号処理部２０において、出力オーディオストリーム９１と出力ビデオストリーム８１に付与すべきタイムスタンプを算出するために利用することができる。また、合わせて、ビデオフレームとオーディオフレームとの同期ずれを抑えるために利用することができる。
【００８５】
〔代表的な実施の形態（動作）〕
代表的な実施の形態に係る上記情報処理装置の動作について、サンプル調整部１５が行う処理を中心に、説明する。
【００８６】
図２は、ビデオフレームとオーディオフレームとの同期ずれを抑えるための、サンプル調整部１５における処理の内容を示すフローチャートである。図３は、その一部であるデータ入力処理６０の内容を示すフローチャートであり、図４は、別の一部であるデータ出力処理６５の内容を示すフローチャートである。
【００８７】
オーディオエンコーダ１９がサンプル調整部１５に対して出力オーディオフレームの１フレーム分のデータを要求する（ステップ５０）。サンプル調整部１５は、データ入力処理（ステップ６０）を行う。データ入力処理６０（図３）では、内部バッファ１６に出力オーディオフレームの１フレーム分のデータが格納されているかどうかを判定し（ステップ６１）、格納されている場合にはデータ入力処理を終了する。格納されていない場合には、入力バッファ１４に入力オーディオフレームの１フレーム分のデータが格納されているかどうかを判定し（ステップ６２）、格納されていなければオーディオデコーダ１１に１フレーム分のデータを要求して（ステップ６４）、ステップ６１に戻る。格納されていれば入力バッファ１４から内部バッファ１６にデータを取り込み（ステップ６３）、ステップ６１に戻る。
【００８８】
データ入力処理（ステップ６０）を終えると、内部バッファ１６に出力オーディオフレームの１フレーム分のデータが格納されている。次に、記録停止指示があるかどうかを判定し（ステップ５１）、指示があれば時間情報監視部２５からのビデオ記録停止時間情報の通知３７を待つ（ステップ５２）。ビデオ記録停止時間情報の通知を受けた後、ＡＶ記録停止位置差分情報を計算し（ステップ５３）、データ出力処理（ステップ６５）を行って終了する。
【００８９】
ステップ５１において記録停止指示がない場合は、記録開始指示の有無を判定し（ステップ５４）、記録開始指示がある場合には、内部バッファ１６からＡＶ停止位置差分情報に相当するデータを破棄する（ステップ５５）。その後、ＡＶ記録停止位置差分情報をクリアし（ステップ５６）、再びデータ入力処理６０を行う。その後、データ出力処理（ステップ６５）を行って終了する。
【００９０】
データ出力処理（図４）では、内部バッファ１６に出力オーディオフレームの１フレーム分のデータが格納されるまで待ち（ステップ６６）、１フレーム分のデータが格納されたら、内部バッファ１６から出力バッファ１７に出力オーディオフレームの１フレーム分のデータを書き出す（ステップ６７）。その後、エンコードしたオーディオの時間情報を更新して（ステップ６８）、終了する。
【００９１】
入力バッファ１４、内部バッファ１６、および、出力バッファ１７のデータの入出力について、図７を参照してさらに詳細に説明する。入力バッファ１４は、少なくとも入力オーディオフレームの１フレーム分の長さを備え、出力バッファ１７は、少なくとも出力オーディオフレームの１フレーム分の長さを備える。内部バッファ１６は、少なくとも、入力オーディオフレームの２フレーム分以上で、且つ、出力オーディオフレームの１フレーム分の長さを備える必要がある。図７は、入力オーディオフレームの長さを、ＡＡＣの１０２４サンプル、出力オーディオフレームの長さをＡＣ３の１５３６サンプルとした例で、入力バッファ１４は１０２４サンプル分、出力バッファは１５３６サンプル分、内部バッファは２０４８サンプル分の長さを持つものとしている。現実の実装では、これにマージンを加えたサイズとなる。
【００９２】
図７において（ａ）は、バッファが空の初期状態である。図３に示すフローチャートのステップ６２で入力バッファにオーディオデコーダの１フレーム分のデータ格納されていないと判断されるので、ステップ６４に進み、オーディオデコーダ１１に１フレーム分のデータを要求する。（ｂ）は図３のオーディオデコーダ１１から入力オーディオフレームの１フレーム分のオーディオデータを、入力バッファ１４に取り込んだ状態である。ステップ６２で入力バッファにオーディオデコーダの１フレーム分のデータが格納されていると判断されるので、ステップ６３に進み、（ｃ）に示すように入力バッファ１４のオーディオデータを内部バッファ１６に転送した状態になる。この状態では、内部バッファは１０２４サンプルのデータを格納しているが、出力フレームの１５３６サンプルには足りない。ステップ６１の判定で、ステップ６２に進み、さらにオーディオデコーダ１１に１フレーム分のデータを要求する（ステップ６４）。その結果、（ｄ）に示すように、内部バッファには入力オーディオフレームの２フレーム分のデータが格納される。内部バッファに格納されているデータの量が、出力オーディオフレームの１フレーム分を超えるので、（ｅ）に示すように、出力オーディオフレームの１フレーム分のオーディオデータを内部バッファから出力バッファに転送する（図４のステップ６６、６７）。内部バッファに格納されているオーディオデータの量が出力オーディオフレームの１フレーム分を下回るので、（ａ）（ｂ）（ｃ）（ｄ）と同様の処理を繰り返し、内部バッファに入力オーディオフレームの１フレーム分のデータをさらに読み込み、（ｆ）に示すような状態になる。
【００９３】
代表的な実施の形態に係る上記情報処理装置の動作について、入出力ストリームを例示して、さらに詳細に説明する。
【００９４】
図５は、代表的な実施の形態に係るスプライシング処理の概要を示す説明図である。
【００９５】
図５において（ａ）は入力ストリームを表し、（ｂ）はスプライシング処理の概要を表し、（ｃ）はスプライシング処理を施されて出力される出力ストリームを表す。入力ビデオストリーム８０はそれぞれにタイムスタンプｖｐｔｓ７０を付与された複数のビデオフレームからなり、入力オーディオストリームはそれぞれにタイムスタンプａｐｔｓ７１を付与された複数のオーディオフレームからなる。横軸は、時間を表す。ビデオフレームとオーディオフレームは通常は長さが異なるので、フレームの境界は必ずしも一致するとは限らない。それぞれのタイムスタンプは、そのフレームの先頭のデータに対応する時間情報を表している。
【００９６】
スプライシング処理のため、記録停止指示８５と記録再開指示８７が入力される。記録停止指示８５は、ビデオストリームのフレーム境界に同期して図示したが、実際にはフレームの境界とは無関係に入力される。記録停止指示８５が入力されると、ビデオエンコーダ２９は、その時にエンコードしているビデオフレーム７２の出力を待ってエンコードを停止する。記録停止指示８５の入力後最初にエンコードされ出力を完結したビデオフレーム７２の末尾がビデオ停止位置８６である。その後さらに、エンコードされ出力を完結したオーディオフレーム７３の末尾がオーディオ停止位置９６である。
【００９７】
時間情報監視部２５は、ビデオ記録停止位置時間情報３７をサンプル調整部１５に通知する。ビデオ記録停止位置時間情報３７は、例えば、ビデオフレーム７２のタイムスタンプでもよい。タイムスタンプはそのフレームの先頭の時間情報であるが、ビデオフレームの長さは既知であるので、ビデオ記録停止位置８６を算出するのは容易であり、等価な情報として扱うことができる。サンプル調整部１５は、ビデオ記録停止位置時間情報３７の通知を待って（図２のステップ５２）、オーディオ記録停止位置９６が決まったときに、ＡＶ停止位置の差分９５を算出する（図２のステップ５３）。
【００９８】
その後、記録開始指示８７が入力されるまでは、ビデオエンコーダ２９とオーディオエンコーダ１９は、エンコードを停止して、出力ストリームの記録メディア３３への記録が停止される。具体的には、例えば、ビデオエンコーダ２９とオーディオエンコーダ１９において、入力されるビデオデータとオーディオデータを破棄する。
【００９９】
記録開始指示８７が入力されると、ビデオエンコーダ２９がエンコード処理を再開する。最初に出力するビデオフレーム７４の先頭が記録開始位置８７となる。このとき、内部バッファ１６からＡＶ停止位置差分情報９５に相当する量のオーディオデータを削除する（図２のステップ５５）。これは、オーディオ開始位置の調整９７にあたる。記録開始指示８７後、初めにエンコードを開始されたビデオフレーム７４の先頭を起点として、内部バッファから、上記ＡＶ停止位置差分情報９５に相当する量のオーディオデータが削除されるので、オーディオのエンコードはＡＶ停止位置差分情報９５の分だけ遅れて開始される。
【０１００】
編集で削除される領域８３によって分割された前半ビデオストリーム８２と後半ビデオストリームを繋ぎ合せて出力ビデオストリーム８１が形成され出力される。オーディオ側でも同様に、編集で削除される領域９３によって分割された前半オーディオストリーム９２と後半オーディオストリーム９４を繋ぎ合せて出力オーディオストリーム９１が形成され出力される。これにより、スプライシング処理が完結する。
【０１０１】
前半ビデオストリーム８２と前半オーディオストリーム９２は、編集点において、ＡＶ停止位置差分情報９５の分のずれが生じている。そのずれであるＡＶ停止位置差分情報９５に相当する量のオーディオデータを、後半ビデオストリーム８４の先頭を起点として、後半ビデオストリーム９４の先頭部分において削除しているので、ビデオストリームと開始位置の調整された後半オーディオストリームとのＡＶ同期ずれは、オーディオのサンプリング周期単位の精度で抑えられる。
【０１０２】
なお、図５は、理解を容易にするために、入力ストリームの１フレームあたりの長さと、出力ストリームの１フレームあたりの長さを等しいものとし、入力ストリームに付与されていたタイムスタンプをそのまま出力ストリームで引き継ぐ場合について説明した。トランスコーダの場合、１フレームあたりの長さは、入力ストリームと出力ストリームで異なるのが一般的であるが、上記の説明は、その場合についても同様に妥当する。また、タイムスタンプについて、入力ストリームに付与されていたタイムスタンプを引き継がずに、出力ストリームで改めて付与する場合がある。このときは、図５に示した例と異なり、出力ストリームにおいて、編集点の前後でタイムスタンプを連続させることができる。このような場合であっても、上記の説明は、同様に妥当する。
【０１０３】
〔別の実施形態（タイムスタンプを利用したずれ量の調整）〕
代表的な実施の形態においては、図１に示した機能ブロック図を前提として実施形態を説明したが、スプライシングにおいて前半ストリームの末尾と後半ストリームの先頭のタイムスタンプが、以下に示すように正確に制御されれば、バッファが別の形態で実施されていても、同じ作用効果を奏する。
【０１０４】
まず、代表的な実施の形態の説明で用いた図５に示す例において、編集点前後のビデオフレームとオーディオフレームのタイムスタンプの関係を説明する。
【０１０５】
前半ビデオストリームの末尾のビデオフレーム７２のタイムスタンプは２０８００、ビデオフレームの長さは１３００であるので、ビデオ記録停止位置８６は２２１００となる。また、前半オーディオストリームの末尾のオーディオフレーム７３のタイムスタンプは２１８００、オーディオフレームの長さは１０００であるので、オーディオ記録停止位置９６は２２８００となる。したがって、ＡＶ停止位置の差分情報９５は、オーディオ記録停止位置９６の２２８００からビデオ記録停止位置８６の２２１００を引いた７００となる。
【０１０６】
図５に示した例では、後半ビデオストリームの先頭フレームのタイムスタンプは２７３００である。この時点を起点として、上で計算したＡＶ停止位置の差分情報９５の７００に相当するオーディオデータが、内部バッファ１６から削除される。このため、後半オーディオストリームの先頭オーディオフレームのタイムスタンプは、２７３００＋７００＝２８０００として算出される。後半ストリームにおいて、ビデオストリームが開始される２７３００から、オーディオ開始位置の調整のため７００だけ遅らせてオーディオストリームを開始している。オーディオストリームが開始された時点でビデオストリームは、２８０００に対応するビデオデータを出力することになるので、ビデオフレームとオーディオフレームの同期ずれはない。
【０１０７】
これを、一般化すると、以下のようになる。
【０１０８】
前半オーディオストリーム９２と後半オーディオストリーム９４とを繋ぎ合せて出力オーディオストリーム９１を出力する際に、後半オーディオストリームの先頭のフレームのタイムスタンプＡＴＳＨ７５は、
ＡＴＳＨ＝ＶＴＳＨ＋｛（ＡＴＳＴ＋ＡＬＦ）−（ＶＴＳＴ＋ＶＬＦ）｝
により算出される。
【０１０９】
ここで、ＶＴＳＴは前半ビデオストリーム８２の末尾のフレーム７２のタイムスタンプ、ＶＦＬは前半ビデオストリームの１フレームあたりの長さ、ＡＴＳＴは前半オーディオストリーム９２の末尾のフレーム７３のタイムスタンプ、ＡＦＬは前半オーディオストリームの１フレームあたりの長さであり、ＶＴＳＨは後半ビデオストリーム８４の先頭のフレーム７４のタイムスタンプである。
【０１１０】
算出した前記タイムスタンプＡＴＳＨに基づいて、前記後半オーディオストリームを構成する複数のオーディオフレームを生成する。
【０１１１】
これにより、バッファの実装方法によらず、繋ぎ合せ部分後半のビデオフレームとオーディオフレームの同期ずれを、オーディオデータの１サンプリング周期単位の精度で抑えることができる。
【０１１２】
なお、前述のとおり図５は、理解を容易にするために、入力ストリームの１フレームあたりの長さと、出力ストリームの１フレームあたりの長さを等しいものとし、入力ストリームに付与されていたタイムスタンプをそのまま出力ストリームで引き継ぐ場合について説明している。トランスコーダの場合、１フレームあたりの長さは、入力ストリームと出力ストリームで異なるのが一般的であり、タイムスタンプについても、入力ストリームに付与されていたタイムスタンプを引き継がずに、出力ストリームで改めて付与する場合もある。上記のタイムスタンプを利用したずれ量の調整は、このような場合にも同様に妥当する。
【０１１３】
〔時間情報付加〕
既に述べた代表的な実施の形態に、外部入力を追加した実施の形態について説明する。図１は、既に外部入力を含んだ機能ブロック図であるので、これを参照して説明する。編集対象のオーディオビデオコンテンツは、記録メディア３０にプログラムストリーム（ＰＳ）、トランスポートストリーム（ＴＳ）などの形式で格納されているコンテンツではなく、外部入力３４から入力される。外部入力は一般にタイムスタンプなどの時間情報を付加されていない。
【０１１４】
本実施形態では、ビデオ信号処理部２０にビデオ時間情報付加部２２を設け、セレクタ２３と時間情報監視部２５を経てビデオエンコーダ２９に接続し、オーディオ信号処理部１０にオーディオ時間情報付加部１２を設け、セレクタ１３と入力バッファ１４を介してサンプル調整部１５に接続する。
【０１１５】
外部入力３４のビデオデータ８８には、ビデオ時間情報付加部２２でタイムスタンプに相当する時間情報を付加し、ビデオデコーダ２１の出力と同じデータフォーマットにする。セレクタ２３でいずれかの入力を選択し、時間情報監視部２５を経てビデオエンコーダ２９に入力する。
【０１１６】
外部入力３４のオーディオデータ９８には、オーディオ時間情報付加部１２でタイムスタンプに相当する時間情報を付加し、オーディオデコーダ１１の出力と同じデータフォーマットにする。セレクタ１３でいずれかの入力を選択し、入力バッファ１４を介してサンプル調整部１５に入力する。
【０１１７】
図６は、外部入力３４から時間情報を持たないデータが入力された場合の、本実施の形態に係るスプライシング処理の概要を示す説明図である。（ａ）は、時間情報を持たない外部入力データである。フレームに区切られていない場合もあるが、理解を助けるために、フレームに区切って表示してある。（ｂ）に示すように、時間情報付加部１２、２２において、オーディオデータ８８とビデオデータ９８に、擬似的にタイムスタンプＰＴＳを生成、付与する。
【０１１８】
生成する時間情報は、オーディオとビデオの同期を正しく取ることができる限り、任意である。例えば、外部ビデオ信号８８が入力を開始された時点を起点として、先頭フレームにタイムスタンプの初期値を与え、外部オーディオ信号９８にも、同じくビデオ信号が入力を開始された時点を起点として、先頭フレームにタイムスタンプの初期値を与えることができる。仮に外部入力のオーディオとビデオで入力開始がずれたとしても、一律にビデオの入力開始時点を起点とすることで、同期ずれを防止することができる。
【０１１９】
それ以下のスプライシング処理（ｃ）、出力ストリーム（ｄ）は、図５で示したものと全く同じである。入力されたコンテンツが時間情報を有しているか否かによらず、同じスプライシング処理の方法を適用することができる点で有効である。
【０１２０】
時間情報付加部１２、２２を備えたことにより、サンプル調整部１５と時間情報監視部２５を、オーディオデータとビデオデータそれぞれがタイムスタンプなどの時間情報を有しているか否かによって動作を変えるのではなく、一律に時間情報を有していることを前提に設計し、動作させることができるので、回路またはソフトウェアを簡略化することができる。
【０１２１】
〔フェードアウト・フェードイン〕
スプライシング処理の結果、入力ストリームにおいて連続していなかったフレームが、出力ストリームで連続することになる。ビデオストリームは突然のシーンチェンジは大きな問題ではないが、オーディオでは不快な異音となる場合がある。そこで、スプライシング処理の前半オーディオフレームの末尾にフェードアウト処理を施し、後半オーディオストリームの先頭にフェードイン処理を施すと良い。
フェードアウト、フェードイン処理は、符号化されていないサンプル単位のオーディオデータを対象に行う必要がある。また、本発明では、内部バッファ１６のデータを削除した後で、後半オーディオストリームの先頭が決まるので、フェードイン処理は、内部バッファ１６とオーディオエンコーダ１９との間で実施するのが、好適である。図１は、フェードイン・フェードアウト処理部１８を出力バッファ１７とオーディオエンコーダ１９との間に備えた実施の形態である。
【０１２２】
フェードイン・フェードアウト処理部を備えることにより、スプライシング処理の編集点における、異音の発生を抑えることができる。
【０１２３】
〔レコーダ〕
図８は、本発明の実施の形態に係るスプライシング処理を行うトランスコーダを搭載した、レコーダのブロック図である。
【０１２４】
レコーダ１は、トランスコーダ部２と再生部３を含んで構成され、入力源４と出力先５とディスプレイ６が接続されている。トランスコーダ部２には、本発明の実施の形態に係るスプライシング処理を行うトランスコーダを搭載することができる。トランスコーダ部２の内部ブロックは、簡略化するため、本発明の実施の形態に必要な構成を省略して図示している。
【０１２５】
入力源４は、例えば、ハードディスクドライブＨＤＤ、デジタル放送メディア、ＵＳＢストレージデバイス、ＤＶＤなどのパッケージメディアである。出力先５は、例えば、ハードディスクドライブＨＤＤ、ＳＤメモリなどの記録メディアである。入力源４に格納されているコンテンツを読み出して、トランスコーダ部２でコード変換し、出力先５に出力する。トランスコーダ部２は、前述の実施の形態に係るスプライシング処理、時間情報付加、フェードアウト・フェードインなどの処理を行う。
【０１２６】
入力源４のコンテンツは、再生部３によってデコードされ、テレビなどのディスプレイ６に表示することができる。
【０１２７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１２８】
例えば、内部バッファ、入力バッファ、出力バッファは、それぞれ独立した記憶デバイスとして実装しても良いし、ＣＰＵからアクセス可能な一つのメモリ上にそれぞれ割り当てられた記憶領域として実装してもよい。また、バッファ上のデータの削除は、必ずしも現実に削除する必要はなく、バッファ上のデータの有効性を示すポインタの値を変えることにより、削除と同様の作用をさせることができる。
【０１２９】
また、記録メディアから読み出し、スプライシング処理を施して記録メディアに格納する処理を代表的に例示して説明したが、記録される代わりにまたは記録されるのと並行して再生（表示）、あるいは伝送されてもよい。
【符号の説明】
【０１３０】
１０  オーディオ信号処理部
１１  オーディオデコーダ
１２  オーディオ時間情報付加部
１５  サンプル調整部
１６  内部バッファ
１８  フェードアウト・フェードイン部
１９  オーディオエンコーダ
２０  ビデオ信号処理部
２１  ビデオデコーダ
２２  ビデオ時間情報付加部
２５  時間情報監視部
２９  ビデオエンコーダ
３０、３３  記録メディア
３４  外部入力
３６  システム制御部
５３  ＡＶ記録停止位置差分情報計算処理ステップ
５５  内部バッファからＡＶ記録停止位置差分情報に相応するデータを破棄するステップ
６０  データ入力処理ステップ
６５  データ出力処理ステップ
８０  入力ビデオストリーム
８６  ビデオ記録停止位置
８７  記録開始位置
９０  入力オーディオストリーム
９５  ＡＶ停止位置の差分
９６  オーディオ記録停止位置
【図１】
0005775006.tif 000002
【図２】
0005775006.tif 000003
【図３】
0005775006.tif 000004
【図４】
0005775006.tif 000005
【図５】
0005775006.tif 000006
【図６】
0005775006.tif 000007
【図７】
0005775006.tif 000008
【図８】
0005775006.tif 000009