以下、本発明の具体的な実施の形態について、図面を参照しながら詳細に説明する。ここでは、先ずオーサリング装置の全体構成を説明し、続いてビデオデータのエンコードを並列処理する情報処理システムについて、特徴のあるエンコード前処理(プリプロセス)を含めて説明する。
図1は、本実施の形態に係る情報処理装置が適用される、スタジオ側に設置されるオーサリング装置(以下、「スタジオ側オーサリング装置」という。)の一構成例を示す図である。
このスタジオ側オーサリング装置10は、メニュー信号処理装置11乃至オーサリングアプリケーション実行装置18がネットワーク19を介して相互に接続され、さらに、ダウンローダ16にはライタ20を介してDLT(Digital Linear Tape)21、HDD(Hard Disk Drive)22、及びネットワーク23が接続されて構成されている。
スタジオ側オーサリング装置10は、図示しない光ディスクに記録させる多重ストリームをファイルとして生成し、DLT21、HDD22、及びネットワーク23のうちの少なくとも1つに記憶させる。なお、ネットワーク23にデータを記憶させるとは、ネットワーク23に接続された他の装置、例えば後述する図3のプラント側オーサリング装置101に対してネットワーク23を介してデータを転送し、そのデータを他の装置に保持(記憶)させることを指す。
このスタジオ側オーサリング装置10において、メニュー信号処理装置11は、オーサリングアプリケーション実行装置18により制御されて動作を切り換え、例えば図示しないビデオテープレコーダ等から供給されるメニュー画面のビデオデータに対してエンコード処理を施し、その結果得られるエンコードビデオデータをファイルサーバ17に記憶する。
サブタイトル信号処理装置12は、オーサリングアプリケーション実行装置18により制御されて動作を切り換え、例えば図示しないビデオテープレコーダ等から供給されるタイトル等のビデオデータに対してエンコード処理を施し、その結果得られるエンコードビデオデータをファイルサーバ17に記憶する。
オーディオ信号処理装置13は、オーサリングアプリケーション実行装置18により制御されて動作を切り換え、例えば図示しないビデオテープレコーダ等から供給されるオーディオデータに対してエンコード処理を施し、その結果得られるエンコードオーディオデータをファイルサーバ17に記憶する。
ビデオ信号処理装置14は、オーサリングアプリケーション実行装置18の制御により、図示しない光ディスクに記録する編集対象(データ)のうち、主データとなるビデオデータに対してエンコード処理を施し、その結果得られるエンコードビデオデータをファイルサーバ17に記憶する。なお、このビデオ信号処理装置14の詳細な構成例については、図8を参照して後述する。
マルチプレクサ15は、オーサリングアプリケーション実行装置18の制御により、ファイルサーバ17に記憶されている、上述したエンコードオーディオデータやエンコードビデオデータのそれぞれを多重化し、その結果得られる多重ストリームをファイルとして生成する。なお、以下、このようなファイルを多重化ストリームファイルと称する。
マルチプレクサ15により生成された多重化ストリームファイルは、ネットワーク19を介してダウンローダ16に供給される。ダウンローダ16は、この多重化ストリームファイルを、ライタ20を介して、DLT21、HDD22、及びネットワーク23のうちの少なくとも1つに記憶する。
このようにして、DLT21、HDD22、及びネットワーク23のうちの少なくとも1つに記憶された多重化ストリームファイルは、ディスクイメージデータとして、例えば後述する図3のプラント側オーサリング装置30に供給される。プラント側オーサリング装置30は、この多重化ストリームファイルを、例えば光ディスクに記録させる。すなわち、多重化ストリームファイルが記録された光ディスクの原盤34が、プラント側オーサリング装置30により作成される。なお、プラント側オーサリング装置30のさらなる説明については後述する。
ファイルサーバ17は、例えば、ネットワーク管理機能をもつコンピュータと高速アクセス可能なディスクアレイにより構成される。ファイルサーバ17は、上述したように、メニュー信号処理装置11、サブタイトル信号処理装置12、オーディオ信号処理装置13、及びビデオ信号処理装置14のそれぞれから、ネットワーク19を介して供給されるエンコードビデオデータやエンコードオーディオデータのそれぞれを記憶する。また、ファイルサーバ17は、マルチプレクサ15等の要求に応動して、記憶されているエンコードビデオデータやエンコードオーディオデータを、ネットワーク19を介してマルチプレクサ15等に出力する。
オーサリングアプリケーション実行装置18は、例えば、オーサリングアプリケーションソフトウエアを実行可能なコンピュータにより構成される。オーサリングアプリケーションソフトウエアとは、このスタジオ側オーサリング装置10全体の動作を制御するためのソフトウエアを指す。すなわち、オーサリングアプリケーション実行装置18は、例えば、オペレータにより設定された各種条件に従って、ビデオ信号処理装置14やダウンローダ16等に編集リストを通知することにより、各装置に処理対象を通知し、それぞれの動作を制御する。また、オーサリングアプリケーション実行装置18は、図示しない光ディスクに記録可能なデータ量から、オーディオデータ及びビデオデータに割り当てるデータ量を計算し、この計算したデータ量を符号化ファイルにより、各装置に通知する。
また、このオーサリングアプリケーション実行装置18は、ビデオ信号について、オペレータの設定したチャプター情報をビデオ信号処理装置14に通知する。ここで、チャプターとは、強制的にフレーム内符号化処理により符号化処理するフレームであり、光ディスク装置では、このチャプターを目標にトラックジャンプして記録内容を確認することができるようになっている。
さらに、このオーサリングアプリケーション実行装置18は、ビデオ信号について、GOP(Group Of Pictures)の最大ピクチャー数、各GOPにおける符号化処理の配列等をビデオ信号処理装置14に通知する。また、オーサリングアプリケーション実行装置18は、マルチアングルの処理対象についても、ビデオ信号処理装置14に通知する。なお、マルチアングルとは、複数のビデオ素材を時分割多重化して光ディスクに記録することにより、ユーザの選択に応じて、例えば列車の走行シーン等を異なる撮影箇所から視聴することを可能にした処理を指す。
このようにして、オーサリングアプリケーション実行装置18は、上述した情報を他の符号化に必要な情報と共に、符号化ファイルによりビデオ信号処理装置14に通知する。なお、以下、オーサリングアプリケーション実行装置18により制御されるメニュー信号処理装置11乃至ダウンローダ16のそれぞれを、スタジオ側オーサリング装置10の内部装置という。
ここで、図2のフローチャートを参照して、スタジオ側オーサリング装置10の処理例について説明する。
ステップS1において、オーサリングアプリケーション実行装置18は、オペレータの操作に従ってビデオ信号処理装置14等各内部装置に対して編集リストを通知することにより、編集対象を、ビデオ信号処理装置14等各内部装置に通知する。
なお、編集対象とは例えば、ビデオ信号処理装置14の処理対象のビデオデータを少なくとも含み、その他必要に応じて、オーディオ信号処理装置13の処理対象のオーディオデータ、サブタイトル信号処理装置12の処理対象のビデオデータ、及びメニュー信号処理装置11の処理対象のビデオデータのうちの任意の数の任意の種類のデータを含む、いわゆる素材(データ)を指す。
ステップS2において、オーサリングアプリケーション実行装置18は、エンコード処理に必要な各種情報を、ビデオ信号処理装置14等各内部装置に通知する。
なお、ここでは例えば、ステップS2の処理で通知される各種情報は一括して所定のファイルに含められ、そのファイルがビデオ信号処理装置14等各内部装置に通知されるものとする。以下、このようなファイルを、符号化ファイルと称する。
具体的には例えば、ステップS2において、オーサリングアプリケーション実行装置18は、編集対象がこれから記録される、光ディスク等が記録可能なデータ量を取得する。次に、オーサリングアプリケーション実行装置18は、そのデータ量に基づいて、編集対象を構成する各データに割り当てるデータ量をそれぞれ計算する。そして、オーサリングアプリケーション実行装置18は、計算された各データ量のそれぞれを符号化ファイルに含めて、各内部装置のうちの対応する内部装置にそれぞれ通知する。例えば、オーサリングアプリケーション実行装置18は、ビデオ信号処理装置14の処理対象のビデオデータ、すなわち、編集対象のうちのメニューやタイトルを除くビデオデータに割り当てるデータ量(以下、「ビデオデータに割り当て可能なデータ量」という。)を、符号化ファイルに含めてビデオ信号処理装置14に通知する。
また、例えば、ステップS2において、オーサリングアプリケーション実行装置18は、編集対象のうちのメニューやタイトルを除くビデオデータについて、オペレータにより設定されたチャプターの時間情報(以下、「アクセス(チャプター)ポイント」という。)を符号化ファイルに含めてビデオ信号処理装置14に通知する。光ディスク等を取り扱うことが可能な装置は、このチャプターを目標にしてトラックジャンプして記録内容を確認することができる。
また、例えば、ステップS2において、オーサリングアプリケーション実行装置18は、編集対象のうちのメニューやタイトルを除くビデオデータについて、GOPの最大表示ピクチャー数(例えば15ピクチャー)や、各GOPにおけるエンコード処理の配列等を符号化ファイルに含めてビデオ信号処理装置14に通知する。
さらに、例えば、ステップS2において、オーサリングアプリケーション実行装置18は、必要に応じて、マルチアングルの処理対象も符号化ファイルに含めてビデオ信号処理装置14に通知する。
またさらに、例えば、ステップS2において、オーサリングアプリケーション実行装置18は、必要に応じて、「光ディスクのディスク容量」、「VTRの開始および終了時刻」等も符号化ファイルに含めてビデオ信号処理装置14に通知する。
このようなステップS2の処理により、エンコード処理に必要な各種情報を含む符号化ファイルが各内部装置にそれぞれ供給されると、処理はステップ3に進む。
ステップS3において、ビデオ信号処理装置14等各内部装置のそれぞれは、この符号化ファイルに含まれる各種情報に基づいて、編集対象のうちの対応するデータをエンコードし、その結果得られる各エンコードデータのそれぞれをファイルサーバ17に記憶する。
ステップS4において、マルチプレクサ15は、ステップS3の処理でファイルサーバ17に記憶された各エンコードデータのそれぞれを多重化することで、多重化ストリームファイルを生成し、ダウンローダ16に供給する。
ステップS5において、ダウンローダ16は、この多重化ストリームファイルを、ライタ20を介して、DLT21、HDD22、及びネットワーク23のうちの少なくとも1つに記憶させる。
以上のようにして、スタジオ側オーサリング装置10の処理は終了となる。
次に図3を参照して、プラント側のオーサリング装置について説明する。図3は、プラント側に設置されるオーサリング装置(以下、「プラント側オーサリング装置」という。)の一構成例を示すブロック図である。この図3に示すように、プラント側オーサリング装置30は、例えば、プリマスタリング装置31と、フォーマッタ32と、カッティング装置33から構成されている。以下、図4のフローチャートを参照して、このプラント側オーサリング装置の処理例について説明する。
ステップS11において、プリマスタリング装置31は、図1のダウンローダ16から出力され、DLT21、HDD22、又はネットワーク23の何れかを経由して供給されたディスクイメージデータ(後述する図8のエンコードビデオデータD2を含む多重化ストリームファイル)を取得する。
次に、ステップS12において、プリマスタリング装置31は、取得したディスクイメージデータを、外部から与えられるコピープロテクションデータを用いて暗号化し、その結果得られる暗号化データをフォーマッタ32に供給する。
ステップS13において、フォーマッタ32は、供給された暗号化データに対して、信号のレベル変換処理等の各種処理を施し、その結果得られる信号をカッティング装置33に供給する。
ステップS14において、カッティング装置33は、フォーマッタ32から供給される信号をもとに、マスターディスク34(ディスクイメージデータが記録された光ディスクの原盤34)を作成する。
このようにして、プラント側オーサリング装置30の処理は終了する。
ところで、従来より、エンコード処理を効率的に処理させるために、エンコーダを複数用意し、エンコーダの台数分にビデオデータを均等に分割して、並列処理を実行する分散エンコード処理が採用されている。この分散エンコード処理によれば、複雑多岐にわたる計算処理に伴う処理時間を短縮させることが可能となり、効率的なオーサリング操作を実現することができる。
このような分散エンコード処理を行う場合、上述したように、用意したエンコーダの台数分にビデオデータを均等に配分することができるように、ビデオデータ上に分割ポイントを定め、その分割ポイントにおいてビデオデータを分割することが必要となる。しかしながら、ビデオデータの如何なる部位でも分割ポイントとすることができるわけではなく、画質に影響を与えない部位を分割ポイントとしなければならない。そして、その画質に影響を与えない分割ポイントを決定するにあたって、エンコード処理を実行する前にプリプロセスとして、画質に影響を与えずに分割可能な分割ポイント候補を検索しておくことが必要となる。
また、例えば、符号化対象のビデオデータが2−3プルダウンで収録されている場合等には、ビデオデータに繰り返し画像が含まれており、限られたディスク容量を効率的に使用するために、分割ポイント候補の検出と同様にプリプロセスとして、その繰り返し画像パターンを検出しておき、エンコード処理において繰り返し画像を間引いて処理することが好ましい。
一方で、AVCコーデック等の演算負荷の高い画像圧縮を単体または複数のエンコード処理装置を用いて圧縮する従来のオーサリング装置では、ビデオデータの取り込みと、それに伴うビデオデータ記録装置の制御と、ビデオデータの分割ポイント候補検出やプルダウンパターン検出等のプリプロセス/圧縮処理を、それぞれ別々に行う必要があった。このような従来のオーサリング装置では、リアルタイムで圧縮が可能なコーデック圧縮処理装置に比べて実時間で数倍(およそ3倍)の処理時間を要していた。
そこで、本実施の形態に係る情報処理装置では、ビデオデータの取り込み時にVTRを制御しながら、処理対象であるビデオデータの特徴、すなわち、少なくとも分割ポイント候補の検出を含む符号化対象のビデオデータの特徴の抽出を行うようにしている。そして、抽出したこれらの特徴情報をデータサーバに格納しておき、符号化処理に際しての条件設定において、これらの情報を参照にして効率的にエンコードを実行できるようにしている。
以下では、先ず、本実施の形態に係る情報処理装置を適用したビデオデータ取り込み装置の構成および処理例を説明し、次に、ビデオデータ取り込み時に抽出した特徴情報をエンコード処理に活用する方法について説明する。
図5は、ビデオデータ取り込み装置の一構成例を示すブロック図である。本実施の形態に係る情報処理装置においては、ビデオデータの取り込み時に、再生装置を制御してビデオデータを確認しながら、ビデオデータの特徴を抽出するようになっている。すなわち、この図5に示されるビデオデータ取り込み装置40は、主コントローラ41による制御に基づき、ビデオテープレコーダ(VTR)47から送信されたビデオデータを、ビデオデータ入出力インタフェース46を介して取り込み、後述するビデオデータの特徴抽出処理を経て、ビデオデータサーバ48に格納する。また、このビデオデータ取り込み装置40においては、主コントローラ41の制御のもと、ビデオデータから抽出された特徴情報を、ネットワーク49を介して補助データサーバ50に記録するようになっている。以下、さらに詳細に説明する。
主コントローラ41は、このビデオデータ取り込み装置40に割り当てられた計算機により構成され、ビデオデータ取り込み装置40全体の動作を制御する。
具体的には、例えば、図5に示すように、主コントローラ41は、グラフィックユーザインタフェース(GUI:Graphical User Interface)42の管理により、図示しないオペレータの操作を受け付け、このGUI42により管理されるVTRコントロール部43、データキャプチャコントロール部44、分割ポイント/プルダウン検出部45の動作を制御する。これにより、主コントローラ41は、VTR47から送信される符号化対象のビデオデータを取り込むとともに、ビデオデータの特徴を抽出し、この符号化対象のビデオデータをビデオデータ入出力インタフェース46を介して、ビデオデータサーバ48に格納する。また、主コントローラ41は、取り込まれたビデオデータから抽出された特徴情報を、ネットワーク49を介して補助データサーバ50に記録する。
具体的には、主コントローラ41のGUI42は、VTRコントロール部43のVTRコントロールプログラム、データキャプチャコントロール部44のデータキャプチャコントロールプログラム、分割ポイント/プルダウン検出部45の分割ポイント/プルダウン検出プログラムの3つのプログラムを管理している。
また、VTRコントロール部43は、図示しないオペレータのGUI42を介した操作を受け付け、VTR47の再生操作を制御する。オペレータによるビデオデータについての時間情報、すなわちスタートポイント(スタートタイムコード)と終了ポイント(エンドタイムコード)の設定がGUI42を介してなされると、VTRコントロール部43がその時間情報に基づいて、VTR47の早送り、又は巻き戻し等の再生制御処理を行う。そして、このVTRコントロール部43における処理に基づいて、データキャプチャコントロール部44によりビデオデータ入出力インタフェース46を経由して主コントローラ41内部にビデオデータが取り込まれる。データキャプチャコントロール部44は、このように、VTRコントロール部43によるVTR47の再生制御のもと、符号化対象となる所望のビデオデータをビデオデータ入出力インタフェース46を介して取り込む。
また、分割ポイント/プルダウン検出部45は、上述のようにして主コントローラ41内部に取り込まれたビデオデータに関し、特徴情報の抽出・検出を行う。具体的には、少なくとも、分散エンコード処理を行うに際して、画質に影響を与えずにビデオデータを分割することができる分割ポイント候補の検出を行う。また、特徴情報としてはその他に、例えば2−3プルダウン処理されたビデオデータ等に存在する画像のリピートパターンに関する特徴抽出を行う。
このような構成を有する、本実施の形態に係る情報処理装置におけるビデオデータ取り込み装置は具体的に以下のような処理を実行する。
すなわち、このビデオデータ取り込み装置40の主コントローラ41上におけるVTRコントロール部43が、オペレータによるGUI42を介した取り込み開始ポイント及び取り込み終了ポイントの設定に基づきVTRを制御して、取り込むビデオデータを決定すると、ビデオキャプチャコントロール部44が、ビデオデータ入出力インタフェース46を介してビデオデータを取り込む。
VTRコントロール部43及びデータキャプチャコントロール部44により、ビデオデータが主コントローラ内部に取り込まれると、取り込まれたビデオデータは分割ポイント/プルダウン検出部45に移行され、特徴が抽出される。また、一方で、分割ポイント/プルダウン検出部45には移行せずに、ビデオデータサーバ48に取り込むためだけの符号化対象ビデオデータがビデオデータ入出力インタフェースに出力される。したがって、データキャプチャコントロール部44が分割ポイント/プルダウン検出部45に送信するビデオデータは、特徴抽出するためだけに送られるデータであり、これにより、処理時間の遅延を回避することができる。
この分割ポイント/プルダウン検出部45においては、少なくとも、分散エンコード処理を行うに際して、画質に影響を与えずにビデオデータを分割することができる分割ポイント候補の特徴が抽出・検出される。また、この分割ポイント/プルダウン検出部45において、分割ポイント検出と共に、特徴情報として、その符号化対象ビデオデータの繰り返し画像パターンに関する特徴の抽出が行われる。具体的には、符号化対象ビデオパターンが2−3プルダウンされた素材である場合には、そのリピートフレームが出現するパターンも検出する。なお、繰り返し画像パターンは、必ずしも2−3プルダウン処理されたビデオデータに存在する画像パターンについてだけではなく、2−3プルダウン処理のされていないビデオデータの繰り返し画像パターンも含む。
このようにして、ビデオデータ取り込み時に、分割ポイント候補と、例えば2−3プルダウンの繰り返し画像パターン等の特徴情報が検出されると、これらの特徴情報はネットワーク49上に接続された補助データサーバ50に格納される。一方で、データキャプチャコントロール部44からは、ビデオデータサーバ48に格納するためのデータが、分割ポイント/プルダウン検出部45に出力するデータとは別に送信され、ビデオデータ入出力インタフェース46を介してビデオデータサーバ48に格納される。そして、格納されたビデオデータは、スタジオ側オーサリング装置10のビデオ信号処理装置14において、エンコード処理に供される。このエンコード処理の詳細な説明については、後述する。
本実施の形態に係る情報処理装置では、多岐に及ぶエンコード処理に伴う処理時間を短縮させるために、ビデオデータを複数の単位に分割してそれぞれ単位を個別のエンコーダに割り当てて圧縮を行う分散エンコード処理の方法を採用する。そして、その分散処理において必要となる分割ポイントの検出を、上述したように、符号化対象となるビデオデータの取り込み時に行うようにしている。
すなわち、ビデオデータの取り込み時に、オペレータによるGUI40の操作の基づきVTR47を制御しながら、分割ポイント/プルダウン検出部45において、ビデオデータの分割ポイント候補と、例えば2−3プルダウンの繰り返し画像パターンを抽出するようにしている。
ここで、分割ポイント候補について、図6を参照にして説明する。図6は、分割ポイント候補と分割ポイントに関する概念図である。
分割ポイントは、ビデオデータのどの部位でもよいというわけではなく、画質に影響を与えないポイントを、分散エンコード処理のプリプロセスとして検索して決定しておく必要がある。具体的な分割ポイントの一例としては、ビデオデータにおけるシーンチェンジのポイントを挙げることができる。
シーンチャンジのポイントは、シーンの切れ目となる部分であり、この部分において分割し、その前後のフレームを異なるエンコーダによってエンコード処理させたとしても、画質への影響は非常に少ない。そして、このシーンチャンジのポイントでは、一般的に大きな輝度変化が現れることが知られており、そのシーンチャンジを検出することは、前のシーンと後のシーンとを比較し、その前後のシーンの輝度変化を確認することによって容易に検出することができる。
したがって、このシーンチャンジポイントを分割ポイント候補と定め、その前後のシーンの輝度変化を抽出することで、画質に影響を与えない分割ポイント候補を容易に検出することができる。このようにして、輝度変化を利用することで、スタートポイントから終了ポイントまでのビデオデータについて、分割ポイント候補の検出を行う。
図6においては、シーンチャンジのポイントを分割ポイント候補として定め、上述のようにして輝度変化を利用することによって検出した、複数の分割ポイント候補が示されている。分散エンコード処理においては、この分割ポイント候補を参照にして、ネットワークを介して設置されているエンコーダの総数に応じて、略等間隔となるように分割し、そのポイントを分割ポイントとする。また、図6に示されるように、各分割ポイント間がネットワークを介して接続された各エンコーダが処理する分割処理区間となる。
次に、符号化対象のビデオパターンにおける繰り返し画像パターンに関する特徴抽出について、具体的に、2−3プルダウン処理されたビデオデータのプルダウンパターン(リピートパターン)検出を例に挙げて説明する。
本実施の形態に係る情報処理装置においては、上述した分割ポイント候補の検出と共に、処理対象となるビデオデータに繰り返し画像パターンが存在する場合には、その繰り返し画像パターンも特徴情報として抽出するようにしている。例えば、符号化処理対象のビデオデータが、2−3プルダウン処理されたものである場合には、2−3プルダウンのリピートパターンの抽出・検出を行うようにしている。以下、符号化対象ビデオデータにおける繰り返し画像パターンに関して、2−3プルダウン処理されたビデオデータにおけるリピートパターンを例に挙げて説明する。
ここで、2−3プルダウン処理とは、24コマ/秒で構成されているデータを、30フレーム/秒で構成されるNTSC方式のテレビ・ビデオ信号に変換するために、同じフィールド画像を周期的に繰り返す処理をいう。プルダウンのパターンの位相は、NTSC方式のビデオデータへの変換時に決定されるが、多くの場合はパターンが規則的に変換されている。なお、ビデオデータの1フレームは、2フィールドで構成されるが、そのうちの第1フィールド(1st field)をトップフィールド(top_field)とし、第2フィールド(2nd field)をボトムフィールド(bottom_field)とする。
図7は、2−3プルダウン処理されたビデオデータの概念図である。プルダウンデータを考慮せずにエンコード処理を行うと、図7中のBパターン及びDパターンで複製されたフィールドデータ、すなわち繰り返し画像パターンもエンコード処理されてしまうため、ディスクサイズを大きくロスすることとなる。限られたディスク容量を効率的に使用するには、コピーされたフィールドを間引いてエンコードすることが求められる。そのため、エンコードする際には、プルダウンパターンについての特徴を検出しておき、その特徴情報をエンコードの際に利用可能なように格納しておく必要がある。
本実施の形態に係る情報処理装置においては、上述したように、プルダウンパターンをビデオデータ取り込み時に検出するようにしている。そして、その検出したプルダウンパターン情報を補助データサーバ50に格納しておく。これにより、エンコード処理時において、そのパターン情報に基づいて繰り返しのフィールドを間引いて処理し、ビデオデータの圧縮作業の効率を高めると共に、限られたディスク容量を効率的に使用できるようにしている
具体的に、2−3プルダウン処理されたビデオデータのうちのコピーフィールドの検出方法の一例としては、例えば、取り込まれた符号化対象ビデオデータについて、その前後のフレームを比較し、現在のフレームと1つ前のフレームの、トップフィールド及びボトムフィールドの差分をもとにして、リピートフレームが出現するパターンを検出するようにする。なお、この検出方法は一例であり、これに限られるものではない。
以上のように、ビデオデータ取り込み装置40の分割ポイント/プルダウン検出部45においては、符号化対象のビデオデータの少なくとも分割ポイント候補を含む特徴情報が抽出される。また、上述したように、ビデオデータの特徴としては、さらにビデオデータ上の繰り返し画像パターン、例えば、2−3プルダウン処理されたビデオデータにおけるリピートパターンに関する情報も抽出される。そして、抽出された情報はネットワーク49を介して補助データサーバ50に記録される。また、一方でビデオデータは、ビデオデータ入出力インタフェース46を介してビデオデータサーバ47に格納され、エンコード処理へと進む。そして、複数のエンコーダを用いてエンコード処理する際には、このビデオデータ取り込み時に抽出した特徴に基づいて、エンコーダの総数に応じたビデオデータの分割を行い、各エンコーダで分散エンコード処理を行うようにしている。また、そのエンコード処理においては、2−3プルダウンのコピーフィールドを間引いて、処理を行うようにしている。
従来の、AVCコーデック等の演算負荷の高い画像圧縮を単体または複数の処理装置で圧縮するオーサリング装置等では、ビデオデータの取り込みと、それに伴うビデオデータ記録装置の制御と、ビデオデータのプリプロセス/圧縮処理を、それぞれ別々に実行する必要があり、多大な処理時間を要していた。
これに対し、上述したように、エンコード処理のプリプロセスとして、VTRを制御しながら、ビデオデータの取り込みと同時に分割ポイント候補や繰り返し画像パターンを検出する、本実施の形態に係る情報処理装置を好適に用いたオーサリング装置によれば、従来のオーサリング装置等に比べて、オーサリング作業工程におけるビデオデータ圧縮作業の処理時間を大幅に短縮させることができる。
また、繰り返し画像パターンに関する情報も、その符号化対象ビデオデータの取り込み時に、すなわちエンコード処理のプリプロセスとして抽出するようにしているので、処理時間の短縮化を図ることができるとともに、無駄のない効率的なエンコード処理を行うことができる。
次に、以上のようにして、特徴抽出しながら取り込まれたビデオデータの具体的な符号化処理について、抽出した情報の利用方法も含め、図8〜10を参照にしながら説明する。
図8は、スタジオ側オーサリング装置10のうちのビデオ信号処理装置14の構成例を示すブロック図である。この図8に示すように、ビデオ信号処理装置14は、例えば、主コントローラ60、エンコーダ67、及びモニタ装置69から構成される。また、このビデオ信号処理装置14には、ネットワーク19を介して、ビデオデータサーバ48と、圧縮データサーバ70が接続されている。
上述したように、図2のフローチャートにおけるステップS1の処理で、編集リストがオーサリングアプリケーション実行装置18からビデオ信号処理装置14に供給される。具体的には、上述したビデオデータ取り込み装置40にビデオデータが取り込まれると、分割ポイント候補及び2−3プルダウンのリピートパターンの特徴情報が検出され、このビデオデータはビデオデータサーバ48に格納される。そして、ビデオデータサーバ48は、オーサリングアプリケーション実行装置18により通知された編集リストに従って、ビデオ信号処理装置14に入力ビデオデータファイルを提供し、処理対象のビデオデータD1をエンコーダ67に出力する。また同時に、編集リストは、ビデオ信号処理装置14の主コントローラ60に供給される。
エンコーダ67は、オーサリングアプリケーション実行装置18から主コントローラ60を介して通知される各種エンコード条件に従って動作を切り換え、ビデオデータサーバ48から出力されるビデオデータD1に対して、例えばMPEGの手法によるエンコード処理を施す。このとき、各種エンコード条件の設定が主コントローラ60により可変制御されることにより、エンコーダ67からの発生ビット量が制御されるようになされている。
また、エンコーダ67は、このエンコード処理の結果を主コントローラ60に通知する。これにより、主コントローラ60は、エンコーダ67のエンコード処理で使用されたピクチャータイプや、そのエンコード処理における発生ビット量をフレーム単位で検出することができる。
さらに、エンコーダ67は、本実施の形態において適用される2パスエンコードが行われる場合、1パス目と2パス目の何れのエンコード処理も実行する。
具体的に説明すると、例えば、エンコーダ67は、2パス目のエンコード処理で利用されるエンコード条件を事前に設定するために、1パス目のエンコード処理、例えば後述する図10のフローチャートにおけるステップS59の処理の一部であるエンコード処理を実行する。エンコーダ67は、この1パス目のエンコード処理においては、自分自身の内部処理でピクチャータイプを割り振り、その割り振ったピクチャータイプを利用してビデオデータD1に対して1パス目のエンコード処理を施す。そして、その1パス目のエンコード処理の結果に基づき、例えば各フレームのピクチャータイプや発生ビット量等をエンコードマネージャ62に通知する。
一方、エンコーダ67は、2パス目のエンコード処理、例えば後述する図10のフローチャートのステップS61のエンコード処理においては、次のような処理を実行する。すなわち、エンコーダ67は、主コントローラ60により設定された各フレーム単位のピクチャータイプと目標ビット量とを指定して、2パス目のエンコード処理をビデオデータD1に対して施し、その結果得られるエンコードビデオデータD2を、ネットワーク19を介して圧縮データサーバ70に記憶させる。このとき、エンコーダ67は、圧縮データサーバ70に記憶されたエンコードビデオデータD2のデータ量等を主コントローラ60に通知する。
なお、2パスエンコード処理の詳細については、図10のフローチャートを用いて後述する。
モニタ装置69は、例えばディスプレイ装置等で構成され、圧縮データサーバ70に記録されたエンコードビデオデータD2を、デコードコントロール部66で伸張したビデオデータに対応する映像を表示する。すなわち、主コントローラ60の制御に基づいて、デコードコントロール部66が圧縮データサーバ70に記録されたエンコードビデオデータD2を伸張すると、その結果得られるビデオ信号をモニタ装置69に供給する。モニタ装置69は、供給されたビデオ信号に対応する映像、すなわち、エンコードビデオデータD2に対応する映像を表示する。
これにより、オペレータは、エンコーダ67の処理結果をモニタ装置69で必要に応じて確認することができる。すなわち、ビデオ信号処理装置14は、モニタ装置69を利用して、エンコーダ67の処理結果のプレビューを行うことができる。さらに、オペレータは、このプレビュー結果に基づいて主コントローラ60をGUI61を介して操作することで、各種エンコードの詳細な条件を細かく変更することができる。
主コントローラ60は、例えば、このビデオ信号処理装置14に割り当てられたコンピュータにより構成される。主コントローラ60は、オーサリングアプリケーション実行装置18との間でネットワーク19を介するデータ通信を行うことで、このビデオ信号処理装置14全体の動作を制御する。
ここで、本実施の形態に係る情報処理装置を適用したオーサリング装置のビデオ信号処理装置14では、上述したように、符号化対象のビデオデータを複数の単位に分割し、それぞれの単位を複数のエンコーダに割り当てて符号化を行う分散エンコード処理を採用している。このように、分散エンコード処理を採用することにより、多岐にわたる符号化処理に伴う処理時間を大幅に短縮させることができるようになっている。
図9は、分割したビデオデータを複数のエンコーダに割り当ててエンコード処理を行う分散エンコード処理を採用したビデオ信号分散処理装置の一構成例を示すブロック図である。この図9に示すように、ビデオ信号分散処理装置14’は、主コントローラ60’と、この主コントローラ60’とネットワーク19を介して接続されているリモートエンコーダ671〜67nとから構成されている。また、主コントローラ60’には、ネットワーク19を介して、取り込まれた符号化対象ビデオデータを格納しているビデオデータサーバ48と、各リモートエンコーダがそれぞれ処理したエンコードビデオデータD2を格納する圧縮データサーバ70とが接続されている。
また、このビデオ信号分散処理装置14’の主コントローラ60’内には、エンコードリモートコントロール部65’が構成されている。このエンコードリモートコントロール部71は、ネットワーク19を介して接続された各リモートエンコーダ671〜67nのエンコード処理を制御する。
そして、この図9に示すビデオ信号分散処理装置14’の主コントローラ60’と主コントローラ60’内のエンコードリモートコントロール部65’が、図8のビデオ信号処理装置14における主コントローラ60と主コントローラ60内のエンコードコントロール部65にそれぞれ相当する。すなわち、主コントローラ60’が、オーサリングアプリケーション実行装置18との間でネットワーク19を介するデータ通信を行うことで、このリモートエンコーダ671〜67nを含めて、ビデオ信号分散処理装置14’全体の動作を制御する。
したがって、図8には1つのエンコーダ67しか図示していないが、図9に示すように複数のリモートエンコーダ671〜67nがネットワークを介して接続されているものと同様であると解釈できることから、以下では、分散エンコード処理を図8のビデオ信号処理装置14を用いて行う例について説明を続ける。
ビデオ信号処理装置14の主コントローラ60には、例えば図8に示されるように、グラフィカルユーザーインターフェース(GUI:Graphical User Interface)61、エンコードマネージャ62、ウェイトコントロール部63、マルチパスコントロール部64、エンコードコントロール部65、及びデコードコントロール部66が設けられている。
すなわち、主コントローラ60は、オーサリングアプリケーション実行装置18からの制御とオペレータの操作とのそれぞれをGUI61の管理により受け付け、また、このGUI61により管理されるエンコードマネージャ62及びエンコードコントロール部65によりエンコーダ67の動作を制御する。
これにより、主コントローラ60は、符号化ファイルに基づいて各種エンコードの詳細な条件の設定を更新することができる。また、例えばこのようにして設定あるいは更新された各種エンコード条件に従ったエンコード処理を、エンコーダ67が処理対象のビデオデータD1に対して施すことを制御する。さらに、エンコーダ67から通知されたエンコード処理の結果を受け取り、そのエンコード処理の結果をオーサリングアプリケーション実行装置18に通知する。
このようにして、主コントローラ60は、オーサリングアプリケーション実行装置18から通知される編集リストに従って、ビデオデータサーバ48内のビデオデータファイルを制御し、所望とする編集対象を再生する。なお、以下、他の内部装置に供給される符号化ファイルと区別するために、ビデオ信号処理装置14に供給される符号化ファイルを、符号化ファイルVENC.XMLと称する。
分散エンコード処理を採用している当該ビデオ信号処理装置14においては、ウェイトコントロール部63が主コントローラ60に設けられている。ウェイトコントロール部63は、オーサリングアプリケーション実行装置18から通知される符号化ファイルVENC.XMLに従って、エンコード処理のビットレート条件を各エンコーダ67(リモートエンコーダ671〜67n)単位で決定し、このエンコード処理条件による最大割り当てデータサイズ等の制御データをマルチパスコントロール部64に通知する。マルチパスコントロール部64は、符号化処理におけるビット配分の設定と、設定した条件をオペレータのGUI61を介した操作に応動して変更する。
マルチパスコントロール部64は、例えば、オーサリングアプリケーション実行装置18から通知される符号化ファイルVENC.XMLに従って、各種エンコード条件を設定し、このエンコード条件に対応する制御データをエンコードコントロール部65に通知する。このとき、マルチパスコントロール部64は、例えば、オペレータによるGUI61の操作に応じて、各種エンコード条件の設定を変更することができる。
マルチパスコントロール部64が設定するエンコード条件としては、例えば、1パス目のエンコード処理で利用される第1のエンコード条件と、2パス目のエンコード処理で利用される第2のエンコード条件とが該当する。第1のエンコード条件の中には、例えば、エンコーダ67が1パス目のエンコード処理を実行する際にその内部処理でピクチャータイプを設定するために必要な各種条件等が含まれる。一方、第2のエンコード条件の中には、例えば、2パス目のエンコード処理で利用される各フレームのそれぞれのピクチャータイプや目標ビット量等が含まれる。
エンコードコントロール部65は、マルチパスコントロール部64より通知される制御ファイルに従って、各エンコーダ67(リモートエンコーダ671〜67n)の符号化処理を制御する。また、各エンコード処理に要する難易度のデータをフレーム単位で各エンコーダ67(リモートエンコーダ671〜67n)に通知するとともに、圧縮データサーバ70に圧縮されたエンコードビデオデータD2を記録する。
また、エンコードコントロール部65は、例えば、後述する2パスエンコードが実行される場合には、次のような処理を実行する。
すなわち、エンコードコントロール部65は、オーサリングアプリケーション実行装置18から通知される制御ファイルに従って、エンコーダ67の1パス目と2パス目のそれぞれのエンコード処理を制御する。
また、エンコードコントロール部65は、エンコーダ67による1パス目のエンコード処理の結果から、エンコード処理に要する困難度とピクチャータイプとのそれぞれをフレーム単位で検出し、その検出結果をマルチパスコントロール部64に通知する。マルチパスコントロール部64は、通知されたフレーム毎の困難度とピクチャータイプとを利用して、2パス目のエンコード処理で利用される第2のエンコード条件を設定する。なお、困難度については後述する。
さらに、エンコードコントロール部65は、エンコーダ67の最終的な2パス目のエンコード処理の結果得られたエンコードビデオデータD2を、ネットワーク19を介して圧縮データサーバ70に記憶させることを制御する。
以上、本実施の形態に係る情報処理装置を適用したオーサリング装置のビデオ信号処理装置14の構成例について説明した。
次に、図10のフローチャートを参照にして、本実施の形態に係る情報処理装置により実行される処理について、上述したビデオ信号処理装置14における2パスエンコード処理を含め、説明する。なお、本実施の形態に係る情報処理装置は、上述したように、エンコード処理時間を短縮させるため、ビデオデータを複数の単位に分割し、それぞれの単位を個別の計算装置に割り当てて圧縮を行う、いわゆる分散エンコード処理を行う。
ステップS50の処理では、ビデオデータ取り込み装置40において、ビデオデータの取り込み開始操作が行われる。ビデオデータ取り込み装置40の主コントローラ41上のGUI42において、オペレータによる時間情報、すなわちスタートポイント(スタートタイムコード)と終了ポイント(エンドタイムコード)の設定がなされると、VTRコントロール部43がその時間情報に基づいて、VTR47の早送り、又は巻き戻し等の再生制御処理を行う。そして、VTRコントロール部43における処理に基づいて、データキャプチャコントロール部44によりビデオデータ入出力インタフェース46を経由して主コントローラ41内部にビデオデータが取り込まれる。
次に、ステップS51において、エンコード処理のプリプロセスとして、取り込まれた符号化対象ビデオデータの分割ポイントの検出及び記録が行われる。ビデオデータ入出力インタフェース46を経由して主コントローラ41に取り込まれた符号化対象ビデオデータは、その主コントローラ41内部に存在する分割ポイント/プルダウン検出部45に送信され、その分割ポイント/プルダウン検出部45において、分割エンコード処理を行うための分割ポイント候補の検出が行われる。
分割エンコード処理を行うに際し、その分割ポイントは、ビデオデータのどの部位でもよいというわけではなく、画質に影響を与えない部位を分割ポイントとして分割する必要がある。例えば、分割ポイントの一例としては、ビデオデータにおけるシーンチェンジのポイントを挙げることができる。以下では、シーンチャンジのポイントを分割ポイントとして検出する例について説明する。
シーンチャンジのポイントでは、一般的に大きな輝度変化が現れる。このことから、前のシーンと後のシーンとを比較し、その前後のシーンの輝度変化を確認することによってシーンチャンジを検出することができる。したがって、このシーンチャンジポイントを分割ポイント候補とし、その前後のシーンの輝度変化を抽出することで、分割ポイント候補を容易に検出することができる。
このようにして、スタートポイントから終了ポイントまでのビデオデータについて、分割ポイント候補の検出を行う。
そして、取り込まれた符号化対象ビデオデータについての分割ポイント候補を検出すると、この分割ポイント候補に関する情報は、ビデオデータ取り込み装置40とネットワーク49を介して接続された補助データサーバ50に記録される。
次に、ステップS52において、取り込まれた符号化対象ビデオデータが、2−3プルダウンにより伸張されたデータであるか否かを判定する。取り込まれたビデオデータが2−3プルダウンされた素材であった場合(ステップS52においてYESの場合)には、ステップS53に進む。
具体的には、ステップS52において、取り込まれたビデオデータが2−3プルダウンされた素材であった場合、ステップS53において、プルダウンパターンの検出及び記録が行われる。すなわち、このステップS53では、例えば、取り込まれたビデオデータについて、その前後のフレームを比較し、現在のフレームと1つ前のフレームの、トップフィールド及びボトムフィールドの差分をもとにして、リピートフレームが出現するパターンを検出する。このようにして検出された2−3プルダウンパターンは、分割ポイント候補に関する情報と共に、ネットワーク49に接続された補助データサーバ50に記録され、ステップS54に進む。
一方、ステップS52において、取り込まれビデオデータが、2−3プルダウンされた素材ではない場合(ステップ52においてNOの場合)には、そのままステップS54に進む。なお、上述の例では、2−3プルダウン処理に伴う繰り返し画像パターンの検出について説明したが、これに限られるものではない。すなわち、2−3プルダウン処理されていないビデオデータであった場合でも、繰り返し画像パターンが存在する場合には同様にして、その繰り返し画像パターン、すなわち特徴を抽出することができる。
ステップS54では、上記ステップによる分割ポイント候補及び2−3プルダウンパターンの検出が終了した非圧縮の状態のビデオデータの書き込みが行われる。具体的には、このビデオデータは、ビデオデータ取り込み装置40のビデオデータ入出力インタフェース46を介してビデオデータサーバ48に記録され、ステップS55に進む。このようにして、本実施の形態に係る情報処理装置は、このようにしてビデオデータサーバ48に記録されたビデオデータD1をビデオ信号処理装置14においてエンコード処理していく。
ステップS55においては、ビデオデータD1のエンコード処理に先立ち、エンコード条件の入力設定を行う。具体的には、ビデオデータサーバ48からビデオ信号処理装置14の主コントローラ41にビデオデータD1が供給されると、主コントローラ41は、オーサリングアプリケーション実行装置18から供給された符号化ファイルVENC.XMLから、編集対象のビデオデータD1のエンコード処理に必要な各種情報を取得する。
例えば、ステップS55の処理では、符号化ファイルVENC.XMLに含まれる上述した各種情報のうちの、「アクセス(チャプター)ポイント」、「ディスク容量」、「VTRの開始および終了時刻」、「ビデオデータD1に割り当て可能なデータ量」等の情報が取得される。また、本実施の形態に係る情報処理装置のおいては、分散エンコード処理を採用していることから、使用可能なリモートエンコーダ671〜67nの総数nに関する情報も取得される。
ステップS55においてエンコード処理に必要な各種の情報が取得されると、次にステップS56に進む。
ステップS56では、分散エンコード処理を行うに際しての、分割数及び分割ポイントの決定を行う。本実施の形態に係る情報処理装置においては、上述したように、エンコード処理時間を短縮させるためにビデオデータを複数の単位に分割し、それぞれの単位を複数の個別のエンコーダに割り当ててエンコード処理を行う分散処理を採用している。この分散エンコード処理にあたって、ビデオデータサーバ48から供給された符号化対象ビデオデータを分割するために、ステップS51にて検出し、補助データサーバ50に記録したビデオデータの分割ポイント候補に関する情報を参照にして、ビデオデータD1を分割する。
すなわち、ステップS55において、図示しない初期設定処理で登録したリモートエンコーダの識別名またはIP Address情報から取得した、分散エンコード処理において使用可能なリモートエンコーダの総数nに関する情報を取得すると、図6に示したような各リモートエンコーダ671〜67nに略等間隔となるような分割ポイントを、補助データサーバ50に記録されている分割ポイント候補に関する情報を参照しながら決定していく。
このように、本実施の形態に係る情報処理装置においては、エンコード処理のプリプロセスとして抽出したビデオデータの特徴情報を参照にして、エンコードの条件を設定していく。これにより、このエンコードの段階において特徴情報を抽出していた従来のオーサリング処理装置に比べて、その特徴抽出処理をプリプロセスとして既に行っていることから、エンコード処理時間の大幅な短縮化を図ることができる。
次に、ステップS57において、エンコード処理を実行するビデオデータD1が、2−3プルダウンで伸張されたデータであるか否かを判定する。そして、ビデオデータD1が、2−3プルダウンデータである場合(ステップS57においてYESの場合)には、ステップS58に進む。
ステップS58においては、2−3プルダウンデータであるビデオデータD1のうちから、コピーフィールドを間引く処理を行う。その際、ステップS53にてエンコード処理のプリプロセスとして検出し、補助データサーバ50に記録したビデオデータD1のプルダウンパターンに関する情報を参照することによって処理を行う。
このように、ステップS58においては、限られたディスク容量を効率的に使用するために、ビデオデータの取り込み時にプリプロセスとして検出し、記録した情報に基づいて、2−3プルダウンのコピーされたフィールドを間引く。そして、その間引いたビデオデータをエンコードするようにしている。本実施の形態に係る情報処理装置は、このように、エンコードを実行する際には、2−3プルダウンパターンに関する情報が確定していることから、従来のオーサリング装置に比べて、処理時間の短縮化を図ることができるとともに、ディスク容量の無駄を省き、効率的なエンコード処理が行えるようになっている。
以上のようにして、2−3プルダウンデータにおけるコピーフィールドを間引く処理を行うと、次にステップS59に進む。また、ステップS57において、エンコード処理を実行するビデオデータが2−3プルダウンで伸張されたデータではない場合(ステップS57においてNOの場合)には、そのままステップS59に進む。
ステップS59においては、ビデオ信号分散処理装置14における主コントローラ60は、ネットワーク19で接続された各エンコーダ67(671〜67n)を制御し、ステップS55の処理で取得された各種情報により設定される第1のエンコード条件に従った1パス目のエンコード処理を、編集対象のビデオデータD1に対して施す。そして、その結果得られる第1のエンコードビデオデータから、エンコード処理に要する困難度とピクチャータイプとのそれぞれをフレーム単位で検出する。
具体的には、ステップS56において略等間隔に分割した編集対象のビデオデータD1が各エンコーダ67(671〜67n)に出力されると、各エンコーダ67(671〜67n)は、このビデオデータD1を構成する各フレームのそれぞれのピクチャータイプを設定する。すなわち、各エンコーダ67(671〜67n)は、主コントローラ60からの指示により指定されたフレームをIピクチャに設定する。さらに、各エンコーダ67(671〜67n)は、ステップS55の処理で取得されたシーンチェンジに関する情報に基づき、その前後のフレームの相関関係からシーンチェンジと判定されたフレームを強制的にIピクチャに設定する。そして、各エンコーダ67(671〜67n)は、Iピクチャに設定されたフレームから、次のIピクチャの直前のフレームまでのフレーム群をクローズGOPとして設定していく処理を実行する。
また、各エンコーダ67(671〜67n)は、このようにして設定されたピクチャータイプを使用して、ビデオデータD1を構成する各フレームのそれぞれに対して、固定量子化ステップによる1パス目のエンコード処理を順次施していく。そして、各エンコーダ67(671〜67n)は、その際に発生するビット量、すなわち、各フレームのそれぞれがエンコードされた際の発生ビット量のそれぞれを、主コントローラ60に通知するとともに、各フレームのピクチャータイプを主コントローラ60に通知する。
主コントローラ60は、各エンコーダ67(671〜67n)からのこの通知により、困難度とピクチャータイプとのそれぞれをフレーム単位で検出する。すなわち、主コントローラ60は、各エンコーダ67(671〜67n)から通知された各フレームのピクチャータイプを、そのまま各フレームのピクチャータイプとして検出する。また、主コントローラ60は、各エンコーダ67(671〜67n)から通知された各フレームの発生ビット量のそれぞれを、各フレームのそれぞれの困難度として検出(測定)する。
ここで、本明細書でいう困難度とは、固定量子化ステップによるエンコード処理が編集対象のビデオデータD1に対して施された際の、エンコード処理後の各フレームのそれぞれのデータ量を指す。
すなわち、フレーム間エンコード処理(PまたはBピクチャのエンコードタイプ)においては動きの激しい部分で予測フレームからの予測誤差(差分)が大きくなり、その分、画質劣化を低減させるために多くのデータが必要となる。また、フレーム内符号化処理(Iピクチャのエンコードタイプ)においては、高周波数成分が多い場合に、ディスクリートコサイン変換処理により高次の係数データが発生することにより、その分、画質劣化を低減させるために多くのデータ量が必要となる。したがって、固定量子化ステップによるエンコード処理がビデオデータD1に対して施された場合、画質劣化を低減させるための多くのデータ量を要する部分(フレーム)において、多くのデータ量が検出されることになる。以上のことから、固定量子化ステップによるエンコード処理が編集対象のビデオデータD1に対して施された結果得られるエンコードビデオデータD2を構成する各フレームのデータのそれぞれのデータ量が、各フレームのそれぞれについての困難度を指すことになる。
このようなステップS59の一連の処理が終了すると、処理はステップS60に進む。ステップS60においては、主コントローラ60は、ステップS59の処理によりフレーム単位で検出された困難度とピクチャータイプとを用いてビット配分計算処理を実行し、目標ビット量をフレーム単位で設定する。
ここで、ビット配分計算処理とは、例えば、ステップS59の処理で検出された各フレームの困難度とピクチャータイプとを用いて、編集対象のビデオデータD1に対して2パス目のエンコード処理が施された場合に得られるエンコードビデオデータD2全体の目標ビット量を、各フレームのそれぞれに割り振るための計算処理をいう。
すなわち、ステップS60において、主コントローラ60は、ビデオデータD1(エンコードビデオデータD2)に対して実際に割り当て可能な総ビット量TOTAL_SUPPLYを計算する。
TOTAL_SUPPLY=TOTAL_BYTES−TOTAL_HEADER・・・(1)
式(1)において、TOTAL_BYTESは、ステップS55の処理で取得された「ビデオデータD1に割り当て可能なデータ量」を示し、ネットワーク19上のファイルサーバ17に記録されるエンコードビデオデータD2全体の目標データ量に相当する。また、TOTAL_HEADERは、エンコードビデオデータD2のうちのヘッダー等の付随的なデータのデータ量を示しており、GOPの総数により特定されるデータ量である。
したがって、主コントローラ60は、この式(1)の演算処理により、エンコードビデオデータD2のうちの付随的なデータを除いたデータに対して割り当て可能なデータ量を、ビデオデータD1に対して実際に割り当て可能な総ビット量TOTAL_SUPPLYとして計算することになる。
次に、主コントローラ60は、ビデオデータD1に対して実際に割り当て可能な総ビット量TOTAL_SUPPLYを、各エンコード処理単位(エンコードユニット)のそれぞれに分配する。なお、以下、このようにして分配された各エンコードユニットのそれぞれのデータ量を、対応するエンコードユニットの目標ビット量といい、SUPPLY_BYTESと記述する。
また、主コントローラ60は、各エンコードユニットのそれぞれについて、対応するエンコードユニットに属する各フレームの困難度(ステップS59の処理で検出された困難度)の総和を演算する。なお、以下、各フレームの困難度をDIFと記述し、また、各困難度DIFの総和をDIF_SUMと記述する。
続いて、主コントローラ60は、各エンコードユニットのそれぞれについて、GOP単位のビット配分を行うための評価関数を計算する。ここでの評価関数は、例えば次の式(2)で表される。
Y= BX・・・(2)
式(2)において、Yは、演算対象のエンコードユニットの目標ビット量SUPPLY_BYTESを示し、Xは、演算対象のエンコードユニットに属する各フレームの困難度DIFの総和DIF_SUMを示している。
主コントローラ60は、このようにして式(2)の評価関数を設定すると、換言すると、式(2)の評価関数における係数Bを演算すると、各エンコードユニットのそれぞれについて、この係数Bを用いる次の式(3)の演算処理を順次実行していく。
GOP_TGT=B×GOP_DIF_SUM・・・(3)
なお、式(3)において、GOP_DIF_SUMは、演算対象のGOPに属する各フレームの困難度DIFの総和を示している。また、GOP_TGTは、演算対象のGOPの目標ビット量を示している。
すなわち、演算対象のGOPの目標ビット量GOP_TGTとは、演算対象のGOPが含まれるエンコードユニットの目標ビット量SUPPLY_BYTESの中から、演算対象のGOPの困難度GOP_DIF_SUMに応じて演算対象のGOPに配分された分のデータ量を指す。
主コントローラ60は、対象のGOPの目標ビット量GOP_TGTを、対象のGOPに属する各フレームのそれぞれに割り振る処理を各GOPのそれぞれについて実行することで、各フレームの目標ビット量をそれぞれ設定する。
以上の一連の処理が、ステップS60において実行されるビット配分計算処理である。このように、ステップS60のビット配分計算処理では、1パス目のエンコード処理結果(ステップS59の処理結果)を基準にして、2パス目のエンコード処理で利用される第2のエンコード条件のひとつである、目標ビット量が設定される。
このようにして、ステップS60の処理が終了すると、次にステップS61に進む。ステップS61においては、主コントローラ60は、ステップS60のビット配分計算処理により設定されたフレーム毎の目標ビット量と、ステップS59の処理で検出された各フレームのピクチャータイプとを少なくとも含む第2のエンコード条件を設定し、エンコード処理を実行する(2パス目のエンコード処理を実行する)。
次に、ステップS62において、主コントローラ60は、この第2のエンコード条件に従った2パス目のエンコード処理が編集対象のビデオデータD1に対して施された場合に得られるはずの第2のエンコードビデオデータD2のプレビュー処理を実行することによって、画質のチェックを行う。
ステップS62におけるプレビュー処理とは、例えば下記の一連の処理をいう。すなわち、上述したように、ビデオデータサーバ48が、オペレータのGUI61の操作に基づく主コントローラ60の制御に応動して、編集対象のビデオデータD1を各エンコーダ67(671〜67n)に供給する。各エンコーダ67(671〜67n)が、第2のエンコード条件に従ってこのビデオデータD1を一旦エンコードし、その結果得られるエンコードビデオデータD2をネットワーク19に出力せずに再デコードして、その結果得られるビデオ信号をモニタ装置69に供給する。モニタ装置69は、このビデオ信号に対応する映像を表示する。すなわち、第2のエンコード条件に従った2パス目のエンコード処理が編集対象のビデオデータD1に対して施された場合に得られるはずの第2のエンコードビデオデータD2に対応する映像が、モニタ装置69にプレビュー映像として表示される。
このようにして、2パス目のエンコード処理によるエンコードビデオデータD2のプレビュー処理を行い、画質チェックを行うと、次にステップS63に進む。
ステップS63において、主コントローラ60は、オペレータの画質評価が「OK」であるか否かを判定する。すなわち、オペレータは、ステップS62の処理により、モニタ装置69に表示されるプレビュー映像、すなわち、エンコードビデオデータD2に対応する映像の画質の評価を行い、その評価結果を、GUI61を操作することで主コントローラ60に入力させる。例えば、オペレータが画質に満足して、GUI61を操作して2パス目のエンコード処理の開始を指示すると、ステップS63において、オペレータの画質評価が「OK」であると判定されて(ステップS63においてYESの場合)、処理はステップS66に進む。
ステップS66においては、主コントローラ60は、2パス目のエンコード処理によりエンコードビデオデータD2を、ネットワーク19を介して圧縮データサーバ70に記憶させとともに、2パス目のエンコード処理の結果をオーサリングアプリケーション実行装置18に通知する等の後処理を実行する。このようにして、ステップS66において後処理が完了すると、エンコード処理は終了する。
これに対して、オペレータが、ステップS62のプレビュー処理によりモニタ装置69に表示されているプレビュー映像、すなわち、圧縮データサーバ70に記憶される前のエンコードビデオデータD2に対応する映像の画質に満足せず、例えば、GUI61を操作して変更・修正の処理を選択すると、ステップS63において、オペレータの画質評価が「OK」ではないと判定され(ステップS63においてNOの場合)、処理はステップS64に進む。
ステップS64においては、主コントローラ60は、2パス目のエンコード処理におけるパラメータの変更を行う。
具体的には、主コントローラ60は、オペレータによるGUI61の操作に応動して、部分的にエンコード条件を変更することにより、部分的に画質を変更する処理を行う。また、主コントローラ60は、上述のステップS60と同様のビット配分計算処理を再実行することで、その修正又は変更したいビデオデータD1の一部の目標ビット量の設定を更新する。なお、このステップS64におけるビット配分計算処理では、直前のエンコード条件の変更に伴う部分的な画質変更の結果を利用する。
このようにして、ステップS64において、修正又は変更したい一部のビデオデータのエンコード条件等を変更すると、ステップS65に進み、そのエンコード条件を更新した一部のビデオデータについて2パス目(エンコード条件によっては1パス目から)のエンコード処理による部分再エンコード処理を施す。
この部分再エンコードは、変更・修正したい部分を含む、図6に示される分割処理区間を単位として行われる。そして、その部分エンコードした分割処理区間を入れ替えて圧縮データを結合させる。
ここで、部分エンコード処理に際しての処理単位について、図11〜13を参照しながら、より詳細に説明する。
図11は、以下で説明するRAP(Ramdam Access Point)とGOPとの関係を説明するビデオデータの概略図である。本エンコーダは、部分エンコードに際しての利便性を考慮して、一定の間隔でバッファの占有量を制限する機能を持っている。この機能により、別々にエンコードされたストリームを結合した場合でも、接合ポイントでバッファ占有量の破綻が生じないようになっている。この一定間隔で挿入されるバッファリセットポイントをRAPといい、図11(A)及び(B)においてRAP(m),RAP(m+1)…で示すポイントである。
上述してきたような複数のエンコードを利用して分散エンコード処理を行う場合における最も効率がよい分割エンコード単位は、図11(B)に示すようなデータ入れ替え区間を包含する最短のRAP間である。しかしながら、このRAP間を部分再エンコード区間とした場合における部分再エンコードでは、ストリームの連結を考慮したバッファ占有量制御機能が働くために、発生ビット量が抑えられ、その結果として再エンコード区間を形成する図11(B)中X部位において、画質の低下が発生してしまう。
したがって、本実施の形態における情報処理装置では、この画質低下の問題を回避するために、図12に示すように、上述したRAPの最少区間(例えば、図11(B)中X−X区間)ではなく、変更・修正等の改変を行う箇所を包含する最小の分散エンコード区間(図12中Y−Y区間)において、部分再エンコードを行うこととしている。すなわち、符号化対象ビデオデータの取り込み時に抽出した特徴情報としての分割可能な分割ポイント候補を参照にして決定した分割ポイント間を単位とし、修正又は変更する部位を包含する最小の分割ポイント区間において、部分再エンコード処理を行うようにしている。
これにより、分散エンコード処理をした分割ポイントと、変更・修正する部分エンコード処理を行うポイントとでは、同じポイント(図12中Y部位)となることから、部分エンコード処理前の画質と同等の画質を維持することができ、画質低下の問題を解決することが可能となる。
では次に、実際に、ビデオデータ修正(変更)区間を考慮した再エンコード区間の決定について、図13を参照にして説明する。図13(a)は、分割エンコード処理によって符号化した後に、その分割符号化データを結合させたストリーム上にある、図11(B)や図12で説明した分割ポイント(兼RAP)(点線で示すポイント)と分割処理区間を示す図である。上述したように、本実施の形態に係る情報処理装置においては、部分再エンコード処理を施す場合、RAPの最少区間において再エンコード処理を施すのではなく、この分割ポイントで区切られた最小の分割処理区間を単位として再エンコード処理を行う。
そして、分散符号化して得られたストリームに対して、画質チャックを行った後に、図13(b)に示すようにデータの一部区間(ビデオデータ修正(変更)区間)において修正又は変更を行おうとする場合、変更開始ポイントP1から前方に向かって、図13(c)で示す、隣接する再処理開始ポイントP3を検索する。また一方で、変更終了ポイントP2から後方に向かって隣接する再処理終了ポイントP4を検索する。このようにして検索した結果得られた再エンコード区間に対して、VTRからビデオデータを取り込み、部分再エンコード処理を行う。
このようにして再エンコード処理が終了した後は、当該再エンコード処理を行った区間のみを入れ替えてエンコードビデオデータを再結合する。
以上のように、本実施の形態に係る情報処理装置においては、分割処理区間を単位として、ビデオデータにおける修正又は変更等の改変を行う部位を包含する最小の分割処理区間を検索することによって、部分再エンコード処理を行うようにしている。これにより、部分再エンコード処理を施す前後で、画質が低下することを防ぐことができるとともに、最小範囲での部分再エンコード処理を可能にし、全ての区間における再エンコード処理を施していた従来のオーサリング装置と比較して、やり直しを最小限に抑えた、効率的な圧縮処理作業を実現することができる。
また、本実施の形態に係る情報処理装置においては、上述したように、並列分散エンコード処理を行うに際して、図9に示されたように、ネットワークを介して複数のリモートエンコーダ671〜67nを接続させ、その複数のリモートエンコーダ671〜67nを用いてエンコード処理を行っている。このようなネットワークを介して接続されたリモートエンコーダ671〜67nによれば、例えばバス等によって接続された複数のエンコーダを用いた分散エンコード処理に比べて、各エンコーダ相互間における制御の必要性がなくなるので、それぞれが独立してエンコード処理を行うことができ、各リモートエンコーダ671〜67nの自由度を高くすることができる。
このことは、特に、修正又は変更等の改変を行う箇所を包含する最小の分割ポイント区間においてのみ部分再エンコード処理を行うようにしている本実施の形態に係る情報処理装置においては、より効率的な再エンコード処理を実現することが可能となる。すなわち、再エンコード処理を行う必要のないエンコーダを含めた全てのエンコーダを制御する必要が生じる、例えばバス等で接続されたエンコーダを用いた処理に比べ、ネットワークを介して接続された本実施の形態に係る情報処理装置によれば、ネットワークで接続された一部のエンコーダのみを独立して働かせ、一方でその他のエンコーダは休止させておくことが可能となり、最小限のデータ転送量で、かつ効率的な処理を実行することができる。また、このことは、分散エンコード処理の処理時間の短縮化を可能にする。
ステップS65において、上述した部分エンコード処理を施すと、ステップS62に戻り、それ以降の処理が繰り返される。
以上、本実施の形態に係る情報処理装置の処理例について説明した。このように、本実施の形態に係る情報処理装置は、分散エンコード処理を実行するにあたり、プリプロセスとして、符号化対象のビデオデータの取り込み時に、例えば、シーンチェンジとなる部分を分割ポイント候補として検出し、さらに、2−3プルダウン処理されたビデオデータ等における繰り返し画像パターンを検出し、これらの検出したビデオデータの特徴情報を補助データサーバ50に記録するようにしている。
従来のオーサリング装置等では、これらの分割ポイント候補や繰り返し画像パターンを、エンコード条件の設定時に、または2パスエンコード処理が実行される場合には難易度測定時に自動検出していた。すなわち、従来のオーサリング装置では、ビデオデータの取り込みと、それに伴うビデオデータ記録装置の制御と、ビデオデータのプリプロセス/圧縮処理を、それぞれ別々に行う必要があり、リアルタイムでの圧縮することができずに多大な処理時間を要していた。
これに対し、本実施の形態に係る情報処理装置によれば、分割ポイント候補に関する情報や、また繰り返し画像パターン等に関する特徴情報を、エンコード処理のプリプロセスとしてビデオデータの取り込み時に再生装置を制御しながら検出し、特徴抽出したビデオデータをビデオデータサーバに記録するとともに、検出した情報を補助データサーバに記録するようにしている。これにより、取り込んだビデオデータD1をリアルタイムで効率的にエンコード処理することができ、従来のオーサリング装置等に比して、数倍速い時間でオーサリング処理を施すことが可能となる。また、限られたディスク容量内において、無駄のない効率的なエンコード処理を、短い処理時間で実行することができる。
ここで、上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウェアにより実行させることができる。
このように、ソフトウェアにより実行させる場合、図1のスタジオ側オーサリング装置10全体、又はその一部分は、例えば図14に示されるようなコンピュータとして構成することができる。なお、スタジオ側オーサリング装置10の一部分とは、例えば、図5のビデオデータ取り込み装置40全体のときもあるし、またはそのビデオデータ取り込み装置40一部分、例えば、主コントローラ41等のときもある。
図14において、CPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記録されているプログラム、又は記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
例えば、図5の主コントローラ41が図14のコンピュータで構成される場合、VTRコントロール部43、データキャプチャコントロール部44、分割ポイント/プルダウン検出部45等は、CPU101が実行するプログラムとして構成することができる。
CPU101、ROM102、及びRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インタフェース105も接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、及び通信部109が接続されている。
入力部106は、例えば、出力部107の表示部も兼ねたタッチパネル、キーボード、受光部を含むリモートコントローラ、マウスなどの入力機器で構成される。
出力部107は、例えばディスプレイ等の表示部単体、スピーカやヘッドフォン出力端子等の音声出力部単体、または、それらの組合せで構成される。
記憶部108は、例えばハードディスクなどで構成される。また、通信部109は、例えばモデム、ターミナルアダプタ、無線通信機器などより構成され、他の情報処理装置との間の通信を制御する。例えば、図5の主コントローラ41が、図14のコンピュータで構成される場合、通信部109は、ネットワーク49を介する補助データサーバ50との間の通信を制御する。
入出力インタフェース105にはまた、必要に応じてドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなるリムーバブル記録媒体111が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部108にインストールされる。
ところで、上述した一連の処理もソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、図14に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD−ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリ等よりなるリムーバブル記録媒体(パッケージメディア)111により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM102や、記憶部108に含まれるハードディスクなどで構成される。
以上説明したように、本実施の形態に係る情報処理装置においては、分散エンコード処理を施した後の画質チェックにおいて、そのビデオデータの一部を修正又は変更等しようとする箇所を発見した場合、その修正又は変更等の改変を行う箇所を包含する最小の分割エンコード処理区間において、部分再エンコード処理を行うようにしている。これにより、再度全区間においてビデオデータの取り込みを再度行って、その全区間において再エンコード処理を施していた従来のオーサリング装置と比較して、処理時間の短縮化を図ることが可能になる。すなわち、ビデオデータの一部修正又は変更によるやり直しを最小限に抑えることができ、効率的で、無駄のないエンコード処理を実現することが可能となる。
また、その部分再エンコード処理では、RAP区間においてではなく、分割ポイントで割り当てられた分割処理区間を単位として、再エンコード処理を行うこととしているので、RAPにおけるバッファ占有量制御機能による発生ビット量の抑制に基づく画質の低下を防ぐことができ、再エンコード処理前後において、画質を維持させることができる。
さらに、再エンコード処理区間を形成する、上述した分割ポイントに関しては、符号化対象のビデオデータの取り込み時に、当該ビデオデータの少なくとも分割ポイント候補に関する特徴情報を抽出し、その特徴情報を格納しておき、エンコード処理条件設定において、その格納されていた特徴情報を参照にして、分散エンコード処理に伴うビデオデータの分割ポイントを決定するようにしている。これにより、ビデオデータの取り込みと、ビデオデータのプリプロセス/圧縮処理とを別々に行っていた従来のオーサリング処理装置に比べて、大幅に処理時間の短縮化を図ることができる。
またさらに、同様に、ビデオデータの取り込み時に符号化処理にプリプロセスとして、上述した分割ポイント候補だけではなく、繰り返し画像パターンに関する特徴情報も抽出するようにしているので、処理時間の短縮化を図るとともに、限られたディスク容量において、効率的な符号化処理を実現することができる。
なお、本発明は、上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
例えば、上述した一連の処理もソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータにネットワークや記録媒体からインストールされる。または、各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどにインストールされる。
また、このようなプログラムを含む記録媒体は、装置本体とは別に、ユーザにプログラムを提供するために配布されるものである。例えば、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM,DVDを含む)、光磁気ディスク(MDを含む)、半導体メモリ等よりなるリムーバブル記録媒体(パッケージメディア)である。また、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、ハードディスクなどで構成されてもよい。
なお、本明細書において、フローチャートを用いて説明した各ステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
10 スタジオ側オーサリング装置、11 メニュー信号処理装置、12 サブタイトル信号処理装置、13 オーディオ信号処理装置、14 ビデオ信号処理装置、15 マルチプレクサ、16 ダウンローダ、17 ファイルサーバ、18 オーサリングアプリケーション実行装置、19 ネットワーク、20 ライタ、21 DLT、22 HDD、23 ネットワーク、30 プラント側オーサリング装置、31 プリマスタリング、32 フォーマッタ、33 カッティング装置、34 マスターディスク(原盤)、40 ビデオデータ取り込み装置、41 主コントローラ、42 GUI、43 VTRコントロール部、44 データキャプチャコントロール部、45 分割ポイント/プルダウン検出部、46 ビデオデータ入出力インタフェース、47 VTR、48 ビデオデータサーバ、49 ネットワーク、50 補助データサーバ、60,60’ 主コントローラ、61 GUI、62 エンコードマネージャ、63 ウェイトコントロール部、64 マルチパスコントロール部、65 エンコードコントロール部、65’ エンコードリモートコントロール部、66 デコードコントロール部、67 エンコーダ、671〜67n リモートエンコーダ、68 InfoDB、69 モニタ装置、70 圧縮データサーバ