【手続補正書】
【提出日】平成17年7月1日(2005.7.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  復号装置，復号方法，復号プログラム，および復号プログラム記録媒体
【特許請求の範囲】
【請求項１】  複数の符号化データを入力し、復号して出力するデコード部と、
前記デコード部の状態を保持するデコード状態保持部とを備え、
前記デコード部は、前記複数の符号化データから１つを選択し、前記デコード状態保持部に保持されたデコード部の状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号し、デコード部の状態を前記デコード状態保持部に保存し、前記復号結果を前記選択した符号化データに対応した出力先に出力する、
ことを特徴とする復号装置。
【請求項２】  請求項１記載の復号装置において、
前記デコード部は、符号化単位の境界で符号化データの入力を、復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化する、
ことを特徴とする復号装置。
【請求項３】  請求項１記載の復号装置において、
前記デコード部は、各々の符号化データに記された情報に基づいて、復号結果を出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化する、
ことを特徴とする復号装置。
【請求項４】  複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、
その復号結果を格納するメモリと、
いずれの符号化データを復号するかを指示するシステム制御部と、
前記メモリに格納した復号結果を出力する出力制御部とを備え、
前記システム制御部の指示に基づいて復号する符号化データを変更し、
前記出力制御部は、前記変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行う、
ことを特徴とする復号装置。
【請求項５】  複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、
その復号結果を格納するメモリと、
前記メモリに格納した復号結果を出力する出力制御部とを備え、
前記出力制御部は、各符号化データの復号結果を出力する際に、共通の時間指標に基づいて出力を制御する、
ことを特徴とする復号装置。
【請求項６】  複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、
その復号結果を格納するメモリと、
前記メモリに格納した復号結果を出力する出力制御部とを備え、
前記出力制御部は、各符号化データの復号結果の出力を制御する際に、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御する、
ことを特徴とする復号装置。
【請求項７】  請求項１記載の復号装置において、
前記デコード部は、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了する、
ことを特徴とする復号装置。
【請求項８】  請求項１記載の復号装置において、
前記デコード部は、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定する、
ことを特徴とする復号装置。
【請求項９】  請求項１記載の復号装置において、
前記デコード部は、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行う、
ことを特徴とする復号装置。
【請求項１０】  請求項１記載の復号装置において、
前記デコード部は、各符号化データの復号処理を、復号処理の種類を単位として切り替える、
ことを特徴とする復号装置。
【請求項１１】  請求項１記載の復号装置において、
前記デコード部は、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定する、
ことを特徴とする復号装置。
【請求項１２】  複数の符号化データを入力し、復号して出力する復号方法において、
デコード部の状態を保持するステップと、
前記複数の符号化データから１つを選択するステップと、
保持された前記デコード部の状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号するステップと、
復号された結果を選択された前記符号化データに対応した出力先に出力するステップと、
を含むことを特徴とする復号方法。
【請求項１３】  コンピュータに復号方法を実行させる復号プログラムにおいて、
前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、
デコード部の状態を保持し、
前記複数の符号化データから１つを選択し、
保持された前記デコード部の状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、
復号された結果を選択された前記符号化データに対応した出力先に出力する、
ことを特徴とする復号プログラム。
【請求項１４】  コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、
前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、
デコード部の状態を保持し、
前記複数の符号化データから1つを選択し、
保持された前記デコード部の状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、
復号された結果を選択された前記符号化データに対応した出力先に出力する、
ことを特徴とする復号プログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、復号装置，復号方法，復号プログラム，および復号プログラム記録媒体に関するものであり、特に、デジタルの映像や音声などのデータを圧縮して生成されるビットストリームについて、１つの復号装置で複数の圧縮データを見かけ上同時に復号する処理を可能にした複数データ同時復号装置、およびこの復号装置に相当する機能を実現するための復号方法，復号プログラム，および復号プログラム記録媒体に関するものである。
【０００２】
【従来の技術】
従来、デジタルの映像や音声などのデータを圧縮したビットストリームを復号する場合、例えば、図５６に示す復号装置などによってその処理が行われている。ここでは図５６の復号装置を例としてその動作を説明する。
図５６に従来の復号装置のブロック図、図５７に図５６のブロック図を実現する、より詳細なブロック構成の一例を示す。
図５６の復号装置は、ユーザ情報設定回路１１１０によりシステム制御回路１０９０に指示したチャネルＩＤあるいはシステム制御回路１０９０に保存したチャネルＩＤに基づいて、システム制御回路１０９０がビットストリーム出力回路１０８にいずれの放送を受信し、放送中のどのビットストリームを出力するかを指示する。
ビットストリーム出力回路１０８内では、図５７に示すデジタル放送受信回路１０８１とデータ分離回路１０８２とによって、受信した放送からデコード回路１０１での復号対象となるオーディオビットストリームおよびビデオビットストリームを出力する。
【０００３】
まず図５７のデジタル放送受信回路１０８１では、システム制御回路１０９０の指示に基づいて復号の対象となる放送を受信して通信路復号化を行いビットストリームBSTを出力する。データ分離回路１０８２ではシステム制御回路１０９０の指示に基づいてビットストリーム中のデコード対象となるオーディオビットストリームAST，ビデオビットストリームVSTを分離して出力する。
ビットストリーム出力回路１０８が出力したオーディオビットストリームとビデオビットストリームとを格納するオーディオビットストリームバッファ１０４２とビデオビットストリームバッファ１０４１とをフレームメモリ１０４内に確保し、それぞれをＦＩＦＯメモリとして機能させてデコード回路１０１に出力する。ここで、これらストリームバッファ１０４２および１０４１をＦＩＦＯメモリとして機能させるために、ビットストリーム出力回路１０８、フレームメモリ１０４、デコード回路１０１等によってバッファ残量の管理とストリーム入出力の制御を行う。
【０００４】
デコード回路１０１では、フレームメモリ１０４からオーディオビットストリーム，ビデオビットストリームの供給を受け、それぞれオーディオデコード回路１０１２，ビデオデコード回路１０１１で復号化を行い、復号結果をフレームメモリ１０４内に確保したオーディオデータバッファ１０４４，ビデオデータバッファ１０４３に出力する。ここでデコード回路１０１において実時間の処理を保証するためには符号化されたデータの単位に対応した処理時間内に処理を完了する必要がある。このことをビデオの復号処理を例にとって図５８，図５９に図示する。
【０００５】
図５８，図５９のいずれについてもビデオはフレームを単位として符号化されているとする。ここでは480i、即ち、走査線４８０本のインターレース映像、を符号化していると想定すると、このときビデオの復号処理ＶＤＰはフレームの時間Ｆ内（フレームの時間の半分がフィールドの時間で、ビデオブランキングから次のビデオブランキングまでの間隔であるＶ期間の２回分に相当する）に処理が完了すればよく、これを示すのが図５８である。逆に図５９はビデオの復号処理がフレームの時間内に完了しない場合を示し、結果として復号処理中にコマ落ちが発生したり、途中までしか復号されていない映像が出画されたりといった不正な映像が出力されることになる。従って、不正な映像を出力しないようにデコード回路から正常にデコードを完了した映像を出力する制御を行う。
なお、この図５６ではいずれの映像を出力するかの制御はデコード回路１０１で判断を行い、いずれの映像を出力するかをシステム制御回路１０９０を経て合成回路１０００に通知しているが、デコード回路１０１から直接、合成回路１０００に通知してもよい。
【０００６】
復号したオーディオデータはオーディオデータバッファ１０４４からオーディオ・ビデオ出力回路１１００に出力され、オーディオD/A変換回路１１０１ａではアナログオーディオ出力ａに変換し、オーディオデータ信号変換回路１１０１１ａではデジタルオーディオ出力ｄａに変換して出力する。
また、システム制御回路１０９０では静止画やオンスクリーンディスプレイを生成し、フレームメモリ内の静止画用領域Ｓｔｉｌｌ０，Ｓｔｉｌｌ１（ｓ０，ｓ１）およびオンスクリーンディスプレイ用領域ＯＳＤ０，ＯＳＤ１（o０，o１）等に格納する。
【０００７】
合成回路１０００ではビデオデータバッファに格納したビデオデータと静止画用領域Ｓｔｉｌｌ０、Ｓｔｉｌｌ１（ｓ０、ｓ１）等に格納した静止画およびオンスクリーンディスプレイ用領域ＯＳＤ０、ＯＳＤ１（o０、o１）等に格納したオンスクリーンディスプレイ画面のそれぞれをシステム制御回路１０９０から指示される合成パラメータSPに基づいて合成し合成ビデオデータを出力する。
合成ビデオデータは合成回路１０００からオーディオ・ビデオ出力回路１１００に出力され、ビデオD/A変換回路１１０１ｖではアナログビデオ出力ｖに変換し、ビデオデータ信号変換回路１１０１１ｖではデジタルビデオ出力ｄｖに変換して出力する。
以上のように、図５６の復号装置はビットストリームから映像と音声とを復号する。
【０００８】
【発明が解決しようとする課題】
従来の技術による復号装置は、上記のように構成されており、１つのビットストリームからそれぞれ１つの映像と音声とを復号することを前提としている。従って、例えばＢＳ（Broadcasting Satellite）デジタル放送，ＣＳ（Communication Satellite）デジタル放送，１１０゜ＣＳデジタル放送（東経１１０゜に打ち上げられたＣＳによるデジタル放送）などの複数のビットストリームから映像・音声を同時に復号するには、復号しようとするビットストリームと同数分の復号装置を必要とした。
本発明は、かかる事情に鑑みてなされたものであり、１つの復号処理で見かけ上同時に複数の映像・音声を復号することが可能な復号装置，復号方法，復号プログラム，および復号プログラム記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために、本発明の復号装置は、複数の符号化データを入力し、復号して出力するデコード部と、前記デコード部の複数の状態を退避・復元するデコード状態保持部とを備え、前記デコード部は、復号すべき複数の符号化データの中の、復号対象となる符号化データを選択して復号するとともに、前記デコード状態保持部に対して、自らの状態の退避・復元を行い、復号した複数の復号結果をそれぞれに対応した出力先に出力するとともに、一連の処理を各々の符号化データに対応した所定の期間内に完了するようにしたものである。
【００１０】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、符号化単位の境界で符号化データの入力を、復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたものである。
【００１１】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、各々の符号化データに記された情報に基づいて、復号結果を出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたものである。
【００１２】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、その復号結果を格納するメモリと、いずれの符号化データを復号するかを指示するシステム制御部と、前記メモリに格納した復号結果を出力する出力制御部とを備え、前記システム制御部の指示に基づいて復号する符号化データを変更し、前記出力制御部は、前記変更に伴って前記フレームメモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたものである。
【００１３】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、その復号結果を格納するメモリと、前記メモリに格納した復号結果を出力する出力制御部とを備え、前記出力制御部は、各符号化データの復号結果を出力する際に、共通の時間指標に基づいて出力を制御するようにしたものである。
【００１４】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、その復号結果を格納するメモリと、前記メモリに格納した復号結果を出力する出力制御部とを備え、前記出力制御部は、各符号化データの復号結果の出力を制御する際に、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたものである。
【００１５】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたものである。
【００１６】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたものである。
【００１７】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたものである。
【００１８】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたものである。
【００１９】
また、本発明の復号装置は、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、前記デコード部は、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたものである。
【００２０】
また、本発明の復号方法は、符号化データを入力し、復号して出力する復号方法において、復号対象である符号化データの復号を中断する際に、復号を行うデコード部の状態を待避し、復号対象である符号化データを他の符号化データに切り換えて復号を行い、復号を中断した符号化データの復号の再開は、待避したデコード部の状態を復元した後に行うようにしたものである。
【００２１】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、符号化単位の境界で符号化データの入力を復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたものである。
【００２２】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたものである。
【００２３】
また、本発明の復号方法は、複数の符号化データ中の復号すべき符号化データを指示に基づいて変更し、前記復号すべき符号化データを復号し、復号結果をメモリに格納し、前記指示による復号すべき符号化データの変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたものである。
【００２４】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、共通の時間指標に基づいて出力を制御するようにしたものである。
【００２５】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記から復号結果を出力する際、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたものである。
【００２６】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたものである。
【００２７】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたものである。
【００２８】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたものである。
【００２９】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたものである。
【００３０】
また、本発明の復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたものである。
【００３１】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、符号化データを入力し、復号して出力する復号方法であって、復号対象である符号化データの復号を中断する際に、復号を行うデコード部の状態を待避し、復号対象である符号化データを他の符号化データに切り換えて復号を行い、復号を中断した符号化データの復号の再開は、待避したデコード部の状態を復元した後に行うようにしたものである。
【００３２】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、符号化単位の境界で符号化データの入力を復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたものである。
【００３３】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたものである。
【００３４】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データ中の復号すべき符号化データを指示に基づいて変更し、前記復号すべき符号化データを復号し、復号結果をメモリに格納し、前記指示による復号すべき符号化データの変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたものである。
【００３５】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、共通の時間指標に基づいて出力を制御するようにしたものである。
【００３６】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたものである。
【００３７】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたものである。
【００３８】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたものである。
【００３９】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたものである。
【００４０】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたものである。
【００４１】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたものである。
【００４２】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、符号化データを入力し、復号して出力する復号方法であって、復号対象である符号化データの復号を中断する際に、復号を行うデコード部の状態を待避し、復号対象である符号化データを他の符号化データに切り換えて復号を行い、復号を中断した符号化データの復号の再開は、待避したデコード回路の状態を復元した後に行うようにしたものである。
【００４３】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、符号化単位の境界で符号化データの入力を復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたものである。
【００４４】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたものである。
【００４５】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データ中の復号すべき符号化データを指示に基づいて変更し、前記復号すべき符号化データを復号し、復号結果をメモリに格納し、前記指示による復号すべき符号化データの変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたものである。
【００４６】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、共通の時間指標に基づいて出力を制御するようにしたものである。
【００４７】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたものである。
【００４８】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたものである。
【００４９】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたものである。
【００５０】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたものである。
【００５１】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたものである。
【００５２】
また、本発明の復号プログラム記録媒体は、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたものである。
【００５３】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態１による復号装置は、デコード状態保持回路によってデコード回路の状態を退避・保持し、デコード回路の処理するビットストリームの変更に応じて状態を復元することで、１つのデコード回路で見かけ上同時に複数のビットストリームをデコードできるようにしたものである。
図１は本実施の形態１による復号装置（請求項１に対応）の構成を示すブロック図である。図示するように、本実施の形態１による復号装置は、従来例に比べ主に以下の２つの部分が異なる。１点目は新たにデコード状態保持回路を備えた点であり、２点目は合成回路のかわりに出力制御回路を備えた点である。
【００５４】
図１において、１０８は複数のビットストリームを出力するビットストリーム出力回路、１０７はビットストリーム出力回路１０８からの複数のビットストリームをフレーム単位で蓄積できるフレームメモリ（メモリ）、１０３は複数のビットストリームのデコードを行う１つのデコード回路（デコード部）、１０２はデコード回路１０３のデコード状態を保持するデコード状態保持回路（デコード状態保持部）、１１０は複数の各ビットストリームのデコードされた出力であるビデオ出力ｖ１，ｖ２，…，オーディオ出力ａ１，ａ２，…、デジタルビデオ出力ｖ１１，ｖ１２，…，デジタルオーディオ出力ａ１１，ａ１２，…等を出力するオーディオ・ビデオ出力回路、１０６はオーディオ・ビデオ出力回路１１０に対する出力制御を行う出力制御回路（出力制御部）、１０９はこの復号装置を制御するシステム制御回路（システム制御部）、１１１はシステム制御回路１０９に対しユーザ情報を設定するユーザ情報設定回路である。なお、デコード回路１０３は専用ハードウエアで構成されるものでも、ＤＳＰ（Digital Signal Processor）等のコンピュータのソフトウエアで実現されるものでもよい。
【００５５】
この実施の形態１の復号装置の全体の動作は次のようになる。即ち、ＨＤＴＶ（High-Definition TV）１チャンネル分の帯域はＳＤＴＶ（Standard-Definition TV）複数チャンネル分の帯域に相当する。例えばＳＤＴＶ３チャンネル分の情報を含んだ放送電波ＢＲはビットストリーム出力回路１０８に入力され、その内部のフロントエンド（図示しない）で復調される。ビットストリーム出力回路１０８は、その復調結果としてＳＤＴＶのチャンネル１，２，３を取り出し、フレームメモリ１０７に出力する。フレームメモリ１０７に蓄積された、各チャンネルのＳＤＴＶ放送に対応するビットストリームは、システム制御回路１０９の制御により、例えばＳＤＴＶのチャンネル１がデコード回路１０３によりデコードされ、その１フレーム分等の所定のデータ量のデコードが完了した段階で、デコード回路１０３の状態がデコード状態保持回路１０２に待避され、次のＳＤＴＶのチャンネル２がデコード回路１０３によりデコードされ、同様に１フレーム分等の所定のデータ量のデコードが完了した段階で、デコード回路１０３の状態がデコード状態保持回路１０２に待避される…、という動作を巡回的に、例えばチャンネル１→チャンネル２→チャンネル３→チャンネル１→…などのように繰り返す。
【００５６】
デコード回路１０３は１フレーム分の動作が完了した段階で、その状態がデコード状態保持回路１０２に保持されているため、以上のような動作が一巡して元のチャンネルに戻った段階で、前のフレームのデコードが終了した時点の状態をデコード状態保持回路１０２から呼び戻すため、途中でデコードしているチャンネルが変わっても、元のチャンネルに戻った時点で次のフレームのデコードに支障なく移行できる。
オーディオ・ビデオ出力回路１１０は、出力制御回路１０６により出力された各チャンネル毎のデコード結果に基づき、ビデオ出力ｖ１，ｖ２，…デジタルビデオ出力ｖ１１，ｖ１２，…オーディオ出力ａ１，ａ２，…デジタルオーディオ出力ａ１１，ａ１２，…を外部に出力する。
そして、こうした動作をＳＤＴＶの各チャンネルに対するデコードを、ＳＤＴＶ１チャンネルのみデコードする場合に要求される速度の３倍以上の速度で行うことにより、１つの復号装置を時分割で動作させることができ、みかけ上３チャンネルの復調を同時に行うことができる。
【００５７】
次に本復号装置を入力部，デコード部，出力部の３つに分けて各部の動作をそれぞれ説明する。
［入力部］
ビットストリーム出力回路１０８は複数のデジタル放送を含んだ放送電波ＢＲを受信し、システム制御回路１０９より指示を受けた複数のチャネルのオーディオビットストリームとビデオビットストリームとをフレームメモリ１０７に格納する。ビットストリーム出力回路１０８の構成例を図２に示す。
図２に示すように、ビットストリーム出力回路１０８は、デジタル放送受信回路１０８１とデータ分離回路１０８２とで回路を構成している。ここでデジタル放送受信回路１０８１は複数のデジタル放送を含んだ放送電波ＢＲを受信して、図３に示すようにそれぞれの放送のビットストリームＢＳＴ０，ＢＳＴ１，ＢＳＴ２からなるビットストリームＢＳＴを出力する。この複数のデジタル放送を含んだ放送電波ＢＲは、１つのＨＤＴＶの帯域を分割して同一時間帯に複数のＳＤＴＶ番組が放送されるものでもよい。また、１つの放送局から番組ごとに異なる放送方式で放送されるものであってもよい。これは、例えば番組ＡはＨＤＴＶで放送され、番組Ａに続いて放送される番組ＢはＳＤＴＶで放送される場合などで、このような放送方式の混在は、番組の著作権者が放送方式の変換を許可しない場合などで生じる。また、これらビットストリームＢＳＴ０，ＢＳＴ１，ＢＳＴ２のいくつかは、Ｄ−ＶＨＳ（登録商標）ビデオデッキ等によりタイムシフトした放送内容であってもよい。
【００５８】
図３の例では、各放送ビットストリームＢＳＴはそれぞれ３つのデータから構成され、各データはパケットにより構成されている。データ分離回路１０８２は図４に示すように、複数のビットストリームＢＳＴから、システム制御回路１０９からの指示を受けたオーディオビットストリームＡＳＴ（オーディオビットストリームＡＳＴ０，ＡＳＴ１，ＡＳＴ２）とビデオビットストリームＶＳＴ（ビデオビットストリームＶＳＴ０，ＶＳＴ１，ＶＳＴ２）とを出力し、互いに連動するセレクタＳＬ２，ＳＬ１により選択したフレームメモリ１０７のそれぞれ対応するオーディオビットストリームバッファ１０７０ａ，１０７１ａ，１０７２ａとビデオストリームバッファ１０７０ｖ，１０７１ｖ，１０７２ｖとに格納する。これにより、図４のビットストリーム０の例では、放送０データ００に属するパケットが選択されてオーディオビットストリームＡＳＴ０となり、放送０データ０１に属するパケットが選択されてビデオビットストリームＶＳＴ０となる。
【００５９】
ビットストリーム出力回路の構成例としては図５、図６、図１０、図１１等がある。
図５はビットストリーム出力回路の構成例として、従来例と同様のデジタル放送受信回路１０８１０，１０８１１，１０８１２，…とデータ分離回路１０８２０，１０８２１，１０８２２，…とをそれぞれ直列接続した回路を、ビットストリームと同数分用意して互いに並列に配置し、これら複数の直列回路の出力をフレームメモリに出力するための複数のデータ分離バッファ１０８３０，１０８３１，１０８３２，…を設けたものである。これらのバッファはデータ分離回路に対応して同数設けられ、その出力がセレクタｓ１により切り替えられて１つのフレームメモリ１０７に出力される。
この図５のビットストリーム出力回路は、従来例と同様の回路により構成が可能であるので、構築が容易である。
【００６０】
図６はビットストリーム出力回路の他の構成例として、従来例と同様のデジタル放送受信回路１０８１０，１０８１１，１０８１２，…と、データ多重バッファ１０８４０，１０８４１，１０８４２，…とをそれぞれ直列接続した回路を、ビットストリームと同数分用意して互いに並列に配置し、各データ多重バッファから出力したビットストリームを１つのデータ多重回路１０８５０により多重化して図７に示すようなパケットがシリアルに配置された１つのビットストリームＭとした後、データ分離回路１０８２により対象となるオーディオビットストリームとビデオビットストリームを抽出する。
【００６１】
各デジタル放送受信回路とデータ多重回路との間にそれぞれデータ多重バッファを設けたのは、多重化して１つのビットストリームを生成するために、データ多重回路１０８５０において単純にパケットの多重化を行うのみでは各ビットストリームが使用している時間情報や各オーディオストリーム・ビデオストリームを示す指示情報にそれぞれ不整合が発生するが、こうした不整合が生じないように修正を行うためである。
【００６２】
例えば、時間情報に関しては１つのビットストリームを基準として、ある時点での基準のビットストリームと他のビットストリームの時間情報の差分を求め、基準以外のビットストリームの時間情報に対して、求めた差分の値だけ修正する。図８の例では、Ｄ０１はビットストリームＢＳＴ０とビットストリームＢＳＴ１との間の時間情報の差分、Ｄ０２はビットストリームＢＳＴ０とビットストリームＢＳＴ２との間の時間情報の差分である。この処理はビットストリームが示す時間指標だけでなく、デコードしたオーディオを出力する時間指標およびデコードした映像を出画する時間指標などビットストリーム中に含まれるすべての時間情報に対して行う必要がある。また、図９に示すように、各オーディオストリーム・ビデオストリームの指示情報については修正前の指示情報ｄｉ０と修正後の指示情報ｄｉ１とがお互いに重複しない値になるように変更する。
【００６３】
なお、図６のデジタル放送受信回路１０８１０〜１０８１２、データ多重バッファ１０８４０〜１０８４２、およびデータ多重回路１０８５０からなるデジタル放送受信回路については、その出力のビットストリームをデジタル放送送信回路に接続することで、デジタル放送受信回路１０８１０〜１０８１２により受信した放送をデジタルＣＡＴＶ等を用いて再送するのに利用することができる。
【００６４】
図１０のビットストリーム出力回路は図６のビットストリーム出力回路をベースとしているが、これと異なる点は、それぞれのデジタル放送受信回路１０８１０，１０８１１，１０８１２，…とデータ多重バッファ１０８４０，１０８４１，１０８４２，…との間に、従来例と同様のデータ分離回路１０８２０，１０８２１，１０８２２，…を挿入したことである。これにより不要なチャネルのデータを以降の回路に送ることがなくなり、このビットストリーム出力回路以降で多重化されたストリームに対して必要とされる帯域幅の条件が緩和される。
【００６５】
図１１のビットストリーム出力回路は、デジタル放送受信回路１０８１０，１０８１１，１０８１２，…を従来例と同様、複数のビットストリームと同数分、配置し、各デジタル放送受信回路１０８１０，１０８１１，１０８１２，…と１つのデータ分離回路１０８２との間に、ビットストリームを供給するためのデータ分離バッファ１０８３０，１０８３１，１０８３２，…をビットストリームと対応させて同数分設け、データ分離回路１０８２側にこれらデータ分離バッファ１０８３０，１０８３１，１０８３２，…からの複数のビットストリームを分離する機能を持たせたものである。
【００６６】
以上、ビットストリーム出力回路について、いずれもデジタル放送受信回路のみをビットストリームのソースとする構成を示したが、図１２に示すように、他のデジタル機器からのビットストリームを取り込むためのデジタルインターフェイス１０８６０，１０８６１，…や、デジタルデータを記憶しているデジタルデータ記憶回路１０８７０，…をソースとして用いてもよく、これらデジタルインターフェイスやデジタルデータ記憶回路の出力をセレクタＳＬ３，ＳＬ４，ＳＬ５により選択し、デジタル放送受信回路１０８１０，１０８１１，１０８１２，…の出力に代えてデータ分離バッファ１０８３０，１０８３１，１０８３２，…に取り込むことができる。
【００６７】
また、１つのＨＤＴＶ帯域を使用して３つのＳＤＴＶを放送する場合のように、同一放送のストリーム中に複数のビットストリームが含まれる放送を復号する場合は、図１３のようにビットストリーム出力回路１０８を１つのデジタル放送受信回路１０８１とデータ分離回路１０８２とで構成したものにより実現が可能である。ここではデータ分離回路１０８２の前段にデジタル放送受信回路を設けることで実現した例を示したが、例えばＤＶＤのような記録メディアからビットストリームを供給することも可能である。
【００６８】
［デコード部］
次に、フレームメモリ、デコード回路、デコード状態保持回路の内部構成の一例を図１４に示す。基本的にはフレームメモリ１０７は各々のビデオビットストリームバッファ１０７０ｖ，１０７１ｖ，１０７２ｖ，…をセレクタＳＬ１１で、オーディオビットストリームバッファ１０７０ａ，１０７１ａ，１０７２ａ，…をセレクタＳＬ２１で、それぞれ選択してビデオビットストリームＶＳＴ、オーディオビットストリームＡＳＴを読み出し、ビデオデータおよびオーディオデータをそれぞれビデオデコード回路１０３１およびオーディオデコード回路１０３２で復号し、その結果をセレクタＳＬ１１，ＳＬ２１とそれぞれ連動するセレクタＳＬ１２，ＳＬ２２により対応するビデオデータバッファ１０７１０ｖ，１０７１１ｖ，１０７１２ｖ，…オーディオデータバッファ１０７１０ａ，１０７１１ａ，１０７１２ａ，…、を選択して格納する。このときいずれのバッファをデコード対象とするかはシステム制御回路１０９の設定に基づいて決定し、どのタイミングで処理対象のバッファを切り替えるかは各デコード回路１０３１，１０３２にて決定し、その決定結果を示すビデオバッファ番号指示信号ＶＢＤおよびオーディオバッファ番号指示信号ＡＢＤをセレクタＳＬ１１，ＳＬ１２およびセレクタＳＬ２１，ＳＬ２２ｂに伝送する。
【００６９】
ここで、処理の切り替えについて図１６ないし図２４の例を用いて説明する。なお、説明の簡略化のためビデオの処理についてのみ説明するが、オーディオの処理に関しても同様の説明が成り立つ。図１５は図１４のビデオの復号に関する部分のみを記したものである。各ビデオビットストリームバッファ１０７０ｖ，１０７１ｖ，１０７２ｖからビデオデコード回路１０３１に供給するビデオビットストリームＶＳＴ０，ＶＳＴ１，ＶＳＴ２の概要を図１６に示す。図１６の例では、ビデオストリームＶＳＴ０はヘッダ０−０，ビデオストリーム０−０，ヘッダ０−１，ビデオストリーム０−１，ヘッダ０−２，ビデオストリーム０−２がこの順で配置される。これらのビデオビットストリームをビデオデコード回路１０３１で処理するが、各々のビデオストリームに記述された情報に基づいて出力すべき順序を求め、求めた順序に従ってデータを選択してデコードし（請求項３，１４，２５，３６に対応）、ＭＰＥＧ２におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオビットストリームをセレクタＳＬ１１で切り替える。これにより、所定のタイミング以外のタイミングで切り替えを行った場合の複雑なデコード処理が不要となり、処理性能が低い場合であっても１つのデコード回路により複数の符号化データを同時に復号できる。
【００７０】
この処理の例を図１７に示す。ここではビデオビットストリーム０，１，２の順でデコード処理を巡回して行うものとしている。まず、ビデオビットストリーム０のデコード処理を行い、フレームやスライスの区切り等の処理を中断すべき箇所ｄｐｘｇまでのデコードが終了すれば、ビデオビットストリーム０の途中でデコード処理を中断し、次に処理対象を切り替えてビデオビットストリーム1のデコードを行う。デコード結果はセレクタＳＬ２１を切り替えて、ビデオデータバッファ１０７１０ｖ，１０７１１ｖにそれぞれ出力する。この切り替えに先だってビデオビットストリーム０の以降の処理に用いる情報を保存し、再度ビデオビットストリーム０を中断した位置からデコード処理を再開する際にこの待避した情報を読み込む必要がある。
【００７１】
このときの情報を保存するための回路がビデオデコード状態保持回路１０２０ｖ，１０２１ｖ，１０２２ｖである。保存する情報の例としては、ヘッダ情報やビデオストリームをデコード中の状態、即ち、回路内の状態遷移やメモリ内容などがある。今ここで、デコード対象のビデオビットストリームがＭＰＥＧ２に準拠したものであるとすると、回路の状態遷移等を除いて保存しなければならない情報の例としては、ＭＰＥＧ２フォーマットのシンタックス上に現れる情報（Qmatrix情報や映像がプログレッシブであるか否かの情報、どの順序でＤＣＴ係数が符号化されているかを示す情報等）やシンタックス上に現れない情報（ＤＣＴのＤＣ成分の予測符号化のために保持した情報や動きベクトルの予測符号化のために保持した情報、フレーム間予測に用いる参照フレームがいずれであるかを示す情報等）がある。
【００７２】
そして、例えば図１７に示すデコード中断時点ｄｒ０，デコード再開時点ｄｒ１では、ビデオビットストリーム０のデコード状態をビデオデコード状態保持回路１０２０ｖに保存した後、セレクタＳＬ３０を切り替えビデオデコード状態保持回路１０２１ｖから先のビデオビットストリーム１のデコード状態を復元して処理をビデオビットストリーム１に移行する。以上の処理を繰り返して複数のビデオビットストリームを処理単位時間内にデコードすることで、１つのデコード回路で複数のビデオビットストリームの同時デコードを行うことが可能になる。
【００７３】
図１８はこれら一連の処理を示すフローチャートである（請求項１２，２３，３４に対応）。まず、フレームメモリ１０７よりビットストリームデータを読み込む（ステップＳ１０１参照）。次に、このビットストリームデータをデコード回路１０３によりデコードし（ステップＳ１０２参照）、ビデオストリームの途中のスライスの終端等、デコードを中断すべき位置に到達するまで、処理を続ける（ステップＳ１０３参照）。このデコードを中断すべき位置に到達すると、デコード状態保持回路１０２に状態を保持し（ステップＳ１０４参照）、デコードすべきビットストリームを切り換える（ステップＳ１０５参照）。この時、デコード対象であるビットストリームの各符号化単位の全てのデコードが完了しているか否かを判定し、完了していなければ（ステップＳ１０６参照）、切り換えが一巡以上しているか否かを判定する（ステップＳ１０７参照）。一巡以上していれば、デコード状態保持回路１０２に保持しているデコードの状態をデコード回路１０３に戻し（ステップＳ１０８参照）、フレームメモリ１０７のアドレスをデコード処理を中断した位置に戻し（ステップＳ１０９参照）、ステップＳ１０１に戻る。これに対し、切り換えが一巡以上に達していなければ、ステップＳ１０８，Ｓ１０９をスキップしてステップＳ１０１に戻る。
【００７４】
また、処理の切り替えをビデオストリームの途中では行わず、図２０のように次のビデオストリームのヘッダとの境界部分でデコードの中断（切り替え）を行えば（請求項２，１３，２４，３５に対応）、この切り替え箇所ｄｐｘｇではビデオストリーム自体については１つの処理単位が完了しているため、ビデオデコード状態保持回路にて保存すべき情報量を削減することができる。図２０ではビデオストリーム終了後の時点ｄｒ０と次のヘッダの開始前の時点ｄｒ１との間でデコード処理を切り替えているが、ビデオストリームと次のヘッダを連続して処理し、次のヘッダと次のビデオストリームの間で処理を切り替えてもよい。この場合、次のビデオストリームのヘッダ情報が予め得られるので、次のビデオストリームのデコード開始前にデコードのための前処理を行うことが可能になる。
【００７５】
また、上記では回路実装的な観点から説明したが、例えば図１９に示すようなＤＳＰ等によるソフトウェア実装を行った場合、ビデオデコード状態保持回路はＤＳＰ２００内部のメモリ２０２で実現可能であり、その場合、状態の退避・復帰処理はポインタ（図示せず）が指示するメモリのアドレスを変更することで実現可能となる。但し、ＤＳＰ内部にデコードのためのハードウェアアクセラレータを搭載している場合、その構成によってはハードウェアアクセラレータ部分の状態退避・復帰処理が別途必要になる。
【００７６】
なお、図１９において、２０１はプログラムメモリ、２０３はＤＭＡ，外部メモリインターフェースユニット、２０４はタイマ，シリアルポート、２０５１は制御レジスタ、２０５２は制御ロジック、２０５３は割り込み回路、２０５４はプログラムフェッチ、２０５５は命令ディスパッチ、２０５６は命令デコード、２０５７はレジスタファイルＡ、２０５８はレジスタファイルＢ、２０５９は命令実行ユニットＡ、２０６０は命令実行ユニットＢである。
【００７７】
また更に、ビデオデコード状態保持回路をＤＳＰ内部のメモリのみで実現するのではなく、一部あるいはすべてをフレームメモリ内に確保した領域で実現することも可能である。但し、処理時間的にフレームメモリへのアクセスはＤＳＰ内部のメモリへのアクセスに比べ多くの時間を必要とするので、処理時間が増大しても支障をきたさないのであれば、ＤＳＰ内部に確保するデコード状態保持用のメモリ容量を削減することが可能である。
【００７８】
また更に、ソフトウェア実装の場合、オーディオデコード処理についてもビデオデコード処理と同様に、オーディオの符号化単位の処理時間内に対象となる複数のチャネルのデコードを完了することで、デコード回路はビデオデコード回路とオーディオデコード回路とに分離することなく１つの回路で実装し、オーディオ・ビデオを複数同時に復号可能となる。但し、符号化単位の違いからオーディオとビデオのデコード処理の管理（オーディオの処理対象チャネル切り替えとビデオの処理対象チャネル切り替えに関する管理）は分離して行い、オーディオ・ビデオ間の処理の切り替えは例えばビデオデコード処理中でハードウェアアクセラレータの処理完了待ちの間にオーディオデコード処理を行うなどビデオデコード処理の待機中の期間に行わせる、などにより実現する。
【００７９】
［出力部］
次にデコード結果の出力にかかわるフレームメモリ、出力制御回路、システム制御回路の構成例を図２１に示す。前述のオーディオデコード回路およびビデオデコード回路によりデコードした結果がそれぞれオーディオデータバッファ１０７１０ａ，１０７１１ａ，１０７１２ａ，・・・、ビデオデータバッファ１０７１０ｖ，１０７１１ｖ，１０７１２ｖ，・・・に格納されており、これらを如何に出力するかを制御する。
【００８０】
オーディオ出力生成回路１０６１はシステム制御回路１０９の指示に基づいてオーディオデータバッファ１０７１０ａ，１０７１１ａ，１０７１２ａ，・・・の出力を制御し、オーディオＤ／Ａ変換回路１１０１ａ，１１０２ａ，１１０３ａ，・・・からオーディオ出力ａ１，ａ２，ａ３，・・・を、オーディオデータ信号変換回路１１０１１ａ，１１０１２ａ，１１０１３ａ，・・・からデジタルオーディオ出力ａ１１，ａ１２，ａ１３，・・・をそれぞれ出力する。
【００８１】
このとき図２１ではシステム制御回路１０９の指示に基づいてオーディオＤ／Ａ変換回路１１０１ａ，１１０２ａ，１１０３ａ，・・・、オーディオデータ信号変換回路１１０１１ａ，１１０１２ａ，１１０１３ａ，・・・、が動作しているが、これに代えてオーディオ出力生成回路１０６１からの指示で動作してもよい。
【００８２】
図２２はこれら一連の処理を示す。オーディオ出力生成回路１０６１は、システム制御回路１０９からの指示がオーディオデータバッファ（１０７０ａないし１０７２ａのいずれか）に対するものであれば（ステップＳ２０１参照）、オーディオデータバッファ（１０７０ａないし１０７２ａのいずれか）からオーディオデータを取得し（ステップＳ２０２参照）、そうでなければシステム制御回路１０９またはデコード回路１０３により、例えば無音用のデータ等の所定のオーディオデータを生成する（ステップＳ２０３参照）。これを全てのチャネルについて繰り返し（ステップＳ２０４参照）、取得したオーディオデータまたは生成した所定のオーディオデータに基づきデジタル信号処理を行ってオーディオ出力を生成し、オーディオＤ／Ａ変換回路１１０１ａないし１１０３ａおよびオーディオ信号変換回路１１０１１ａないし１１０１３ａよりそれぞれオーディオ出力およびデジタルオーディオ出力を得る（ステップＳ２０５参照）。
【００８３】
ビデオ出力制御回路１０６２は、システム制御回路１０９の指示に基づいてビデオデータバッファ１０７１０ｖ，１０７１１ｖ，１０７１２ｖ，・・・およびオンスクリーンディスプレイ用領域OSD0  ｏ０，OSD 1  ｏ１，・・・、静止画用領域still0  ｓ０，still1  ｓ１，・・・から出力映像を生成し、出画バッファ１０７７に出力する。出画バッファ１０７７に格納した映像をビデオ出力生成回路１０６３はシステム制御回路１０９に基づいてビデオＤ／Ａ変換回路１１０１ｖ，１１０２ｖ，１１０３ｖ，…およびビデオデータ信号変換回路１１０１１ｖ，１１０１２ｖ，１１０１３ｖ，…に出力し、ビデオＤ／Ａ変換回路１１０１ｖ，１１０２ｖ，１１０３ｖ，…およびビデオデータ信号変換回路１１０１１ｖ，１１０１２ｖ，１１０１３ｖ，…からはそれぞれビデオ出力ｖ１，ｖ２，ｖ３，…、デジタルビデオ出力ｖ１１，ｖ１２，ｖ１３，…、を出力する。
【００８４】
図２３はこれら一連の処理を示す。
ビデオ制御回路１０６２は、システム制御回路１０９からの指示がビデオデータバッファ（１０７０ｖないし１０７２ｖのいずれか）に対するものであれば（ステップＳ３０１参照）、ビデオデータバッファ（１０７０ｖないし１０７２ｖのいずれか）からビデオデータを取得し（ステップＳ３０２参照）、そうでなければシステム制御回路１０９またはデコード回路１０３により例えばブルースクリーン用等の、所定のビデオデータを生成する（ステップＳ３０３参照）。これを全てのチャネルについて繰り返す（ステップＳ３０４参照）。
【００８５】
また、出力制御回路１０６２は、システム制御回路１０９からの指示がＯＳＤに対するものであれば（ステップＳ３０５参照）、ＯＳＤ領域（ｏ０，ｏ１のいずれか）からビデオデータを取得し（ステップＳ３０６参照）、そうでなければシステム制御回路１０９またはデコード回路１０３により所定のビデオデータを生成する（ステップＳ３０７参照）。これを全てのチャネルについて繰り返す（ステップＳ３０８参照）。
【００８６】
さらに、出力制御回路１０６２は、システム制御回路１０９からの指示がｓｔｉｌｌに対するものであれば（ステップＳ３０９参照）、ｓｔｉｌｌ領域（ｓ０，ｓ１のいずれか）からビデオデータを取得し（ステップＳ３１０参照）、そうでなければシステム制御回路１０９またはデコード回路１０３により所定のビデオデータを生成する（ステップＳ３１１参照）。これを全てのチャネルについて繰り返す（ステップＳ３１２参照）。
【００８７】
そして、このようにして得たビデオデータを一旦出画バッファ１０７７に蓄積した後、デジタル信号処理を行ってビデオ出力を生成し、ビデオＤ／Ａ変換回路１１０１ｖないし１１０３ｖおよびビデオ信号変換回路１１０１１ｖないし１１０１３ｖよりそれぞれビデオ出力およびデジタルビデオ出力を得る（ステップＳ３１３参照）。
【００８８】
図２１の説明では複数のオーディオビットストリーム、ビデオビットストリームをデコードした結果をそれぞれ独立して出力しているが、要求に応じて構成を変更することが可能である。
図２１の場合は、１台のデジタルチューナを複数の出力デバイス（テレビ等）で共用し、出力デバイスごとに異なる映像・音声を視聴する場合に有効であるが、例えば、１台の出力デバイスに複数の異なる映像を合成して１つの映像として出力する場合などは、出力制御回路にて映像の合成や重ね合わせの処理を行いまた出力する音声の合成や選択等を行って、出力を１系統にすることでオーディオ・ビデオ出力回路の簡略化が可能である。
【００８９】
また、デコードした映像・音声を選択して１台の出力デバイスに出力している場合、同時にデコードしている映像・音声間であれば高速に出力を切り替えることが可能となる。これは通常、出力を切り替える場合には、実際に出力が得られるまでにデコード処理（ビットストリームの選択、バッファへの蓄積、デコード等）の時間を要するためである。
ここまでの説明では複数の映像・音声をデコードする場合について述べたが、映像のみのデコード、音声のみのデコードであっても、また映像と音声のデコードする数が異なってもよい。
【００９０】
以上、本装置で同時に複数の映像・音声をデコードする場合の動作について説明したが、１つの映像と音声をデコードする場合は図２４、図２５、図２６のようになる。
このとき、複数の映像・音声をデコードする場合と異なるのはフレームメモリ内に確保する各バッファ（オーディオビットストリームバッファH、ビデオビットストリームバッファH、オーディオデータバッファH、ビデオデータバッファH）に関してである。このように、複数の映像・音声をデコードする場合と１つの映像・音声をデコードする場合でバッファの確保の仕方が異なるのは１つの映像・音声で必要とするバッファ容量が大きい場合に対応するためである。例えば複数の映像を復号する場合に扱える映像の最大サイズはNTSC程度の映像までで、１つの映像を復号する場合に扱える映像の最大サイズはハイビジョン程度の映像まで、といったことが考えられる。
【００９１】
このことから、複数の映像を復号する処理と、より大きなサイズの１つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更となる。このときの配置変更により出画に関するバッファへの影響が考えられるので、乱れた出画を抑制するために、配置変更後正常な出力が可能になるまで背景色を出力する、あるいは配置変更の影響を受けない出画用バッファを設け、出画用バッファの内容を出画することで不正な出力を抑制する等が考えられる（請求項４，１５，２６，３７に対応）。
【００９２】
これは、複数の符号化データを入力した場合、即ち、複数の符号化データが入力される状況から単一の符号化データが入力される状況に推移した場合あるいは単一の符号化データが入力される状況から複数の符号化データが入力される状況に推移した場合について述べているが、メモリ内のデコード結果の配置が変更になる場合であれば、符号化データが単一の場合であっても、同様の処理を適用することが可能である。
【００９３】
例えば、入力の符号化データの内容がＨＤＴＶからＳＤＴＶを符号化したものに推移する場合やその逆の場合など、符号化映像のサイズに変更が伴う場合が挙げられる。
このとき、ＨＤＴＶ用のメモリ内の配置をそのままＳＤＴＶの復号に利用することも可能であるが、ＳＤＴＶ用の配置を別途設けることで、機能を向上することが可能となる。
具体的には、メモリ内の配置を変更することによりメモリの効率的な利用が可能となり、ＳＤＴＶ復号時にはＨＤＴＶの復号時に比べ多くの空き領域を、例えば追加のＯＳＤ（On Screen Display）や静止画の処理等、別の処理のために使用することができる。
【００９４】
例えば、図２７（ａ）に示すように、ＨＤＴＶ放送用の領域１０７ａの一部にＮＴＳＣ用領域１０７ｂを設ける場合は、ＯＳＤ（On Screen Display）用領域として１つの領域１０７ｃのみしか持つことができないが、図２７（ｂ）に示すように、ＨＤＴＶ放送用領域を設けることなくＮＴＳＣ用領域１０７ｄのみを配置すれば、ＯＳＤ用領域として２つの領域１０７ｅ，１０７ｆを持つことができ、機能を向上することができる。
【００９５】
このような、メモリ内の配置の変更は、例えば、
i) 図１のビットストリーム出力回路１０８が、ビットストリームを解析し、その解析結果をシステム制御部１０９に通知してフレームメモリ１０７における記憶領域を切り替える。
ii) 図１のシステム制御部１０９がビットストリームを解析して、ビットストリームの種類を判断し、フレームメモリ１０７における記憶領域を切り替える。
iii) システム制御部１０９が、ビットストリームとは別に存在する、放送規格に定められた信号情報、すなわち、現在の放送がＨＤＴＶかＳＤＴＶであるか等を示す情報、に基づいて全体の動作を切り替える。
iv) システム制御部１０９がデコード回路１０３の復号結果、特にヘッダ情報に基づいて切り替える。
のいずれかにより実現できる。
【００９６】
このように、符号化データの特性に応じてメモリ内の配置を変更することが考えられるが、配置が変更になる場合には、出画の乱れを抑制するために、例えばブルースクリーンを出力する等の処理を行う。このブルースクリーンの出力は、例えば、出力制御回路１０６内で青を示す所定の値の信号を生成してもよいし、システム制御回路１０９によりフレームメモリ１０７の１画面の領域全面に青色を示す信号を書き込むことで実現できる。
なお、ここで、ＳＤＴＶ用の配置は、上述のようにＳＤＴＶ専用線の領域を別途設けた配置、あるいは、複数の符号化データを復号する場合に設ける複数の領域の配置のうちの１つを使用する配置、のいずれであってもよい。
以上が本装置の基本的な動作である。以降、本装置の動作上で特に注目すべき点（出画制御・デコード順制御・デコード期間管理・デコード再開処理・デコード処理最適化）を述べる。
【００９７】
［出画制御］
まず、出力制御回路において行う出画映像決定に関して図２８ないし図３８の例を用いて説明する。図２８は１つの映像に対して出画する映像を決定ｄし、その映像ｏｐを出画する場合の処理について時間軸に対応して記したものであり、図３４は３つの映像を復号して出画する場合を示している。いずれも各ビデオブランキングｂｌｇの終了と開始の間で出画を行い、その出画に用いる映像をその出画開始までに決定する。この出画映像の決定は、本来出画すべき映像が正常に復号されているか、また復号した映像が出画するタイミングにあるか（後述）等に基づいて行う。図３５は出画タイミングに基づいて出画する映像を決定する場合について１つの映像の例と３つの映像の例を示している。以下ではまず１つの映像の例について説明し、その後３つの映像の例について説明する。
【００９８】
映像が１つの場合には、図２９に示すように、ビットストリーム中に記述された値を基に回路内で生成した時間指標を読み込み（ステップＳ４０１，Ｓ４０２参照）、その値から次の出画タイミングの時間指標を算出する（ステップＳ４０３参照）。この値と出画順にある映像に対応したビットストリーム中に記述があった出画の時間指標とを比較し（ステップＳ４０４参照）、出画すべき範囲内であれば（ステップＳ４０５参照）出画順にある映像を選択する（ステップＳ４０６参照）。出画順にある映像が出画に適していない場合には以下のスキップ処理あるいはフリーズ処理のうちのいずれかを行う（ステップＳ４０７参照）。
【００９９】
１．スキップ処理
図３０に示すように、出画順にある映像の出画の時間指標が出画タイミングの時間指標と比較して、出画すべき範囲内でなく、小さい場合は（ステップＳ５０１参照）、この映像は出画せずに出画順でより以降の映像の出画を試みる処理を行う（ステップＳ５０２参照）。もし既に出画に適した映像がデコード済みであれば（ステップＳ５０３参照）その映像を出画し（ステップＳ５０４参照）、デコード済みの映像の中に出画に適した映像がない場合には、出画に適した映像をデコードするまでデコードを可能なだけ先行する処理を行う（ステップＳ５０５参照）。ただし、デコードが出画に間に合わない場合にはデコード済みの映像のうちいずれかを選択して出画するかあるいはデコードした映像を使用せず背景色を出力し、以降のデコード処理に関しては引き続き出画に適した映像をデコードするまで処理を可能なだけ先行する。このとき処理を先行させるために必要でない映像はデコードせずに読み飛ばしてもよい。
【０１００】
２．フリーズ処理
図３１に示すように、出画順にある映像の出画の時間指標が出画タイミングの時間指標と比較して、出画すべき範囲内でなく、大きい場合は（ステップＳ６０１参照）、出画に適したデコード済みの映像の有無を判定し（ステップＳ６０２参照）、出画に適したデコード済みの映像があればその映像を選択するか（ステップＳ６０３参照）、無ければデコード済みの映像のうち最も出画の時間指標が近い映像を選択し、適切な時間指標になるまで同映像の選択を続ける（ステップＳ６０４参照）。このときデコード処理も中断するかあるいは可能なだけデコードを先行した後デコード処理を中断する。ここで、デコードが先行可能な範囲はまだ出画していないデコード済みの映像を格納しているバッファと今後のデコード処理で参照の可能性がある映像を格納しているバッファを除いたビデオデータバッファに対してデコードした映像を格納可能な範囲である。
【０１０１】
以上の時間指標の比較に関しては、各映像の出画の時間指標が信頼できる場合についてである。各映像の出画の時間指標に誤りが発生する可能性がある場合には、別途誤りに対する耐性を設ける必要がある。例えば、連続する出画の時間指標は基本的に大きく外れた値はとらないので、例えば、半日程度の大きく外れた値は、図３２に示すように信用せず（ステップＳ７０１参照）、既に取得している値から予測する（ステップＳ７０３参照）、あるいは大きく外れた値が連続しかつそれらの相互の値が大きく外れていない場合には（ステップＳ７０２参照）、出画の時間指標の基準が変更されたと見なして、これらの時間指標を信頼できる値として採用する（ステップＳ７０４参照）。なお、時間情報の誤りは、例えば、出画対象となるか否かを判定した映像の時間情報と、現在出画しようとする映像の時間情報との差分を求め、差分が１時間等の一定値以上である場合には誤りであると判定する。
【０１０２】
また、時間指標の読み込みについては図３６に示したように特定のタイミングＴで行うことが望ましい。これは読み込みのタイミングが一定でない場合、時間指標を読み込むタイミングと次の出画タイミングまでの時間を把握しなければならず、次の出画タイミングの時間指標を算出する手順が複雑になる、あるいは算出した時間指標が適切でないことが考えられるためである。従って、時間指標の読み込みは例えばビデオブランキングの開始あるいは終了時点等の出画タイミングと一定の時間差にある部分で行うことにより適切な処理を行うことが可能である。またソフトウェアにより実装する場合、出画タイミングと一定の時間差にある部分で割り込みを発生させるなどして時間指標の読み込みルーチンを呼び出せばよい。
【０１０３】
次に映像が３つの場合について説明する。映像が３つの場合でも、各映像について映像が１つの場合とほぼ同様の処理を行えばよい。但し、時間指標の読み込みについては注意が必要となる。図３５は時間指標の読み込みについても、映像が１つの場合の映像ｐと３つの映像ｐ１，ｐ２，ｐ３とで同様に行う処理を示している。この場合各々の映像の出画決定処理で時間指標が読み込まれるため、各映像で出画タイミングが異なることとなる。ところが図３５に示すように、３つの映像を１つの出画デバイスに出力する場合、実際の出画タイミングは各映像で共通となるため、各映像の出画映像決定処理で求めた出画タイミングは不適切なものとなる。従って、映像が３つの場合には、時間指標の読み込みについては各映像の出画映像決定処理で行うのではなく、図３６、図３７に示すように映像が１つの場合と同様に特定の時間Ｔに読み込み（図３３のステップＳ８０１参照）（請求項５，１６，２７，３８に対応）、各映像の出画映像決定処理ｄ０，ｄ１，ｄ２では予めメモリに読み込んだ時間指標を採用することにより（図３３のステップＳ８０２参照）（請求項６，１７，２８，３９に対応）出力の制御を、適切な処理で行うことが可能である。このことは特に、同時に複数のアングルから撮影して生成した符号化データを復号して１つの映像に合成して出画する場合に有効である。
【０１０４】
［デコード順制御］
次に、図３８ないし図４３を用いて３つの映像をデコードする場合の処理時間に関して説明する。
図３８は３つの480iの映像をデコードした場合の処理時間を示す例である。各映像はフレーム単位で符号化されているとする。従来例と同様に各映像のデコード処理がフレームの時間内に完了すればよく、図３８は正常にデコードが行われている状況をあらわす。
【０１０５】
図３９、図４０は３つの映像のうち２つが480iの映像で、１つが480p、即ち、走査線４８０本のプログレッシブの映像、をデコードした場合を表わしている。いずれの映像もフレームを単位として符号化されているとすると、フレームの期間内にデコードを完了すればよい。但し、480iではフレームの期間は２Ｖの期間に相当し、480pでは１Ｖ期間に相当する。従って、480pの映像は480iの半分の時間内にデコードを完了しなければならない。図３９は正常にデコードが行われている場合を表しているが、図４０の状況では480pの映像のデコードを行っているチャネル２の復号処理がフレームの期間内に完了していない。このことから、複数の符号化されたデータを復号する場合、デコード処理を早期に完了する必要があるものがあるか否かを判定し（図４１のステップＳ９０１参照）、早期に完了する必要があるものを優先的に処理することにより（図４１のステップＳ９０２，Ｓ９０３参照）、必要とする処理能力を削減可能であるといえる。なお、デコード順序を早期に完了する必要があるか否かの判定には、出画順やフレームの期間がどれくらいであるかを示す情報、およびデコードを行う時間指標などから行う。また、デコード処理を早期に完了する必要がない場合、デコード処理は通常の所定の順序、即ち、復号処理の種類を単位として行う（図４１のステップＳ９０４参照）。これにより、複数の符号化データを１つのデコード回路で復号することがより少ない資源で可能となる。
【０１０６】
また、ここではデコードの順序を、映像が早期にデコードする必要があるか否かに基づいて決定する方法について述べたが、ユーザ情報設定回路からシステム制御回路に映像の優先順を設定し、この優先順に基づいて決定してもよい。これにより視聴者によりいずれの符号化データを優先して復号するかが選択可能になる。また放送の運用規定で放送時のチャネルによる優先順位づけ（ハイビジョンの放送と複数のＮＴＳＣの放送が連続的に放送された場合に、複数のＮＴＳＣチャネルのうちデフォルトで選択して復号を継続するものを優先順の先頭とする）に基づいてシステム制御回路に映像の優先順を設定することも可能である。また更に、ビットストリーム中にチャネルの優先順が記載されている場合についても、ビットストリーム出力回路により優先順を抽出し、システム制御回路により映像の優先順を設定することで優先順に基づいた複数の映像の復号が可能である。
【０１０７】
［デコード期間管理］
図４２は３つの480iの映像をデコードし、うち１つのデコードが正常でない場合をあらわしている。１つの映像のデコードがフレームの期間内に完了しなかった場合、他の映像のデコードにも影響が波及することがある。例えばデコード順で３つの映像のうち、チャネル０の復号処理ｄｐ０のように最初の映像で処理が所定の期間内に完了しなかった場合、チャネル１，２の復号処理ｄｐ１，ｄｐ２のように残りの２つの映像が仮に通常にデコードできる状態にあったとしても、結果として所定の期間内にデコードを完了することができず、すべての映像がデコードできなかったことになる。これを改善するものが図４３である。１つの映像のデコード処理に通常よりも多くの時間を要する場合を記している。
【０１０８】
図４４はこの場合の一連の処理を示す。デコード処理（ステップＳ１００１参照）が所定の期間内に終了しない場合（ステップＳ１００２参照）、強制終了処理ｆｃによりデコードを強制終了し（ステップＳ１００３参照）、デコード順で最後のチャネルの処理を完了していれば（ステップＳ１００４参照）、デコード回路の状態を退避し（ステップＳ１００６参照）他のチャネルに処理を移す（ステップＳ１００４参照）（請求項７，１８，２９，４０に対応）。一方、デコード順で最後のチャネルの処理を完了していなければ（ステップＳ１００４参照）、デコード回路の状態を退避・復元し（ステップＳ１００５参照）、当初のデコード処理（ステップＳ１００１）に戻る。
【０１０９】
この処理では、他の映像のデコードに影響を与えないために、デコードする各映像に対してそれぞれデコードに許容する最大の時間を設定し、この時間内にデコードが完了しない場合には強制的にデコード処理を終了することで他の映像のデコードへの影響を抑制する。この処理は、例えば、タイマなどを利用することにより実現が可能である。これにより、１つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となり、正常な映像のデコードは他の映像のデコードによる影響を受けることなくデコードが可能となる。
【０１１０】
［デコード再開処理］
一方、強制的にデコード処理を終了した映像に関してはデコードの復帰処理を行う。
図４５に示すように、デコード中の映像に関して完全にデコード回路の状態を退避・復元可能であれば（ステップＳ１１０１参照）、デコード処理の強制終了を含む各チャネルのデコード処理後に、強制終了を行ったチャネルのデコードを再度試みるために、対象となるチャネルのデコード順序を決定し（ステップＳ１１０２参照）デコードを行うチャネルのデコード回路の状態を復元し（ステップＳ１１０３参照）、デコード処理を行う（ステップＳ１１０４参照）。その際、許容される最大限の時間（例えばフレーム期間の最大）までデコード処理に費やすことができ（ステップＳ１１０５参照）、正常な復号化が行えなかった符号化データに関しても復号化を再開することが可能になる。これに対し許容される最大限の時間に到達せずデコード処理を完了した場合には、デコード回路の状態を退避してデコード対象のチャネルを切り替える（ステップＳ１１０６参照）。これらステップＳ１１０３ないしＳ１１０６の処理を繰り返すことにより、全てのチャネルについてデコードを行うことができる（ステップＳ１１０７参照）。またデコードの再開処理を行う際に、複数の映像で強制的なデコード処理の終了を実施していた場合、デコードの再開処理を行うチャネルの順番の決定はもとのデコード順を優先するあるいはバッファ残量等の他の要因を考慮してデコード可能性を判断して決定した優先順位に基づくなどにより行う。但し、強制的なデコード処理の終了を行った場合は、次に示すデコード処理の再開位置の変更と同じ処理を行う。
【０１１１】
これに対し、デコード中の映像に関しての状態の退避・復元をサポートしていない場合（ステップＳ１１０１参照）、あるいは再度デコードを行ってもデコード処理が正常に終了しなかった場合、デコード対象の映像は破棄することになる。またこの場合、デコードの再開処理が必要になる（ステップＳ１１０８参照）。破棄した映像が後の映像を復号する際に参照されるか否かによって、デコード処理を再開する位置を変更する（請求項８，１９，３０，４１に対応）。これは復号化で参照する映像が存在しない場合、適切な復号化ができないために乱れた映像を出画する可能性があるためである。まず破棄した映像が後のデコードで参照される可能性がない場合、デコード処理の再開は直後の映像から可能である。他方破棄した映像が後のデコードで参照される可能性がある場合、画面内符号化の映像の位置あるいは映像シーケンスの先頭をあらわす位置からデコード処理を再開する。ここでは破棄した映像の種類に基づいてデコードの再開する位置を変更する方法について述べたが、要望に応じて変更することが望ましい。例えば画面内符号化の映像や映像シーケンスの先頭が頻繁に挿入されている場合には、デコード処理の再開が直後の映像から可能でありながら、画面内符号化の映像や映像シーケンスの先頭の位置からデコードを再開しても、視聴者にとってこの時間差は大した問題では無いと考えられる。このような場合には処理を簡略化し、破棄した映像の種類によらず、デコード処理の再開は常に画面内符号化の映像の位置や映像シーケンスの先頭の位置とすることができる。
【０１１２】
次にデコードを開始・再開する場合のデコード開始位置の検索について説明する。図４６が典型的なデコード開始の例である。まず、図４７に示すように、デコードを開始する映像を決定して、その映像に対応したヘッダ情報をヘッダサーチｈｓ処理により検索する（ステップＳ１２０１参照）。対象となる映像のヘッダ情報を発見した段階でデコードを開始する（ステップＳ１２０２参照）。これが基本的な考え方であるが、図４８を用いてもう少し具体的な例で説明を行う。デコード開始の対象となるヘッダの種類としてはレベル０，１，２が存在するとし、現状ではデコーダが読み込む位置ｃｓｐはヘッダ０で、ビデオビットストリームバッファにはビデオストリーム１の途中までが格納されているとする。このとき、図４８に示すように、デコードを開始する対象をレベル０のヘッダとすると、レベル０のヘッダとして最初に出現するヘッダ３の先頭ｄｓｐからデコードを開始することになる。このときの動作は図４９に示す通り、まず、次のヘッダを検出し（ステップＳ１３０１参照）、このヘッダが検出単位に対するヘッダか否かを判断する（ステップＳ１３０２参照）。この判断が否であればステップＳ１３０１に戻る。一方、検出単位に対するヘッダであればデコード対象となるヘッダか否かを判断する（ステップＳ１３０３参照）。検出単位に対するヘッダであればデコード処理を行う（ステップＳ１３０４参照）が、否であれば連続的に検出処理を実施するか否かを判断する（ステップＳ１３０５参照）。ここで、連続的に検出処理を行うのであれば、ステップＳ１３０１に戻る。
【０１１３】
ところで、図４８に示すように、ビデオストリームバッファに格納されている末尾の位置ｌｐがビデオストリーム１の途中であるとすると、ヘッダ３が見つかるまで検索を続けた場合、まだビデオビットストリームバッファに格納されていないデータに対しても連続的に検索処理を行うことになる。具体的には、通常ビットストリーム出力回路からのデータ供給よりも、デコード回路による検索処理のデータ消費の方が速いので、ビデオビットストリームバッファに格納されていないデータのほとんどに対して検索処理はデータの供給待ちとなる。即ち、この期間Ａでは、ヘッダサーチでストリームを連続的に読み込んだ場合、アンダーフローの状態でサーチを続けることになる。この結果、検索処理を行い、対象となるヘッダを発見後に続けてデコード処理を行う場合、予定した期間内にデコード処理が完了することは保証できない。即ち、期間Ｂでは、必ずしも所定の期間内にビデオストリーム３のデコードが完了するとは限らない。これを改善する方法として、所定の期間内にデコード処理が完了しない場合でもデコードを継続する、また（不具合が無い限り）検出処理を連続的に行わず、図４９に示すように、デコード処理が予定の期間内に完了可能であることを保証する（ステップＳ１３０６参照）、などの方法がある。また、デコード対象となるヘッダを検出し、１つの符号化単位を復号した後は通常のデコード動作となる。ただし、デコード処理が完了しない場合でもデコードを継続する方法では複数の映像をデコードする場合には前述したようにデコードに許容する最大の時間を設けるため機能の整合がとれない。デコード処理が予定の期間内に完了可能であることを保証する方法（ステップＳ１３０６参照）の例としてはヘッダサーチを連続的に行わずに映像単位で行うなどがある（図５０参照）（請求項９，２０，３１，４２に対応）。フレームを単位とする映像の場合にはフレーム期間に１度ヘッダサーチを行う。１フレームに２つのヘッダが存在する場合には、１度のヘッダサーチで２つのヘッダを読み込む。デコードすべき時刻等に基づいてヘッダサーチを実施するタイミングを決定するが、１フレーム期間に１回に限定する等、特定の条件下では簡略化が可能である。このとき映像単位がフレームで符号化単位がフィールドである場合には、図５１に示すように、検索対象でない映像に対しては１度のヘッダサーチで２つのヘッダを読み飛ばすことになる（ステップＳ１４０１参照）。また、ビデオビットストリーム中にデコード映像を繰り返し表示する指示があった場合は、出画順で表示を繰り返すことを考慮して、ヘッダサーチの実施間隔を制御する。また符号化した映像に出画の時間指標だけでなくデコードタイミングの時間指標が付随する場合には、ヘッダサーチのタイミングをこれに同期させてもよく（請求項１１，２２，３３，４４に対応）、これにより、適切なタイミングで復号化を開始することが可能となる。またビデオビットストリーム中にバッファに関する情報が適切に付加されている場合には、バッファに関する情報に基づいて算出したバッファ残量分のビデオビットストリームがビデオビットストリームバッファに入力されるタイミングでデコードを再開してもよい（請求項１１，２２，３３，４４に対応）。またこの場合はデコード開始位置の検索を従来の方法で行うことができる。
【０１１４】
［デコード処理最適化］
次に、デコード回路の状態退避・復帰とソフトウェア実装時のプログラムロードの観点からデコードの処理順について説明する。図５２はこれまでの複数映像のデコード処理に加え、各映像のデコードを制御する部分ｄｃを追記したものである。これに更にソフトウェア実装時のプログラムのロードを記入したものが図５３になる。この手順は図５４に示すように、デコード回路の状態待避を復帰するタイミングか否かを判定し（ステップＳ１５０１参照）、復帰するタイミングＴＲであればロード動作ｃｐｌにより制御プログラムをロードし（ステップＳ１５０２参照）、デコード回路の状態復帰を行う（ステップＳ１５０３参照）。次いで、デコード制御を実施し（ステップＳ１５０４参照）、ロード動作ｄｐｌによりデコードプログラムをロードして（ステップＳ１５０５参照）、実際のデコード処理を行った後（ステップＳ１５０６参照）、デコードするチャネルを切り換える（ステップＳ１５０７参照）。これより、デコード回路の状態退避・復帰の観点からは、デコード処理順としてデコードの制御と実際のデコード処理を連続して行うことで処理を削減することができる。ところが、ソフトウェア実装時のプログラムロードの観点からは、このデコード処理順は適しているとはいえない。次に、ソフトウェア実装時について述べる。
【０１１５】
デコード回路をＤＳＰなどにより実現する場合、デコード処理はプログラムにより実装されることになり、プログラムを格納する内部のメモリ容量を削減することが望まれる。映像のデコードをプログラムにより実装した場合、実際にデコードの処理を行う部分とデコードの処理を制御する部分等、復号処理の種類によりプログラムの分離が可能な場合が多い。これを利用して、各分離したプログラムを必要なときにロードすることにより格納するメモリ量を削減することができる。このときプログラムロードの観点から改善したデコード処理順が図５５である（請求項１０，２１，３２，４３に対応）。この場合プログラムロードの観点からは処理が削減されているが、デコード回路の状態退避・復帰の観点では処理が増えている。
【０１１６】
このように、状態退避・復帰に関わる処理量とプログラムロードの処理量はトレードオフの関係にあり、それぞれの処理に要する性能によっていずれを優先するかを選択することが望ましい。またデコード処理を行うＤＳＰを設計する場合には、状態退避・復帰用のメモリおよびプログラム用のメモリをどの程度の容量まで内蔵するか等を性能の観点から最適化を行うことができる。
なお、ここではプログラムをデコード制御と実際のデコード処理の２つに分離する例をあげたが、起動時の初期化部分や、エラー時の処理等、プログラムの分離が可能であればどのように分離してもよい。例えば、通常のデコードでは発生頻度が少ないことが期待されるエラーやスキップ等の処理を行うプログラムを分離し、エラー等の発生時に別途ロードすることで、さらにプログラムサイズをコンパクトにすることができる。
【０１１７】
【発明の効果】
以上のように、本発明の復号装置によれば、符号化データを入力し、復号して出力するデコード部を有する復号装置において、符号化データを入力し、復号して出力するデコード部の複数の状態を退避・復元するデコード状態保持部と、複数の符号化データのうち、復号対象となる符号化データを選択して復号し、デコード状態保持部に対して、前記デコード部の状態の退避・復元を行い、復号した複数の復号結果をそれぞれに対応した出力先に出力し、一連の処理を各々の符号化データに対応した所定の期間内に完了するデコード部とを備えるようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、１つのデコード部により複数の符号化データをみかけ上同時に復号することが可能となる。
【０１１８】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、符号化単位の境界で符号化データの入力を変更して複数の符号化データを復号化するデコード部を備えるようにしたので、符号化単位の境界以外でデコードすべき符号化データを切り替えるよりも、デコード処理の負荷が軽くなり、１つのデコード部により複数の符号化データをみかけ上同時に復号することが容易な処理で可能となる。
【０１１９】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するデコード部を備えるようにしたので、ＭＰＥＧ２におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオストリームを切り替えることができ、復号する順序を適切にすることで、処理性能が低い場合であっても１つのデコード回路で複数の符号化データを同時にデコードでき、１つのデコード部により複数の符号化データをみかけ上同時に復号することが、より低い処理性能で実現可能となる。
【０１２０】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、復号結果を格納するメモリと、いずれの符号化データを復号するかを指示するシステム制御部と、メモリに格納した復号結果を出力する出力制御部とを備え、出力制御部は、システム制御部の指示に基づいて復号する符号化データを変更し、前記変更に伴ってメモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたので、例えば複数の映像を復号する処理と、より大きなサイズの１つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更になり、出画に関するバッファへの影響が考えられるので、配置変更後、正常な出力が可能になるまで背景色を出力することにより、復号対象を変更した場合にも不正な出力を抑制することが可能となる。
【０１２１】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、復号結果を格納するメモリと、メモリに格納した復号結果を出力する出力制御部とを備え、出力制御部は各符号化データの復号結果を出力する際に、共通の時間指標に基づいて出力を制御するようにしたので、例えば３つの映像を１つの出画デバイスに出力する場合等で、時間指標の読み込みを映像が１つの場合と同様に特定の時間に読み込むことにより、出力の制御を適切に行うことが可能となる。
【０１２２】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部と、復号結果を格納するメモリと、メモリに格納した復号結果を出力する出力制御部とを備え、出力制御部は各符号化データの復号結果の出力を制御する際に、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたので、それぞれの映像の時間指標が異なる場合に、１つのチャンネルに対する時間指標を保持して他のチャンネルはその時間差分を記憶しておくことで時間指標の算出が可能となり、各チャンネルで時間指標が異なる符号化データに対しても、対応した時間指標を求めて出力の制御を適切に行うことが、容易な処理で可能となる。
【０１２３】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するデコード部を備え、デコード処理が所定の時間内に終了しない場合はデコードを強制終了するようにしたので、１つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【０１２４】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するデコード部を備えるようにしたので、復号化で参照する映像が存在しない場合に適切な復号化ができないために乱れた映像を出画する可能性があり、廃棄した映像が後の映像を復号する際に参照されるか否かによってデコード処理を再開する位置を変更するようにしたので、正常な復号化が行えなかった符号化データに関しても、復号化を再開することが可能となる。
【０１２５】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うデコード部を備えるようにしたので、ヘッダーサーチを連続的に行わずに映像単位で行うことにより、復号化の開始を適切に行うことが可能となる。
【０１２６】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、各符号化データの復号処理を復号処理の種類を単位として切り替えるデコード部を備えるようにしたので、デコード回路の行う処理を複数に分け、それぞれの段階に適した処理を行うように実装することで、複数の符号化データを１つのデコード部で復号することがより少ない資源で可能となる。
【０１２７】
また、本発明の復号装置によれば、複数の符号化データを入力して、それぞれの符号化データを復号するデコード部を有する復号装置において、復号を開始するタイミングは各符号化データに記された情報に基づいて決定するデコード部を備えるようにしたので、符号化した映像に出画の時間指標だけでなくデコードタイミングの時間指標が付随する場合は、ヘッダーサーチのタイミングをこれに同期させてもよく、適切なタイミングで復号化を開始することが可能となる。
【０１２８】
また、本発明の復号方法によれば、符号化データを入力し、復号して出力する復号方法において、復号対象である符号化データの復号を中断する際に、復号を行うデコード部の状態を待避し、復号対象である符号化データを他の符号化データに切り換えて復号を行い、復号を中断した符号化データの復号の再開は、待避したデコード部の状態を復元した後に行うようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、１つのデコード処理により複数の符号化データをみかけ上同時に復号することが可能となる。
【０１２９】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、符号化単位の境界で符号化データの入力を復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたので、符号化単位の境界以外でデコードすべき符号化データを切り替えるよりも、デコード処理の負荷が軽くなり、１つのデコード処理により複数の符号化データをみかけ上同時に復号することが容易な処理で可能となる。
【０１３０】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたので、ＭＰＥＧ２におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオストリームを切り替えることができ、復号する順序を適切にすることで、処理性能が低い場合であっても１つのデコード回路で複数の符号化データを同時にデコードでき、１つのデコード処理により複数の符号化データをみかけ上同時に復号することが、より低い処理性能で実現可能となる。
【０１３１】
また、本発明の復号方法によれば、複数の符号化データ中の復号すべき符号化データを指示に基づいて変更し、前記復号すべき符号化データを復号し、復号結果をメモリに格納し、前記指示による復号すべき符号化データの変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたので、例えば複数の映像を復号する処理と、より大きなサイズの１つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更になり、出画に関するバッファへの影響が考えられるので、配置変更後、正常な出力が可能になるまで背景色を出力することにより、復号対象を変更した場合にも不正な出力を抑制することが可能となる。
【０１３２】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、共通の時間指標に基づいて出力を制御するようにしたので、例えば３つの映像を１つの出画デバイスに出力する場合等で、時間指標の読み込みを映像が１つの場合と同様に特定の時間に読み込むことにより、出力の制御を適切に行うことが可能となる。
【０１３３】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたので、それぞれの映像の時間指標が異なる場合に、１つのチャンネルに対する時間指標を保持して他のチャンネルはその時間差分を記憶しておくことで時間指標の算出が可能となり、各チャンネルで時間指標が異なる符号化データに対しても、対応した時間指標を求めて出力の制御を適切に行うことが、容易な処理で可能となる。
【０１３４】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたので、デコード処理が所定の時間内に終了しない場合はデコードが強制終了するため、１つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【０１３５】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する際、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたので、復号化で参照する映像が存在しない場合に適切な復号化ができないために乱れた映像を出画する可能性があり、廃棄した映像が後の映像を復号する際に参照されるか否かによってデコード処理を再開する位置を変更するようにしたので、１つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【０１３６】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたので、ヘッダーサーチを連続的に行わずに映像単位で行うことにより、復号化の開始を適切に行うことが可能となる。
【０１３７】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたので、デコード回路の行う処理を複数に分け、それぞれの段階に適した処理を行うように実装することで、複数の符号化データを１つのデコード部で復号することがより少ない資源で可能となる。
【０１３８】
また、本発明の復号方法によれば、複数の符号化データを入力して、それぞれの符号化データを復号する際、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたので、符号化した映像に出画の時間指標だけでなくデコードタイミングの時間指標が付随する場合は、ヘッダーサーチのタイミングをこれに同期させてもよく、適切なタイミングで復号化を開始することが可能となる。
【０１３９】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、符号化データを入力し、復号して出力する復号方法であって、復号対象である符号化データの復号を中断する際に、復号を行うデコード部の状態を待避し、復号対象である符号化データを他の符号化データに切り換えて復号を行い、復号を中断した符号化データの復号の再開は、待避したデコード部の状態を復元した後に行うようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、１つのデコード処理により複数の符号化データをみかけ上同時に復号することが可能となる。
【０１４０】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、符号化単位の境界で符号化データの入力を復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたので、符号化単位の境界以外でデコードすべき符号化データを切り替えるよりも、デコード処理の負荷が軽くなり、１つのデコード処理により複数の符号化データをみかけ上同時に復号することが容易な処理で可能となる。
【０１４１】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたので、ＭＰＥＧ２におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオストリームを切り替えることができ、復号する順序を適切にすることで、処理性能が低い場合であっても１つのデコード回路で複数の符号化データを同時にデコードでき、１つのデコード処理により複数の符号化データをみかけ上同時に復号することが、より低い処理性能で実現可能となる。
【０１４２】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データ中の復号すべき符号化データを指示に基づいて変更し、前記復号すべき符号化データを復号し、復号結果をメモリに格納し、前記指示による復号すべき符号化データの変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたので、例えば複数の映像を復号する処理と、より大きなサイズの１つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更になり、出画に関するバッファへの影響が考えられるので、配置変更後、正常な出力が可能になるまで背景色を出力することにより、復号対象を変更した場合にも不正な出力を抑制することが可能となる。
【０１４３】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、共通の時間指標に基づいて出力を制御するようにしたので、例えば３つの映像を１つの出画デバイスに出力する場合等で、時間指標の読み込みを映像が１つの場合と同様に特定の時間に読み込むことにより、出力の制御を適切に行うことが可能となる。
【０１４４】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたので、それぞれの映像の時間指標が異なる場合に、１つのチャンネルに対する時間指標を保持して他のチャンネルはその時間差分を記憶しておくことで時間指標の算出が可能となり、各チャンネルで時間指標が異なる符号化データに対しても、対応した時間指標を求めて出力の制御を適切に行うことが、容易な処理で可能となる。
【０１４５】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたので、デコード処理が所定の時間内に終了しない場合はデコードが強制終了するため、１つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【０１４６】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたので、復号化で参照する映像が存在しない場合に適切な復号化ができないために乱れた映像を出画する可能性があり、廃棄した映像が後の映像を復号する際に参照されるか否かによってデコード処理を再開する位置を変更するようにしたので、正常な復号化が行えなかった符号化データに関しても、復号化を再開することが可能となる。
【０１４７】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたので、ヘッダーサーチを連続的に行わずに映像単位で行うことにより、復号化の開始を適切に行うことが可能となる。
【０１４８】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたので、デコード回路の行う処理を複数に分け、それぞれの段階に適した処理を行うように実装することで、複数の符号化データを１つのデコード処理で復号することがより少ない資源で可能となる。
【０１４９】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたので、符号化した映像に出画の時間指標だけでなくデコードタイミングの時間指標が付随する場合は、ヘッダーサーチのタイミングをこれに同期させてもよく、適切なタイミングで復号化を開始することが可能となる。
【０１５０】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、符号化データを入力し、復号して出力する復号方法であって、復号対象である符号化データの復号を中断する際に、復号を行うデコード部の状態を待避し、復号対象である符号化データを他の符号化データに切り換えて復号を行い、復号を中断した符号化データの復号の再開は、待避したデコード部の状態を復元した後に行うようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、１つのデコード部により複数の符号化データをみかけ上同時に復号することが可能となる。
【０１５１】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、符号化単位の境界で符号化データの入力を復号中の符号化データから他の符号化データに変更して複数の符号化データを復号化するようにしたので、符号化単位の境界以外でデコードすべき符号化データを切り替えるよりも、デコード処理の負荷が軽くなり、１つのデコード部により複数の符号化データをみかけ上同時に復号することが容易な処理で可能となる。
【０１５２】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する復号方法であって、前記復号は、各々の符号化データに記された情報に基づいて、出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたので、ＭＰＥＧ２におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオストリームを切り替えることができ、復号する順序を適切にすることで、処理性能が低い場合であっても１つのデコード回路で複数の符号化データを同時にデコードでき、１つのデコード部により複数の符号化データをみかけ上同時に復号することが、より低い処理性能で実現可能となる。
【０１５３】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データ中の復号すべき符号化データを指示に基づいて変更し、前記復号すべき符号化データを復号し、復号結果をメモリに格納し、前記指示による復号すべき符号化データの変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたので、例えば複数の映像を復号する処理と、より大きなサイズの１つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更になり、出画に関するバッファへの影響が考えられるので、配置変更後、正常な出力が可能になるまで背景色を出力することにより、復号対象を変更した場合にも不正な出力を抑制することが可能となる。
【０１５４】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、共通の時間指標に基づいて出力を制御するようにしたので、例えば３つの映像を１つの出画デバイスに出力する場合等で、時間指標の読み込みを映像が１つの場合と同様に特定の時間に読み込むことにより、出力の制御を適切に行うことが可能となる。
【０１５５】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号し、その復号結果をメモリに格納し、前記メモリから復号結果を出力する際、所定のタイミングで時間指標を読み込み、前記時間指標から各符号化データに対応した時間指標を求め、前記各符号化データに対応した時間指標に基づいて出力を制御するようにしたので、それぞれの映像の時間指標が異なる場合に、１つのチャンネルに対する時間指標を保持して他のチャンネルはその時間差分を記憶しておくことで時間指標の算出が可能となり、各チャンネルで時間指標が異なる符号化データに対しても、対応した時間指標を求めて出力の制御を適切に行うことが、容易な処理で可能となる。
【０１５６】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大の復号化時間を求め、各符号化データを復号化する際に、前記最大の復号化時間に到達した場合には当該符号化データの符号化単位の復号化処理を終了するようにしたので、デコード処理が所定の時間内に終了しない場合はデコードが強制終了するため、１つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【０１５７】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたので、復号化で参照する映像が存在しない場合に適切な復号化ができないために乱れた映像を出画する可能性があり、廃棄した映像が後の映像を復号する際に参照されるか否かによってデコード処理を再開する位置を変更するようにしたので、正常な復号化が行えなかった符号化データに関しても、復号化を再開することが可能となる。
【０１５８】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたので、ヘッダーサーチを連続的に行わずに映像単位で行うことにより、復号化の開始を適切に行うことが可能となる。
【０１５９】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、各符号化データの復号処理を、復号処理の種類を単位として切り替えるようにしたので、デコード回路の行う処理を複数に分け、それぞれの段階に適した処理を行うように実装することで、複数の符号化データを１つのデコード処理で復号することがより少ない資源で可能となる。
【０１６０】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力して、それぞれの符号化データを復号する際、復号を開始するタイミングを、各符号化データに記された情報に基づいて決定するようにしたので、符号化した映像に出画の時間指標だけでなくデコードタイミングの時間指標が付随する場合は、ヘッダーサーチのタイミングをこれに同期させてもよく、適切なタイミングで復号化を開始することが可能となる。
【図面の簡単な説明】
【図１】
本発明の同時データ復号装置の構成を示すブロック図である。
【図２】
本発明の同時データ復号装置の入力部分の具体的な構成を示すブロック図である。
【図３】
複数のビットストリームを説明するための図である。
【図４】
複数のビットストリームを分離した結果を説明するための図である。
【図５】
ビットストリーム出力回路の構成例１を示すブロック図である。
【図６】
ビットストリーム出力回路の構成例２を示すブロック図である。
【図７】
ビットストリーム出力回路の構成例２の中で生成されるビットストリームを示す図である。
【図８】
ビットストリームを生成する際の時間情報の修正を示す図である。
【図９】
ビットストリームを生成する際の指示情報の修正を示す図である。
【図１０】
ビットストリーム出力回路の構成例３を示すブロック図である。
【図１１】
ビットストリーム出力回路の構成例４を示すブロック図である。
【図１２】
ビットストリーム出力回路の構成例５を示すブロック図である。
【図１３】
ビットストリーム出力回路の構成例６を示すブロック図である。
【図１４】
本発明の同時データ復号装置のデコード部分の具体的な構成を示すブロック図である。
【図１５】
図１４のデコード部分のうちビデオの復号に関する部分のみ抽出した図である。
【図１６】
ビデオビットストリームの例を示す図である。
【図１７】
複数のビデオビットストリームを１つのデコード回路で時分割して処理する例を示す図である。
【図１８】
複数のビデオビットストリームを１つのデコード回路で時分割して処理する場合の処理の流れを表すフローチャートを示す図である。
【図１９】
ＤＳＰの内部構造を示すブロック図である。
【図２０】
図１７の時分割するタイミングを変更した例を示す図である。
【図２１】
本発明の同時データ復号装置の出力部分の具体的な構成を示すブロック図である。
【図２２】
オーディオ出力を生成する場合の処理の流れを表すフローチャートを示す図である。
【図２３】
ビデオ出力を生成する場合の処理の流れを表すフローチャートを示す図である。
【図２４】
本発明の同時データ復号装置により１つの映像と音声をデコードする場合の入力部分を示すブロック図である。
【図２５】
本発明の同時データ復号装置により１つの映像と音声をデコードする場合のデコード部分を示すブロック図である。
【図２６】
本発明の同時データ復号装置により１つの映像と音声をデコードする場合の出力部分を示すブロック図である。
【図２７】
入力の符号データが変化する場合にメモリ配置を変更する場合の一例を示す図である。
【図２８】
１つの映像を出画する場合の処理を示す図である。
【図２９】
１つの映像を出画する場合の処理の流れを表すフローチャートを示す図である。
【図３０】
スキップ処理の流れを表すフローチャートを示す図である。
【図３１】
フリーズ処理の流れを表すフローチャートを示す図である。
【図３２】
各映像の出画の時間指標に誤りが発生する可能性がある場合の処理の流れを表すフローチャートを示す図である。
【図３３】
映像が複数の場合の時間指標の読み込み動作を表すフローチャートを示す図である。
【図３４】
３つの映像を出画する場合の処理を示す図である。
【図３５】
出画映像決定タイミングについて説明するための図である。
【図３６】
出画映像決定タイミングに用いる時間指標について説明するための図である。
【図３７】
図４０の時間指標に基づいて出画映像を決定する例を示す図である。
【図３８】
３つの４８０ｉ映像を正常にデコードしている例を示す図である。
【図３９】
２つの４８０ｉ映像と１つの４８０ｐ映像を正常にデコードしている例を示す図である。
【図４０】
２つの４８０ｉ映像と１つの４８０ｐ映像を正常にデコードできない例を示す図である。
【図４１】
デコードに要する時間が異なる映像をデコードする例を表すフローチャートを示す図である。
【図４２】
３つの映像のデコードが正常に行えない例を示す図である。
【図４３】
デコードの処理を強制終了させる例を示す図である。
【図４４】
複数の映像の中に所定の期間内にデコードを完了することができないものが存在する場合の処理の流れを表すフローチャートを示す図である。
【図４５】
デコードの復帰処理の流れを表すフローチャートを示す図である。
【図４６】
ヘッダサーチに続けてデコードを行う処理を示す図である。
【図４７】
デコード開始位置の検索を表すフローチャートを示す図である
【図４８】
ヘッダサーチに続けてデコードを行う処理の詳細を示した図である。
【図４９】
デコード開始位置の検索をより具体的に表すフローチャートを示す図である。
【図５０】
ヘッダサーチを映像単位に行う例を示した図である。
【図５１】
デコード処理が予定の期間内に完了可能であることを保証する手法の一例を表すフローチャートを示す図である。
【図５２】
複数映像デコードにおいてデコード制御の処理を明記した図である。
【図５３】
複数映像デコードをプログラムロードの観点でみた図である。
【図５４】
デコード回路の状態待避を復帰するソフトウエア実装を表すフローチャートを示す図である。
【図５５】
複数映像デコードの処理でプログラムロードの処理を削減した図である。
【図５６】
従来の復号装置の構成を示すブロック図である。
【図５７】
従来の復号装置の具体的な構成を示すブロック図である。
【図５８】
１チャネルデコードを正常な処理時間内に完了することを説明するための図である。
【図５９】
１チャネルデコードを正常な処理時間内に完了できない場合を説明するための図である。
【符号の説明】
１０１  デコード回路
１０２  デコード状態保持回路
１０３  デコード回路
１０４  フレームメモリ
１０５  システム制御回路
１０６  出力制御回路
１０７  フレームメモリ
１０８  ビットストリーム出力回路
１０９  システム制御回路
１１０  オーディオ・ビデオ出力回路
１１１  ユーザ情報設定回路