JP4208116B2 - 復号装置,復号方法,復号プログラム,および復号プログラム記録媒体 - Google Patents
復号装置,復号方法,復号プログラム,および復号プログラム記録媒体 Download PDFInfo
- Publication number
- JP4208116B2 JP4208116B2 JP2002228573A JP2002228573A JP4208116B2 JP 4208116 B2 JP4208116 B2 JP 4208116B2 JP 2002228573 A JP2002228573 A JP 2002228573A JP 2002228573 A JP2002228573 A JP 2002228573A JP 4208116 B2 JP4208116 B2 JP 4208116B2
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- encoded data
- video
- unit
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、復号装置,復号方法,復号プログラム,および復号プログラム記録媒体に関するものであり、特に、デジタルの映像や音声などのデータを圧縮して生成されるビットストリームについて、1つの復号装置で複数の圧縮データを見かけ上同時に復号する処理を可能にした複数データ同時復号装置、およびこの復号装置に相当する機能を実現するための復号方法,復号プログラム,および復号プログラム記録媒体に関するものである。
【0002】
【従来の技術】
従来、デジタルの映像や音声などのデータを圧縮したビットストリームを復号する場合、例えば、図56に示す復号装置などによってその処理が行われている。ここでは図56の復号装置を例としてその動作を説明する。
図56に従来の復号装置のブロック図、図57に図56のブロック図を実現する、より詳細なブロック構成の一例を示す。
図56の復号装置は、ユーザ情報設定回路1110によりシステム制御回路1090に指示したチャネルIDあるいはシステム制御回路1090に保存したチャネルIDに基づいて、システム制御回路1090がビットストリーム出力回路108にいずれの放送を受信し、放送中のどのビットストリームを出力するかを指示する。
ビットストリーム出力回路108内では、図57に示すデジタル放送受信回路1081とデータ分離回路1082とによって、受信した放送からデコード回路101での復号対象となるオーディオビットストリームおよびビデオビットストリームを出力する。
【0003】
まず図57のデジタル放送受信回路1081では、システム制御回路1090の指示に基づいて復号の対象となる放送を受信して通信路復号化を行いビットストリームBSTを出力する。データ分離回路1082ではシステム制御回路1090の指示に基づいてビットストリーム中のデコード対象となるオーディオビットストリームAST,ビデオビットストリームVSTを分離して出力する。
ビットストリーム出力回路108が出力したオーディオビットストリームとビデオビットストリームとを格納するオーディオビットストリームバッファ1042とビデオビットストリームバッファ1041とをフレームメモリ104内に確保し、それぞれをFIFOメモリとして機能させてデコード回路101に出力する。ここで、これらストリームバッファ1042および1041をFIFOメモリとして機能させるために、ビットストリーム出力回路108、フレームメモリ104、デコード回路101等によってバッファ残量の管理とストリーム入出力の制御を行う。
【0004】
デコード回路101では、フレームメモリ104からオーディオビットストリーム,ビデオビットストリームの供給を受け、それぞれオーディオデコード回路1012,ビデオデコード回路1011で復号化を行い、復号結果をフレームメモリ104内に確保したオーディオデータバッファ1044,ビデオデータバッファ1043に出力する。ここでデコード回路101において実時間の処理を保証するためには符号化されたデータの単位に対応した処理時間内に処理を完了する必要がある。このことをビデオの復号処理を例にとって図58,図59に図示する。
【0005】
図58,図59のいずれについてもビデオはフレームを単位として符号化されているとする。ここでは480i、即ち、走査線480本のインターレース映像、を符号化していると想定すると、このときビデオの復号処理VDPはフレームの時間F内(フレームの時間の半分がフィールドの時間で、ビデオブランキングから次のビデオブランキングまでの間隔であるV期間の2回分に相当する)に処理が完了すればよく、これを示すのが図58である。逆に図59はビデオの復号処理がフレームの時間内に完了しない場合を示し、結果として復号処理中にコマ落ちが発生したり、途中までしか復号されていない映像が出画されたりといった不正な映像が出力されることになる。従って、不正な映像を出力しないようにデコード回路から正常にデコードを完了した映像を出力する制御を行う。
なお、この図56ではいずれの映像を出力するかの制御はデコード回路101で判断を行い、いずれの映像を出力するかをシステム制御回路1090を経て合成回路1000に通知しているが、デコード回路101から直接、合成回路1000に通知してもよい。
【0006】
復号したオーディオデータはオーディオデータバッファ1044からオーディオ・ビデオ出力回路1100に出力され、オーディオD/A変換回路1101aではアナログオーディオ出力aに変換し、オーディオデータ信号変換回路11011aではデジタルオーディオ出力daに変換して出力する。
また、システム制御回路1090では静止画やオンスクリーンディスプレイを生成し、フレームメモリ内の静止画用領域Still0,Still1(s0,s1)およびオンスクリーンディスプレイ用領域OSD0,OSD1(o0,o1)等に格納する。
【0007】
合成回路1000ではビデオデータバッファに格納したビデオデータと静止画用領域Still0、Still1(s0、s1)等に格納した静止画およびオンスクリーンディスプレイ用領域OSD0、OSD1(o0、o1)等に格納したオンスクリーンディスプレイ画面のそれぞれをシステム制御回路1090から指示される合成パラメータSPに基づいて合成し合成ビデオデータを出力する。
合成ビデオデータは合成回路1000からオーディオ・ビデオ出力回路1100に出力され、ビデオD/A変換回路1101vではアナログビデオ出力vに変換し、ビデオデータ信号変換回路11011vではデジタルビデオ出力dvに変換して出力する。
以上のように、図56の復号装置はビットストリームから映像と音声とを復号する。
【0008】
【発明が解決しようとする課題】
従来の技術による復号装置は、上記のように構成されており、1つのビットストリームからそれぞれ1つの映像と音声とを復号することを前提としている。従って、例えばBS(Broadcasting Satellite)デジタル放送,CS(Communication Satellite)デジタル放送,110゜CSデジタル放送(東経110゜に打ち上げられたCSによるデジタル放送)などの複数のビットストリームから映像・音声を同時に復号するには、復号しようとするビットストリームと同数分の復号装置を必要とした。
本発明は、かかる事情に鑑みてなされたものであり、1つの復号処理で見かけ上同時に複数の映像・音声を復号することが可能な復号装置,復号方法,復号プログラム,および復号プログラム記録媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記の目的を達成するために、本発明の復号装置は、複数の符号化データを入力し、復号して出力するデコード部と、前記デコード部の状態を保持するデコード状態保持部とを備え、前記デコード部は、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定する設定部を有し、前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持されたデコード部の状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号する際に、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号結果を前記選択した符号化データに対応した出力先に出力するようにしたものである。
【0010】
また、本発明の復号装置は、前記デコード部は、各々の符号化データに記された情報に基づいて、復号結果を出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたものである。
【0011】
また、本発明の復号装置は、各々の符号化データの復号結果を格納するメモリと、いずれの符号化データを復号するかを指示するシステム制御部と、前記メモリに格納した復号結果を出力する出力制御部とを備え、前記システム制御部の指示に基づいて復号する符号化データを変更し、前記出力制御部は、前記変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたものである。
【0012】
また、本発明の復号装置は、前記デコード部は、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたものである。
【0013】
また、本発明の復号装置は、前記デコード部は、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたものである。
【0014】
また、本発明の復号方法は、複数の符号化データを入力し、復号して出力する復号方法において、デコード部の状態をデコード状態保持部に保持するステップと、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定するステップと、前記複数の符号化データから1つを選択するステップと、前記デコード状態保持部に保持された状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号するステップと、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避するステップと、復号された結果を選択された前記符号化データに対応した出力先に出力するステップと、を含むようにしたものである。
【0015】
また、本発明の復号プログラムは、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、デコード部の状態をデコード状態保持部に保持し、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定し、前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持された状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号された結果を選択された前記符号化データに対応した出力先に出力するようにしたものである。
【0016】
また、本発明の復号プログラム記録媒体は、前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、デコード部の状態をデコード状態保持部に保持し、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定し、前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持された状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号された結果を選択された前記符号化データに対応した出力先に出力するようにしたものである。
【0017】
【発明の実施の形態】
実施の形態1.
本発明の実施の形態1による復号装置は、デコード状態保持回路によってデコード回路の状態を退避・保持し、デコード回路の処理するビットストリームの変更に応じて状態を復元することで、1つのデコード回路で見かけ上同時に複数のビットストリームをデコードできるようにしたものである。
図1は本実施の形態1による復号装置(請求項1に対応)の構成を示すブロック図である。図示するように、本実施の形態1による復号装置は、従来例に比べ主に以下の2つの部分が異なる。1点目は新たにデコード状態保持回路を備えた点であり、2点目は合成回路のかわりに出力制御回路を備えた点である。
【0018】
図1において、108は複数のビットストリームを出力するビットストリーム出力回路、107はビットストリーム出力回路108からの複数のビットストリームをフレーム単位で蓄積できるフレームメモリ(メモリ)、103は複数のビットストリームのデコードを行う1つのデコード回路(デコード部)、102はデコード回路103のデコード状態を保持するデコード状態保持回路(デコード状態保持部)、110は複数の各ビットストリームのデコードされた出力であるビデオ出力v1,v2,…,オーディオ出力a1,a2,…、デジタルビデオ出力v11,v12,…,デジタルオーディオ出力a11,a12,…等を出力するオーディオ・ビデオ出力回路、106はオーディオ・ビデオ出力回路110に対する出力制御を行う出力制御回路(出力制御部)、109はこの復号装置を制御するシステム制御回路(システム制御部)、111はシステム制御回路109に対しユーザ情報を設定するユーザ情報設定回路である。なお、デコード回路103は専用ハードウエアで構成されるものでも、DSP(Digital Signal Processor)等のコンピュータのソフトウエアで実現されるものでもよい。
【0019】
この実施の形態1の復号装置の全体の動作は次のようになる。即ち、HDTV(High-Definition TV)1チャンネル分の帯域はSDTV(Standard-Definition TV)複数チャンネル分の帯域に相当する。例えばSDTV3チャンネル分の情報を含んだ放送電波BRはビットストリーム出力回路108に入力され、その内部のフロントエンド(図示しない)で復調される。ビットストリーム出力回路108は、その復調結果としてSDTVのチャンネル1,2,3を取り出し、フレームメモリ107に出力する。フレームメモリ107に蓄積された、各チャンネルのSDTV放送に対応するビットストリームは、システム制御回路109の制御により、例えばSDTVのチャンネル1がデコード回路103によりデコードされ、その1フレーム分等の所定のデータ量のデコードが完了した段階で、デコード回路103の状態がデコード状態保持回路102に待避され、次のSDTVのチャンネル2がデコード回路103によりデコードされ、同様に1フレーム分等の所定のデータ量のデコードが完了した段階で、デコード回路103の状態がデコード状態保持回路102に待避される…、という動作を巡回的に、例えばチャンネル1→チャンネル2→チャンネル3→チャンネル1→…などのように繰り返す。
【0020】
デコード回路103は1フレーム分の動作が完了した段階で、その状態がデコード状態保持回路102に保持されているため、以上のような動作が一巡して元のチャンネルに戻った段階で、前のフレームのデコードが終了した時点の状態をデコード状態保持回路102から呼び戻すため、途中でデコードしているチャンネルが変わっても、元のチャンネルに戻った時点で次のフレームのデコードに支障なく移行できる。
オーディオ・ビデオ出力回路110は、出力制御回路106により出力された各チャンネル毎のデコード結果に基づき、ビデオ出力v1,v2,…デジタルビデオ出力v11,v12,…オーディオ出力a1,a2,…デジタルオーディオ出力a11,a12,…を外部に出力する。
そして、こうした動作をSDTVの各チャンネルに対するデコードを、SDTV1チャンネルのみデコードする場合に要求される速度の3倍以上の速度で行うことにより、1つの復号装置を時分割で動作させることができ、みかけ上3チャンネルの復調を同時に行うことができる。
【0021】
次に本復号装置を入力部,デコード部,出力部の3つに分けて各部の動作をそれぞれ説明する。
[入力部]
ビットストリーム出力回路108は複数のデジタル放送を含んだ放送電波BRを受信し、システム制御回路109より指示を受けた複数のチャネルのオーディオビットストリームとビデオビットストリームとをフレームメモリ107に格納する。ビットストリーム出力回路108の構成例を図2に示す。
図2に示すように、ビットストリーム出力回路108は、デジタル放送受信回路1081とデータ分離回路1082とで回路を構成している。ここでデジタル放送受信回路1081は複数のデジタル放送を含んだ放送電波BRを受信して、図3に示すようにそれぞれの放送のビットストリームBST0,BST1,BST2からなるビットストリームBSTを出力する。この複数のデジタル放送を含んだ放送電波BRは、1つのHDTVの帯域を分割して同一時間帯に複数のSDTV番組が放送されるものでもよい。また、1つの放送局から番組ごとに異なる放送方式で放送されるものであってもよい。これは、例えば番組AはHDTVで放送され、番組Aに続いて放送される番組BはSDTVで放送される場合などで、このような放送方式の混在は、番組の著作権者が放送方式の変換を許可しない場合などで生じる。また、これらビットストリームBST0,BST1,BST2のいくつかは、D−VHS(登録商標)ビデオデッキ等によりタイムシフトした放送内容であってもよい。
【0022】
図3の例では、各放送ビットストリームBSTはそれぞれ3つのデータから構成され、各データはパケットにより構成されている。データ分離回路1082は図4に示すように、複数のビットストリームBSTから、システム制御回路109からの指示を受けたオーディオビットストリームAST(オーディオビットストリームAST0,AST1,AST2)とビデオビットストリームVST(ビデオビットストリームVST0,VST1,VST2)とを出力し、互いに連動するセレクタSL2,SL1により選択したフレームメモリ107のそれぞれ対応するオーディオビットストリームバッファ1070a,1071a,1072aとビデオストリームバッファ1070v,1071v,1072vとに格納する。これにより、図4のビットストリーム0の例では、放送0データ00に属するパケットが選択されてオーディオビットストリームAST0となり、放送0データ01に属するパケットが選択されてビデオビットストリームVST0となる。
【0023】
ビットストリーム出力回路の構成例としては図5、図6、図10、図11等がある。
図5はビットストリーム出力回路の構成例として、従来例と同様のデジタル放送受信回路10810,10811,10812,…とデータ分離回路10820,10821,10822,…とをそれぞれ直列接続した回路を、ビットストリームと同数分用意して互いに並列に配置し、これら複数の直列回路の出力をフレームメモリに出力するための複数のデータ分離バッファ10830,10831,10832,…を設けたものである。これらのバッファはデータ分離回路に対応して同数設けられ、その出力がセレクタs1により切り替えられて1つのフレームメモリ107に出力される。
この図5のビットストリーム出力回路は、従来例と同様の回路により構成が可能であるので、構築が容易である。
【0024】
図6はビットストリーム出力回路の他の構成例として、従来例と同様のデジタル放送受信回路10810,10811,10812,…と、データ多重バッファ10840,10841,10842,…とをそれぞれ直列接続した回路を、ビットストリームと同数分用意して互いに並列に配置し、各データ多重バッファから出力したビットストリームを1つのデータ多重回路10850により多重化して図7に示すようなパケットがシリアルに配置された1つのビットストリームMとした後、データ分離回路1082により対象となるオーディオビットストリームとビデオビットストリームを抽出する。
【0025】
各デジタル放送受信回路とデータ多重回路との間にそれぞれデータ多重バッファを設けたのは、多重化して1つのビットストリームを生成するために、データ多重回路10850において単純にパケットの多重化を行うのみでは各ビットストリームが使用している時間情報や各オーディオストリーム・ビデオストリームを示す指示情報にそれぞれ不整合が発生するが、こうした不整合が生じないように修正を行うためである。
【0026】
例えば、時間情報に関しては1つのビットストリームを基準として、ある時点での基準のビットストリームと他のビットストリームの時間情報の差分を求め、基準以外のビットストリームの時間情報に対して、求めた差分の値だけ修正する。図8の例では、D01はビットストリームBST0とビットストリームBST1との間の時間情報の差分、D02はビットストリームBST0とビットストリームBST2との間の時間情報の差分である。この処理はビットストリームが示す時間指標だけでなく、デコードしたオーディオを出力する時間指標およびデコードした映像を出画する時間指標などビットストリーム中に含まれるすべての時間情報に対して行う必要がある。また、図9に示すように、各オーディオストリーム・ビデオストリームの指示情報については修正前の指示情報di0と修正後の指示情報di1とがお互いに重複しない値になるように変更する。
【0027】
なお、図6のデジタル放送受信回路10810〜10812、データ多重バッファ10840〜10842、およびデータ多重回路10850からなるデジタル放送受信回路については、その出力のビットストリームをデジタル放送送信回路に接続することで、デジタル放送受信回路10810〜10812により受信した放送をデジタルCATV等を用いて再送するのに利用することができる。
【0028】
図10のビットストリーム出力回路は図6のビットストリーム出力回路をベースとしているが、これと異なる点は、それぞれのデジタル放送受信回路10810,10811,10812,…とデータ多重バッファ10840,10841,10842,…との間に、従来例と同様のデータ分離回路10820,10821,10822,…を挿入したことである。これにより不要なチャネルのデータを以降の回路に送ることがなくなり、このビットストリーム出力回路以降で多重化されたストリームに対して必要とされる帯域幅の条件が緩和される。
【0029】
図11のビットストリーム出力回路は、デジタル放送受信回路10810,10811,10812,…を従来例と同様、複数のビットストリームと同数分、配置し、各デジタル放送受信回路10810,10811,10812,…と1つのデータ分離回路1082との間に、ビットストリームを供給するためのデータ分離バッファ10830,10831,10832,…をビットストリームと対応させて同数分設け、データ分離回路1082側にこれらデータ分離バッファ10830,10831,10832,…からの複数のビットストリームを分離する機能を持たせたものである。
【0030】
以上、ビットストリーム出力回路について、いずれもデジタル放送受信回路のみをビットストリームのソースとする構成を示したが、図12に示すように、他のデジタル機器からのビットストリームを取り込むためのデジタルインターフェイス10860,10861,…や、デジタルデータを記憶しているデジタルデータ記憶回路10870,…をソースとして用いてもよく、これらデジタルインターフェイスやデジタルデータ記憶回路の出力をセレクタSL3,SL4,SL5により選択し、デジタル放送受信回路10810,10811,10812,…の出力に代えてデータ分離バッファ10830,10831,10832,…に取り込むことができる。
【0031】
また、1つのHDTV帯域を使用して3つのSDTVを放送する場合のように、同一放送のストリーム中に複数のビットストリームが含まれる放送を復号する場合は、図13のようにビットストリーム出力回路108を1つのデジタル放送受信回路1081とデータ分離回路1082とで構成したものにより実現が可能である。ここではデータ分離回路1082の前段にデジタル放送受信回路を設けることで実現した例を示したが、例えばDVDのような記録メディアからビットストリームを供給することも可能である。
【0032】
[デコード部]
次に、フレームメモリ、デコード回路、デコード状態保持回路の内部構成の一例を図14に示す。基本的にはフレームメモリ107は各々のビデオビットストリームバッファ1070v,1071v,1072v,…をセレクタSL11で、オーディオビットストリームバッファ1070a,1071a,1072a,…をセレクタSL21で、それぞれ選択してビデオビットストリームVST、オーディオビットストリームASTを読み出し、ビデオデータおよびオーディオデータをそれぞれビデオデコード回路1031およびオーディオデコード回路1032で復号し、その結果をセレクタSL11,SL21とそれぞれ連動するセレクタSL12,SL22により対応するビデオデータバッファ10710v,10711v,10712v,…オーディオデータバッファ10710a,10711a,10712a,…、を選択して格納する。このときいずれのバッファをデコード対象とするかはシステム制御回路109の設定に基づいて決定し、どのタイミングで処理対象のバッファを切り替えるかは各デコード回路1031,1032にて決定し、その決定結果を示すビデオバッファ番号指示信号VBDおよびオーディオバッファ番号指示信号ABDをセレクタSL11,SL12およびセレクタSL21,SL22bに伝送する。
【0033】
ここで、処理の切り替えについて図16ないし図24の例を用いて説明する。なお、説明の簡略化のためビデオの処理についてのみ説明するが、オーディオの処理に関しても同様の説明が成り立つ。図15は図14のビデオの復号に関する部分のみを記したものである。各ビデオビットストリームバッファ1070v,1071v,1072vからビデオデコード回路1031に供給するビデオビットストリームVST0,VST1,VST2の概要を図16に示す。図16の例では、ビデオストリームVST0はヘッダ0−0,ビデオストリーム0−0,ヘッダ0−1,ビデオストリーム0−1,ヘッダ0−2,ビデオストリーム0−2がこの順で配置される。これらのビデオビットストリームをビデオデコード回路1031で処理するが、各々のビデオストリームに記述された情報に基づいて出力すべき順序を求め、求めた順序に従ってデータを選択してデコードし(請求項3に対応)、MPEG2におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオビットストリームをセレクタSL11で切り替える。これにより、所定のタイミング以外のタイミングで切り替えを行った場合の複雑なデコード処理が不要となり、処理性能が低い場合であっても1つのデコード回路により複数の符号化データを同時に復号できる。
【0034】
この処理の例を図17に示す。ここではビデオビットストリーム0,1,2の順でデコード処理を巡回して行うものとしている。まず、ビデオビットストリーム0のデコード処理を行い、フレームやスライスの区切り等の処理を中断すべき箇所dpxgまでのデコードが終了すれば、ビデオビットストリーム0の途中でデコード処理を中断し、次に処理対象を切り替えてビデオビットストリーム1のデコードを行う。デコード結果はセレクタSL21を切り替えて、ビデオデータバッファ10710v,10711vにそれぞれ出力する。この切り替えに先だってビデオビットストリーム0の以降の処理に用いる情報を保存し、再度ビデオビットストリーム0を中断した位置からデコード処理を再開する際にこの待避した情報を読み込む必要がある。
【0035】
このときの情報を保存するための回路がビデオデコード状態保持回路1020v,1021v,1022vである。保存する情報の例としては、ヘッダ情報やビデオストリームをデコード中の状態、即ち、回路内の状態遷移やメモリ内容などがある。今ここで、デコード対象のビデオビットストリームがMPEG2に準拠したものであるとすると、回路の状態遷移等を除いて保存しなければならない情報の例としては、MPEG2フォーマットのシンタックス上に現れる情報(Qmatrix情報や映像がプログレッシブであるか否かの情報、どの順序でDCT係数が符号化されているかを示す情報等)やシンタックス上に現れない情報(DCTのDC成分の予測符号化のために保持した情報や動きベクトルの予測符号化のために保持した情報、フレーム間予測に用いる参照フレームがいずれであるかを示す情報等)がある。
【0036】
そして、例えば図17に示すデコード中断時点dr0,デコード再開時点dr1では、ビデオビットストリーム0のデコード状態をビデオデコード状態保持回路1020vに保存した後、セレクタSL30を切り替えビデオデコード状態保持回路1021vから先のビデオビットストリーム1のデコード状態を復元して処理をビデオビットストリーム1に移行する。以上の処理を繰り返して複数のビデオビットストリームを処理単位時間内にデコードすることで、1つのデコード回路で複数のビデオビットストリームの同時デコードを行うことが可能になる。
【0037】
図18はこれら一連の処理を示すフローチャートである(請求項12,23,34に対応)。まず、フレームメモリ107よりビットストリームデータを読み込む(ステップS101参照)。次に、このビットストリームデータをデコード回路103によりデコードし(ステップS102参照)、ビデオストリームの途中のスライスの終端等、デコードを中断すべき位置に到達するまで、処理を続ける(ステップS103参照)。このデコードを中断すべき位置に到達すると、デコード状態保持回路102に状態を保持し(ステップS104参照)、デコードすべきビットストリームを切り換える(ステップS105参照)。この時、デコード対象であるビットストリームの各符号化単位の全てのデコードが完了しているか否かを判定し、完了していなければ(ステップS106参照)、切り換えが一巡以上しているか否かを判定する(ステップS107参照)。一巡以上していれば、デコード状態保持回路102に保持しているデコードの状態をデコード回路103に戻し(ステップS108参照)、フレームメモリ107のアドレスをデコード処理を中断した位置に戻し(ステップS109参照)、ステップS101に戻る。これに対し、切り換えが一巡以上に達していなければ、ステップS108,S109をスキップしてステップS101に戻る。
【0038】
また、処理の切り替えをビデオストリームの途中では行わず、図20のように次のビデオストリームのヘッダとの境界部分でデコードの中断(切り替え)を行えば、この切り替え箇所dpxgではビデオストリーム自体については1つの処理単位が完了しているため、ビデオデコード状態保持回路にて保存すべき情報量を削減することができる。図20ではビデオストリーム終了後の時点dr0と次のヘッダの開始前の時点dr1との間でデコード処理を切り替えているが、ビデオストリームと次のヘッダを連続して処理し、次のヘッダと次のビデオストリームの間で処理を切り替えてもよい。この場合、次のビデオストリームのヘッダ情報が予め得られるので、次のビデオストリームのデコード開始前にデコードのための前処理を行うことが可能になる。
【0039】
また、上記では回路実装的な観点から説明したが、例えば図19に示すようなDSP等によるソフトウェア実装を行った場合、ビデオデコード状態保持回路はDSP200内部のメモリ202で実現可能であり、その場合、状態の退避・復帰処理はポインタ(図示せず)が指示するメモリのアドレスを変更することで実現可能となる。但し、DSP内部にデコードのためのハードウェアアクセラレータを搭載している場合、その構成によってはハードウェアアクセラレータ部分の状態退避・復帰処理が別途必要になる。
【0040】
なお、図19において、201はプログラムメモリ、203はDMA,外部メモリインターフェースユニット、204はタイマ,シリアルポート、2051は制御レジスタ、2052は制御ロジック、2053は割り込み回路、2054はプログラムフェッチ、2055は命令ディスパッチ、2056は命令デコード、2057はレジスタファイルA、2058はレジスタファイルB、2059は命令実行ユニットA、2060は命令実行ユニットBである。
【0041】
また更に、ビデオデコード状態保持回路をDSP内部のメモリのみで実現するのではなく、一部あるいはすべてをフレームメモリ内に確保した領域で実現することも可能である。但し、処理時間的にフレームメモリへのアクセスはDSP内部のメモリへのアクセスに比べ多くの時間を必要とするので、処理時間が増大しても支障をきたさないのであれば、DSP内部に確保するデコード状態保持用のメモリ容量を削減することが可能である。
【0042】
また更に、ソフトウェア実装の場合、オーディオデコード処理についてもビデオデコード処理と同様に、オーディオの符号化単位の処理時間内に対象となる複数のチャネルのデコードを完了することで、デコード回路はビデオデコード回路とオーディオデコード回路とに分離することなく1つの回路で実装し、オーディオ・ビデオを複数同時に復号可能となる。但し、符号化単位の違いからオーディオとビデオのデコード処理の管理(オーディオの処理対象チャネル切り替えとビデオの処理対象チャネル切り替えに関する管理)は分離して行い、オーディオ・ビデオ間の処理の切り替えは例えばビデオデコード処理中でハードウェアアクセラレータの処理完了待ちの間にオーディオデコード処理を行うなどビデオデコード処理の待機中の期間に行わせる、などにより実現する。
【0043】
[出力部]
次にデコード結果の出力にかかわるフレームメモリ、出力制御回路、システム制御回路の構成例を図21に示す。前述のオーディオデコード回路およびビデオデコード回路によりデコードした結果がそれぞれオーディオデータバッファ10710a,10711a,10712a,・・・、ビデオデータバッファ10710v,10711v,10712v,・・・に格納されており、これらを如何に出力するかを制御する。
【0044】
オーディオ出力生成回路1061はシステム制御回路109の指示に基づいてオーディオデータバッファ10710a,10711a,10712a,・・・の出力を制御し、オーディオD/A変換回路1101a,1102a,1103a,・・・からオーディオ出力a1,a2,a3,・・・を、オーディオデータ信号変換回路11011a,11012a,11013a,・・・からデジタルオーディオ出力a11,a12,a13,・・・をそれぞれ出力する。
【0045】
このとき図21ではシステム制御回路109の指示に基づいてオーディオD/A変換回路1101a,1102a,1103a,・・・、オーディオデータ信号変換回路11011a,11012a,11013a,・・・、が動作しているが、これに代えてオーディオ出力生成回路1061からの指示で動作してもよい。
【0046】
図22はこれら一連の処理を示す。オーディオ出力生成回路1061は、システム制御回路109からの指示がオーディオデータバッファ(1070aないし1072aのいずれか)に対するものであれば(ステップS201参照)、オーディオデータバッファ(1070aないし1072aのいずれか)からオーディオデータを取得し(ステップS202参照)、そうでなければシステム制御回路109またはデコード回路103により、例えば無音用のデータ等の所定のオーディオデータを生成する(ステップS203参照)。これを全てのチャネルについて繰り返し(ステップS204参照)、取得したオーディオデータまたは生成した所定のオーディオデータに基づきデジタル信号処理を行ってオーディオ出力を生成し、オーディオD/A変換回路1101aないし1103aおよびオーディオ信号変換回路11011aないし11013aよりそれぞれオーディオ出力およびデジタルオーディオ出力を得る(ステップS205参照)。
【0047】
ビデオ出力制御回路1062は、システム制御回路109の指示に基づいてビデオデータバッファ10710v,10711v,10712v,・・・およびオンスクリーンディスプレイ用領域OSD0 o0,OSD 1 o1,・・・、静止画用領域still0 s0,still1 s1,・・・から出力映像を生成し、出画バッファ1077に出力する。出画バッファ1077に格納した映像をビデオ出力生成回路1063はシステム制御回路109に基づいてビデオD/A変換回路1101v,1102v,1103v,…およびビデオデータ信号変換回路11011v,11012v,11013v,…に出力し、ビデオD/A変換回路1101v,1102v,1103v,…およびビデオデータ信号変換回路11011v,11012v,11013v,…からはそれぞれビデオ出力v1,v2,v3,…、デジタルビデオ出力v11,v12,v13,…、を出力する。
【0048】
図23はこれら一連の処理を示す。
ビデオ制御回路1062は、システム制御回路109からの指示がビデオデータバッファ(1070vないし1072vのいずれか)に対するものであれば(ステップS301参照)、ビデオデータバッファ(1070vないし1072vのいずれか)からビデオデータを取得し(ステップS302参照)、そうでなければシステム制御回路109またはデコード回路103により例えばブルースクリーン用等の、所定のビデオデータを生成する(ステップS303参照)。これを全てのチャネルについて繰り返す(ステップS304参照)。
【0049】
また、出力制御回路1062は、システム制御回路109からの指示がOSDに対するものであれば(ステップS305参照)、OSD領域(o0,o1のいずれか)からビデオデータを取得し(ステップS306参照)、そうでなければシステム制御回路109またはデコード回路103により所定のビデオデータを生成する(ステップS307参照)。これを全てのチャネルについて繰り返す(ステップS308参照)。
【0050】
さらに、出力制御回路1062は、システム制御回路109からの指示がstillに対するものであれば(ステップS309参照)、still領域(s0,s1のいずれか)からビデオデータを取得し(ステップS310参照)、そうでなければシステム制御回路109またはデコード回路103により所定のビデオデータを生成する(ステップS311参照)。これを全てのチャネルについて繰り返す(ステップS312参照)。
【0051】
そして、このようにして得たビデオデータを一旦出画バッファ1077に蓄積した後、デジタル信号処理を行ってビデオ出力を生成し、ビデオD/A変換回路1101vないし1103vおよびビデオ信号変換回路11011vないし11013vよりそれぞれビデオ出力およびデジタルビデオ出力を得る(ステップS313参照)。
【0052】
図21の説明では複数のオーディオビットストリーム、ビデオビットストリームをデコードした結果をそれぞれ独立して出力しているが、要求に応じて構成を変更することが可能である。
図21の場合は、1台のデジタルチューナを複数の出力デバイス(テレビ等)で共用し、出力デバイスごとに異なる映像・音声を視聴する場合に有効であるが、例えば、1台の出力デバイスに複数の異なる映像を合成して1つの映像として出力する場合などは、出力制御回路にて映像の合成や重ね合わせの処理を行いまた出力する音声の合成や選択等を行って、出力を1系統にすることでオーディオ・ビデオ出力回路の簡略化が可能である。
【0053】
また、デコードした映像・音声を選択して1台の出力デバイスに出力している場合、同時にデコードしている映像・音声間であれば高速に出力を切り替えることが可能となる。これは通常、出力を切り替える場合には、実際に出力が得られるまでにデコード処理(ビットストリームの選択、バッファへの蓄積、デコード等)の時間を要するためである。
ここまでの説明では複数の映像・音声をデコードする場合について述べたが、映像のみのデコード、音声のみのデコードであっても、また映像と音声のデコードする数が異なってもよい。
【0054】
以上、本装置で同時に複数の映像・音声をデコードする場合の動作について説明したが、1つの映像と音声をデコードする場合は図24、図25、図26のようになる。
このとき、複数の映像・音声をデコードする場合と異なるのはフレームメモリ内に確保する各バッファ(オーディオビットストリームバッファH、ビデオビットストリームバッファH、オーディオデータバッファH、ビデオデータバッファH)に関してである。このように、複数の映像・音声をデコードする場合と1つの映像・音声をデコードする場合でバッファの確保の仕方が異なるのは1つの映像・音声で必要とするバッファ容量が大きい場合に対応するためである。例えば複数の映像を復号する場合に扱える映像の最大サイズはNTSC程度の映像までで、1つの映像を復号する場合に扱える映像の最大サイズはハイビジョン程度の映像まで、といったことが考えられる。
【0055】
このことから、複数の映像を復号する処理と、より大きなサイズの1つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更となる。このときの配置変更により出画に関するバッファへの影響が考えられるので、乱れた出画を抑制するために、配置変更後正常な出力が可能になるまで背景色を出力する、あるいは配置変更の影響を受けない出画用バッファを設け、出画用バッファの内容を出画することで不正な出力を抑制する等が考えられる(請求項4に対応)。
【0056】
これは、複数の符号化データを入力した場合、即ち、複数の符号化データが入力される状況から単一の符号化データが入力される状況に推移した場合あるいは単一の符号化データが入力される状況から複数の符号化データが入力される状況に推移した場合について述べているが、メモリ内のデコード結果の配置が変更になる場合であれば、符号化データが単一の場合であっても、同様の処理を適用することが可能である。
【0057】
例えば、入力の符号化データの内容がHDTVからSDTVを符号化したものに推移する場合やその逆の場合など、符号化映像のサイズに変更が伴う場合が挙げられる。
このとき、HDTV用のメモリ内の配置をそのままSDTVの復号に利用することも可能であるが、SDTV用の配置を別途設けることで、機能を向上することが可能となる。
具体的には、メモリ内の配置を変更することによりメモリの効率的な利用が可能となり、SDTV復号時にはHDTVの復号時に比べ多くの空き領域を、例えば追加のOSD(On Screen Display)や静止画の処理等、別の処理のために使用することができる。
【0058】
例えば、図27(a)に示すように、HDTV放送用の領域107aの一部にNTSC用領域107bを設ける場合は、OSD(On Screen Display)用領域として1つの領域107cのみしか持つことができないが、図27(b)に示すように、HDTV放送用領域を設けることなくNTSC用領域107dのみを配置すれば、OSD用領域として2つの領域107e,107fを持つことができ、機能を向上することができる。
【0059】
このような、メモリ内の配置の変更は、例えば、
i) 図1のビットストリーム出力回路108が、ビットストリームを解析し、その解析結果をシステム制御部109に通知してフレームメモリ107における記憶領域を切り替える。
ii) 図1のシステム制御部109がビットストリームを解析して、ビットストリームの種類を判断し、フレームメモリ107における記憶領域を切り替える。
iii) システム制御部109が、ビットストリームとは別に存在する、放送規格に定められた信号情報、すなわち、現在の放送がHDTVかSDTVであるか等を示す情報、に基づいて全体の動作を切り替える。
iv) システム制御部109がデコード回路103の復号結果、特にヘッダ情報に基づいて切り替える。
のいずれかにより実現できる。
【0060】
このように、符号化データの特性に応じてメモリ内の配置を変更することが考えられるが、配置が変更になる場合には、出画の乱れを抑制するために、例えばブルースクリーンを出力する等の処理を行う。このブルースクリーンの出力は、例えば、出力制御回路106内で青を示す所定の値の信号を生成してもよいし、システム制御回路109によりフレームメモリ107の1画面の領域全面に青色を示す信号を書き込むことで実現できる。
なお、ここで、SDTV用の配置は、上述のようにSDTV専用線の領域を別途設けた配置、あるいは、複数の符号化データを復号する場合に設ける複数の領域の配置のうちの1つを使用する配置、のいずれであってもよい。
以上が本装置の基本的な動作である。以降、本装置の動作上で特に注目すべき点(出画制御・デコード順制御・デコード期間管理・デコード再開処理・デコード処理最適化)を述べる。
【0061】
[出画制御]
まず、出力制御回路において行う出画映像決定に関して図28ないし図38の例を用いて説明する。図28は1つの映像に対して出画する映像を決定dし、その映像opを出画する場合の処理について時間軸に対応して記したものであり、図34は3つの映像を復号して出画する場合を示している。いずれも各ビデオブランキングblgの終了と開始の間で出画を行い、その出画に用いる映像をその出画開始までに決定する。この出画映像の決定は、本来出画すべき映像が正常に復号されているか、また復号した映像が出画するタイミングにあるか(後述)等に基づいて行う。図35は出画タイミングに基づいて出画する映像を決定する場合について1つの映像の例と3つの映像の例を示している。以下ではまず1つの映像の例について説明し、その後3つの映像の例について説明する。
【0062】
映像が1つの場合には、図29に示すように、ビットストリーム中に記述された値を基に回路内で生成した時間指標を読み込み(ステップS401,S402参照)、その値から次の出画タイミングの時間指標を算出する(ステップS403参照)。この値と出画順にある映像に対応したビットストリーム中に記述があった出画の時間指標とを比較し(ステップS404参照)、出画すべき範囲内であれば(ステップS405参照)出画順にある映像を選択する(ステップS406参照)。出画順にある映像が出画に適していない場合には以下のスキップ処理あるいはフリーズ処理のうちのいずれかを行う(ステップS407参照)。
【0063】
1.スキップ処理
図30に示すように、出画順にある映像の出画の時間指標が出画タイミングの時間指標と比較して、出画すべき範囲内でなく、小さい場合は(ステップS501参照)、この映像は出画せずに出画順でより以降の映像の出画を試みる処理を行う(ステップS502参照)。もし既に出画に適した映像がデコード済みであれば(ステップS503参照)その映像を出画し(ステップS504参照)、デコード済みの映像の中に出画に適した映像がない場合には、出画に適した映像をデコードするまでデコードを可能なだけ先行する処理を行う(ステップS505参照)。ただし、デコードが出画に間に合わない場合にはデコード済みの映像のうちいずれかを選択して出画するかあるいはデコードした映像を使用せず背景色を出力し、以降のデコード処理に関しては引き続き出画に適した映像をデコードするまで処理を可能なだけ先行する。このとき処理を先行させるために必要でない映像はデコードせずに読み飛ばしてもよい。
【0064】
2.フリーズ処理
図31に示すように、出画順にある映像の出画の時間指標が出画タイミングの時間指標と比較して、出画すべき範囲内でなく、大きい場合は(ステップS601参照)、出画に適したデコード済みの映像の有無を判定し(ステップS602参照)、出画に適したデコード済みの映像があればその映像を選択するか(ステップS603参照)、無ければデコード済みの映像のうち最も出画の時間指標が近い映像を選択し、適切な時間指標になるまで同映像の選択を続ける(ステップS604参照)。このときデコード処理も中断するかあるいは可能なだけデコードを先行した後デコード処理を中断する。ここで、デコードが先行可能な範囲はまだ出画していないデコード済みの映像を格納しているバッファと今後のデコード処理で参照の可能性がある映像を格納しているバッファを除いたビデオデータバッファに対してデコードした映像を格納可能な範囲である。
【0065】
以上の時間指標の比較に関しては、各映像の出画の時間指標が信頼できる場合についてである。各映像の出画の時間指標に誤りが発生する可能性がある場合には、別途誤りに対する耐性を設ける必要がある。例えば、連続する出画の時間指標は基本的に大きく外れた値はとらないので、例えば、半日程度の大きく外れた値は、図32に示すように信用せず(ステップS701参照)、既に取得している値から予測する(ステップS703参照)、あるいは大きく外れた値が連続しかつそれらの相互の値が大きく外れていない場合には(ステップS702参照)、出画の時間指標の基準が変更されたと見なして、これらの時間指標を信頼できる値として採用する(ステップS704参照)。なお、時間情報の誤りは、例えば、出画対象となるか否かを判定した映像の時間情報と、現在出画しようとする映像の時間情報との差分を求め、差分が1時間等の一定値以上である場合には誤りであると判定する。
【0066】
また、時間指標の読み込みについては図36に示したように特定のタイミングTで行うことが望ましい。これは読み込みのタイミングが一定でない場合、時間指標を読み込むタイミングと次の出画タイミングまでの時間を把握しなければならず、次の出画タイミングの時間指標を算出する手順が複雑になる、あるいは算出した時間指標が適切でないことが考えられるためである。従って、時間指標の読み込みは例えばビデオブランキングの開始あるいは終了時点等の出画タイミングと一定の時間差にある部分で行うことにより適切な処理を行うことが可能である。またソフトウェアにより実装する場合、出画タイミングと一定の時間差にある部分で割り込みを発生させるなどして時間指標の読み込みルーチンを呼び出せばよい。
【0067】
次に映像が3つの場合について説明する。映像が3つの場合でも、各映像について映像が1つの場合とほぼ同様の処理を行えばよい。但し、時間指標の読み込みについては注意が必要となる。図35は時間指標の読み込みについても、映像が1つの場合の映像pと3つの映像p1,p2,p3とで同様に行う処理を示している。この場合各々の映像の出画決定処理で時間指標が読み込まれるため、各映像で出画タイミングが異なることとなる。ところが図35に示すように、3つの映像を1つの出画デバイスに出力する場合、実際の出画タイミングは各映像で共通となるため、各映像の出画映像決定処理で求めた出画タイミングは不適切なものとなる。従って、映像が3つの場合には、時間指標の読み込みについては各映像の出画映像決定処理で行うのではなく、図36、図37に示すように映像が1つの場合と同様に特定の時間Tに読み込み(図33のステップS801参照)、各映像の出画映像決定処理d0,d1,d2では予めメモリに読み込んだ時間指標を採用することにより(図33のステップS802参照)出力の制御を、適切な処理で行うことが可能である。このことは特に、同時に複数のアングルから撮影して生成した符号化データを復号して1つの映像に合成して出画する場合に有効である。
【0068】
[デコード順制御]
次に、図38ないし図43を用いて3つの映像をデコードする場合の処理時間に関して説明する。
図38は3つの480iの映像をデコードした場合の処理時間を示す例である。各映像はフレーム単位で符号化されているとする。従来例と同様に各映像のデコード処理がフレームの時間内に完了すればよく、図38は正常にデコードが行われている状況をあらわす。
【0069】
図39、図40は3つの映像のうち2つが480iの映像で、1つが480p、即ち、走査線480本のプログレッシブの映像、をデコードした場合を表わしている。いずれの映像もフレームを単位として符号化されているとすると、フレームの期間内にデコードを完了すればよい。但し、480iではフレームの期間は2Vの期間に相当し、480pでは1V期間に相当する。従って、480pの映像は480iの半分の時間内にデコードを完了しなければならない。図39は正常にデコードが行われている場合を表しているが、図40の状況では480pの映像のデコードを行っているチャネル2の復号処理がフレームの期間内に完了していない。このことから、複数の符号化されたデータを復号する場合、デコード処理を早期に完了する必要があるものがあるか否かを判定し(図41のステップS901参照)、早期に完了する必要があるものを優先的に処理することにより(図41のステップS902,S903参照)、必要とする処理能力を削減可能であるといえる。なお、デコード順序を早期に完了する必要があるか否かの判定には、出画順やフレームの期間がどれくらいであるかを示す情報、およびデコードを行う時間指標などから行う。また、デコード処理を早期に完了する必要がない場合、デコード処理は通常の所定の順序、即ち、復号処理の種類を単位として行う(図41のステップS904参照)。これにより、複数の符号化データを1つのデコード回路で復号することがより少ない資源で可能となる。
【0070】
また、ここではデコードの順序を、映像が早期にデコードする必要があるか否かに基づいて決定する方法について述べたが、ユーザ情報設定回路からシステム制御回路に映像の優先順を設定し、この優先順に基づいて決定してもよい。これにより視聴者によりいずれの符号化データを優先して復号するかが選択可能になる。また放送の運用規定で放送時のチャネルによる優先順位づけ(ハイビジョンの放送と複数のNTSCの放送が連続的に放送された場合に、複数のNTSCチャネルのうちデフォルトで選択して復号を継続するものを優先順の先頭とする)に基づいてシステム制御回路に映像の優先順を設定することも可能である。また更に、ビットストリーム中にチャネルの優先順が記載されている場合についても、ビットストリーム出力回路により優先順を抽出し、システム制御回路により映像の優先順を設定することで優先順に基づいた複数の映像の復号が可能である。
【0071】
[デコード期間管理]
図42は3つの480iの映像をデコードし、うち1つのデコードが正常でない場合をあらわしている。1つの映像のデコードがフレームの期間内に完了しなかった場合、他の映像のデコードにも影響が波及することがある。例えばデコード順で3つの映像のうち、チャネル0の復号処理dp0のように最初の映像で処理が所定の期間内に完了しなかった場合、チャネル1,2の復号処理dp1,dp2のように残りの2つの映像が仮に通常にデコードできる状態にあったとしても、結果として所定の期間内にデコードを完了することができず、すべての映像がデコードできなかったことになる。これを改善するものが図43である。1つの映像のデコード処理に通常よりも多くの時間を要する場合を記している。
【0072】
図44はこの場合の一連の処理を示す。デコード処理(ステップS1001参照)が所定の期間内に終了しない場合(ステップS1002参照)、強制終了処理fcによりデコードを強制終了し(ステップS1003参照)、デコード順で最後のチャネルの処理を完了していれば(ステップS1004参照)、デコード回路の状態を退避し(ステップS1006参照)他のチャネルに処理を移す(ステップS1004参照)(請求項1,12,23,34に対応)。一方、デコード順で最後のチャネルの処理を完了していなければ(ステップS1004参照)、デコード回路の状態を退避・復元し(ステップS1005参照)、当初のデコード処理(ステップS1001)に戻る。
【0073】
この処理では、他の映像のデコードに影響を与えないために、デコードする各映像に対してそれぞれデコードに許容する最大の時間を設定し、この時間内にデコードが完了しない場合には強制的にデコード処理を終了することで他の映像のデコードへの影響を抑制する。この処理は、例えば、タイマなどを利用することにより実現が可能である。これにより、1つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となり、正常な映像のデコードは他の映像のデコードによる影響を受けることなくデコードが可能となる。
【0074】
[デコード再開処理]
一方、強制的にデコード処理を終了した映像に関してはデコードの復帰処理を行う。
図45に示すように、デコード中の映像に関して完全にデコード回路の状態を退避・復元可能であれば(ステップS1101参照)、デコード処理の強制終了を含む各チャネルのデコード処理後に、強制終了を行ったチャネルのデコードを再度試みるために、対象となるチャネルのデコード順序を決定し(ステップS1102参照)デコードを行うチャネルのデコード回路の状態を復元し(ステップS1103参照)、デコード処理を行う(ステップS1104参照)。その際、許容される最大限の時間(例えばフレーム期間の最大)までデコード処理に費やすことができ(ステップS1105参照)、正常な復号化が行えなかった符号化データに関しても復号化を再開することが可能になる。これに対し許容される最大限の時間に到達せずデコード処理を完了した場合には、デコード回路の状態を退避してデコード対象のチャネルを切り替える(ステップS1106参照)。これらステップS1103ないしS1106の処理を繰り返すことにより、全てのチャネルについてデコードを行うことができる(ステップS1107参照)。またデコードの再開処理を行う際に、複数の映像で強制的なデコード処理の終了を実施していた場合、デコードの再開処理を行うチャネルの順番の決定はもとのデコード順を優先するあるいはバッファ残量等の他の要因を考慮してデコード可能性を判断して決定した優先順位に基づくなどにより行う。但し、強制的なデコード処理の終了を行った場合は、次に示すデコード処理の再開位置の変更と同じ処理を行う。
【0075】
これに対し、デコード中の映像に関しての状態の退避・復元をサポートしていない場合(ステップS1101参照)、あるいは再度デコードを行ってもデコード処理が正常に終了しなかった場合、デコード対象の映像は破棄することになる。またこの場合、デコードの再開処理が必要になる(ステップS1108参照)。破棄した映像が後の映像を復号する際に参照されるか否かによって、デコード処理を再開する位置を変更する(請求項8に対応)。これは復号化で参照する映像が存在しない場合、適切な復号化ができないために乱れた映像を出画する可能性があるためである。まず破棄した映像が後のデコードで参照される可能性がない場合、デコード処理の再開は直後の映像から可能である。他方破棄した映像が後のデコードで参照される可能性がある場合、画面内符号化の映像の位置あるいは映像シーケンスの先頭をあらわす位置からデコード処理を再開する。ここでは破棄した映像の種類に基づいてデコードの再開する位置を変更する方法について述べたが、要望に応じて変更することが望ましい。例えば画面内符号化の映像や映像シーケンスの先頭が頻繁に挿入されている場合には、デコード処理の再開が直後の映像から可能でありながら、画面内符号化の映像や映像シーケンスの先頭の位置からデコードを再開しても、視聴者にとってこの時間差は大した問題では無いと考えられる。このような場合には処理を簡略化し、破棄した映像の種類によらず、デコード処理の再開は常に画面内符号化の映像の位置や映像シーケンスの先頭の位置とすることができる。
【0076】
次にデコードを開始・再開する場合のデコード開始位置の検索について説明する。図46が典型的なデコード開始の例である。まず、図47に示すように、デコードを開始する映像を決定して、その映像に対応したヘッダ情報をヘッダサーチhs処理により検索する(ステップS1201参照)。対象となる映像のヘッダ情報を発見した段階でデコードを開始する(ステップS1202参照)。これが基本的な考え方であるが、図48を用いてもう少し具体的な例で説明を行う。デコード開始の対象となるヘッダの種類としてはレベル0,1,2が存在するとし、現状ではデコーダが読み込む位置cspはヘッダ0で、ビデオビットストリームバッファにはビデオストリーム1の途中までが格納されているとする。このとき、図48に示すように、デコードを開始する対象をレベル0のヘッダとすると、レベル0のヘッダとして最初に出現するヘッダ3の先頭dspからデコードを開始することになる。このときの動作は図49に示す通り、まず、次のヘッダを検出し(ステップS1301参照)、このヘッダが検出単位に対するヘッダか否かを判断する(ステップS1302参照)。この判断が否であればステップS1301に戻る。一方、検出単位に対するヘッダであればデコード対象となるヘッダか否かを判断する(ステップS1303参照)。検出単位に対するヘッダであればデコード処理を行う(ステップS1304参照)が、否であれば連続的に検出処理を実施するか否かを判断する(ステップS1305参照)。ここで、連続的に検出処理を行うのであれば、ステップS1301に戻る。
【0077】
ところで、図48に示すように、ビデオストリームバッファに格納されている末尾の位置lpがビデオストリーム1の途中であるとすると、ヘッダ3が見つかるまで検索を続けた場合、まだビデオビットストリームバッファに格納されていないデータに対しても連続的に検索処理を行うことになる。具体的には、通常ビットストリーム出力回路からのデータ供給よりも、デコード回路による検索処理のデータ消費の方が速いので、ビデオビットストリームバッファに格納されていないデータのほとんどに対して検索処理はデータの供給待ちとなる。即ち、この期間Aでは、ヘッダサーチでストリームを連続的に読み込んだ場合、アンダーフローの状態でサーチを続けることになる。この結果、検索処理を行い、対象となるヘッダを発見後に続けてデコード処理を行う場合、予定した期間内にデコード処理が完了することは保証できない。即ち、期間Bでは、必ずしも所定の期間内にビデオストリーム3のデコードが完了するとは限らない。これを改善する方法として、所定の期間内にデコード処理が完了しない場合でもデコードを継続する、また(不具合が無い限り)検出処理を連続的に行わず、図49に示すように、デコード処理が予定の期間内に完了可能であることを保証する(ステップS1306参照)、などの方法がある。また、デコード対象となるヘッダを検出し、1つの符号化単位を復号した後は通常のデコード動作となる。ただし、デコード処理が完了しない場合でもデコードを継続する方法では複数の映像をデコードする場合には前述したようにデコードに許容する最大の時間を設けるため機能の整合がとれない。デコード処理が予定の期間内に完了可能であることを保証する方法(ステップS1306参照)の例としてはヘッダサーチを連続的に行わずに映像単位で行うなどがある(図50参照)(請求項9に対応)。フレームを単位とする映像の場合にはフレーム期間に1度ヘッダサーチを行う。1フレームに2つのヘッダが存在する場合には、1度のヘッダサーチで2つのヘッダを読み込む。デコードすべき時刻等に基づいてヘッダサーチを実施するタイミングを決定するが、1フレーム期間に1回に限定する等、特定の条件下では簡略化が可能である。このとき映像単位がフレームで符号化単位がフィールドである場合には、図51に示すように、検索対象でない映像に対しては1度のヘッダサーチで2つのヘッダを読み飛ばすことになる(ステップS1401参照)。また、ビデオビットストリーム中にデコード映像を繰り返し表示する指示があった場合は、出画順で表示を繰り返すことを考慮して、ヘッダサーチの実施間隔を制御する。また符号化した映像に出画の時間指標だけでなくデコードタイミングの時間指標が付随する場合には、ヘッダサーチのタイミングをこれに同期させてもよく、これにより、適切なタイミングで復号化を開始することが可能となる。またビデオビットストリーム中にバッファに関する情報が適切に付加されている場合には、バッファに関する情報に基づいて算出したバッファ残量分のビデオビットストリームがビデオビットストリームバッファに入力されるタイミングでデコードを再開してもよい。またこの場合はデコード開始位置の検索を従来の方法で行うことができる。
【0078】
[デコード処理最適化]
次に、デコード回路の状態退避・復帰とソフトウェア実装時のプログラムロードの観点からデコードの処理順について説明する。図52はこれまでの複数映像のデコード処理に加え、各映像のデコードを制御する部分dcを追記したものである。これに更にソフトウェア実装時のプログラムのロードを記入したものが図53になる。この手順は図54に示すように、デコード回路の状態待避を復帰するタイミングか否かを判定し(ステップS1501参照)、復帰するタイミングTRであればロード動作cplにより制御プログラムをロードし(ステップS1502参照)、デコード回路の状態復帰を行う(ステップS1503参照)。次いで、デコード制御を実施し(ステップS1504参照)、ロード動作dplによりデコードプログラムをロードして(ステップS1505参照)、実際のデコード処理を行った後(ステップS1506参照)、デコードするチャネルを切り換える(ステップS1507参照)。これより、デコード回路の状態退避・復帰の観点からは、デコード処理順としてデコードの制御と実際のデコード処理を連続して行うことで処理を削減することができる。ところが、ソフトウェア実装時のプログラムロードの観点からは、このデコード処理順は適しているとはいえない。次に、ソフトウェア実装時について述べる。
【0079】
デコード回路をDSPなどにより実現する場合、デコード処理はプログラムにより実装されることになり、プログラムを格納する内部のメモリ容量を削減することが望まれる。映像のデコードをプログラムにより実装した場合、実際にデコードの処理を行う部分とデコードの処理を制御する部分等、復号処理の種類によりプログラムの分離が可能な場合が多い。これを利用して、各分離したプログラムを必要なときにロードすることにより格納するメモリ量を削減することができる。このときプログラムロードの観点から改善したデコード処理順が図55である。この場合プログラムロードの観点からは処理が削減されているが、デコード回路の状態退避・復帰の観点では処理が増えている。
【0080】
このように、状態退避・復帰に関わる処理量とプログラムロードの処理量はトレードオフの関係にあり、それぞれの処理に要する性能によっていずれを優先するかを選択することが望ましい。またデコード処理を行うDSPを設計する場合には、状態退避・復帰用のメモリおよびプログラム用のメモリをどの程度の容量まで内蔵するか等を性能の観点から最適化を行うことができる。
なお、ここではプログラムをデコード制御と実際のデコード処理の2つに分離する例をあげたが、起動時の初期化部分や、エラー時の処理等、プログラムの分離が可能であればどのように分離してもよい。例えば、通常のデコードでは発生頻度が少ないことが期待されるエラーやスキップ等の処理を行うプログラムを分離し、エラー等の発生時に別途ロードすることで、さらにプログラムサイズをコンパクトにすることができる。
【0081】
【発明の効果】
以上のように、本発明の復号装置によれば、複数の符号化データを入力し、復号して出力するデコード部と、前記デコード部の状態を保持するデコード状態保持部とを備え、前記デコード部は、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定する設定部を有し、前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持されたデコード部の状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号する際に、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号結果を前記選択した符号化データに対応した出力先に出力するようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、1つのデコード部により複数の符号化データをみかけ上同時に復号することが可能となるとともに、デコード処理が所定の時間内に終了しない場合はデコードを強制終了することができ、1つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【0082】
また、本発明の復号装置によれば、請求項1記載の復号装置において、前記デコード部は、各々の符号化データに記された情報に基づいて、復号結果を出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化するようにしたので、MPEG2におけるスライスのヘッダ等、所定のタイミングで処理の対象となるビデオストリームを切り替えることができ、復号する順序を適切にすることで、処理性能が低い場合であっても1つのデコード回路で複数の符号化データを同時にデコードでき、1つのデコード部により複数の符号化データをみかけ上同時に復号することが、より低い処理性能で実現可能となる。
【0083】
また、本発明の復号装置によれば、請求項1記載の復号装置において、各々の符号化データの復号結果を格納するメモリと、いずれの符号化データを復号するかを指示するシステム制御部と、前記メモリに格納した復号結果を出力する出力制御部とを備え、前記システム制御部の指示に基づいて復号する符号化データを変更し、前記出力制御部は、前記変 更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行うようにしたので、例えば複数の映像を復号する処理と、より大きなサイズの1つの映像を復号する処理が連続した場合、フレームメモリ内部の各バッファの配置が変更になり、出画に関するバッファへの影響が考えられるので、配置変更後、正常な出力が可能になるまで背景色を出力することにより、復号対象を変更した場合にも不正な出力を抑制することが可能となる。
【0084】
また、本発明の復号装置によれば、請求項1記載の復号装置において、前記デコード部は、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定するようにしたので、復号化で参照する映像が存在しない場合に適切な復号化ができないために乱れた映像を出画する可能性があり、廃棄した映像が後の映像を復号する際に参照されるか否かによってデコード処理を再開する位置を変更するようにしたので、正常な復号化が行えなかった符号化データに関しても、復号化を再開することが可能となる。
【0085】
また、本発明の復号装置によれば、請求項1記載の復号装置において、前記デコード部は、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行うようにしたので、ヘッダーサーチを連続的に行わずに映像単位で行うことにより、復号化の開始を適切に行うことが可能となる。
【0086】
また、本発明の復号方法によれば、複数の符号化データを入力し、復号して出力する復号方法において、デコード部の状態をデコード状態保持部に保持するステップと、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定するステップと、前記複数の符号化データから1つを選択するステップと、前記デコード状態保持部に保持された状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号するステップと、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避するステップと、復号された結果を選択された前記符号化データに対応した出力先に出力するステップとを含むようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、1つのデコード処理により複数の符号化データをみかけ上同時に復号することが可能となるとともに、デコード処理が所定の時間内に終了しない場合はデコードを強制終了することができ、1つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【0087】
また、本発明の復号プログラムによれば、コンピュータに復号方法を実行させる復号プログラムにおいて、前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、デコード部の状態をデコード状態保持部に保持し、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定し、前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持された状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号された結果を選択された前記符号化データに対応した出力先に出力するようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、1つのデコード処理により複数の符号化データをみかけ上同時に復号することが可能となるとともに、デコード処理が所定の時間内に終了しない場合はデコードを強制終了することができ、 1つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【0088】
また、本発明の復号プログラム記録媒体によれば、コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、デコード部の状態をデコード状態保持部に保持し、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定し、前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持された状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号された結果を選択された前記符号化データに対応した出力先に出力するようにしたので、デコードすべき複数の符号化データに対し時分割でデコードを行うことが可能となり、1つのデコード部により複数の符号化データをみかけ上同時に復号することが可能となるとともに、デコード処理が所定の時間内に終了しない場合はデコードを強制終了することができ、1つの符号化データの復号処理で不具合が発生した場合でも他の符号化データの復号処理を正常に行うことが可能となる。
【図面の簡単な説明】
【図1】 本発明の同時データ復号装置の構成を示すブロック図である。
【図2】 本発明の同時データ復号装置の入力部分の具体的な構成を示すブロック図である。
【図3】 複数のビットストリームを説明するための図である。
【図4】 複数のビットストリームを分離した結果を説明するための図である。
【図5】 ビットストリーム出力回路の構成例1を示すブロック図である。
【図6】 ビットストリーム出力回路の構成例2を示すブロック図である。
【図7】 ビットストリーム出力回路の構成例2の中で生成されるビットストリームを示す図である。
【図8】 ビットストリームを生成する際の時間情報の修正を示す図である。
【図9】 ビットストリームを生成する際の指示情報の修正を示す図である。
【図10】 ビットストリーム出力回路の構成例3を示すブロック図である。
【図11】 ビットストリーム出力回路の構成例4を示すブロック図である。
【図12】 ビットストリーム出力回路の構成例5を示すブロック図である。
【図13】 ビットストリーム出力回路の構成例6を示すブロック図である。
【図14】 本発明の同時データ復号装置のデコード部分の具体的な構成を示すブロック図である。
【図15】 図14のデコード部分のうちビデオの復号に関する部分のみ抽出した図である。
【図16】 ビデオビットストリームの例を示す図である。
【図17】 複数のビデオビットストリームを1つのデコード回路で時分割して処理する例を示す図である。
【図18】 複数のビデオビットストリームを1つのデコード回路で時分割して処理する場合の処理の流れを表すフローチャートを示す図である。
【図19】 DSPの内部構造を示すブロック図である。
【図20】 図17の時分割するタイミングを変更した例を示す図である。
【図21】 本発明の同時データ復号装置の出力部分の具体的な構成を示すブロック図である。
【図22】 オーディオ出力を生成する場合の処理の流れを表すフローチャートを示す図である。
【図23】 ビデオ出力を生成する場合の処理の流れを表すフローチャートを示す図である。
【図24】 本発明の同時データ復号装置により1つの映像と音声をデコードする場合の入力部分を示すブロック図である。
【図25】 本発明の同時データ復号装置により1つの映像と音声をデコードする場合のデコード部分を示すブロック図である。
【図26】 本発明の同時データ復号装置により1つの映像と音声をデコードする場合の出力部分を示すブロック図である。
【図27】 入力の符号データが変化する場合にメモリ配置を変更する場合の一例を示す図である。
【図28】 1つの映像を出画する場合の処理を示す図である。
【図29】 1つの映像を出画する場合の処理の流れを表すフローチャートを示す図である。
【図30】 スキップ処理の流れを表すフローチャートを示す図である。
【図31】 フリーズ処理の流れを表すフローチャートを示す図である。
【図32】 各映像の出画の時間指標に誤りが発生する可能性がある場合の処理の流れを表すフローチャートを示す図である。
【図33】 映像が複数の場合の時間指標の読み込み動作を表すフローチャートを示す図である。
【図34】 3つの映像を出画する場合の処理を示す図である。
【図35】 出画映像決定タイミングについて説明するための図である。
【図36】 出画映像決定タイミングに用いる時間指標について説明するための図である。
【図37】 図40の時間指標に基づいて出画映像を決定する例を示す図である。
【図38】 3つの480i映像を正常にデコードしている例を示す図である。
【図39】 2つの480i映像と1つの480p映像を正常にデコードしている例を示す図である。
【図40】 2つの480i映像と1つの480p映像を正常にデコードできない例を示す図である。
【図41】 デコードに要する時間が異なる映像をデコードする例を表すフローチャートを示す図である。
【図42】 3つの映像のデコードが正常に行えない例を示す図である。
【図43】 デコードの処理を強制終了させる例を示す図である。
【図44】 複数の映像の中に所定の期間内にデコードを完了することができないものが存在する場合の処理の流れを表すフローチャートを示す図である。
【図45】 デコードの復帰処理の流れを表すフローチャートを示す図である。
【図46】 ヘッダサーチに続けてデコードを行う処理を示す図である。
【図47】 デコード開始位置の検索を表すフローチャートを示す図である
【図48】 ヘッダサーチに続けてデコードを行う処理の詳細を示した図である。
【図49】 デコード開始位置の検索をより具体的に表すフローチャートを示す図である。
【図50】 ヘッダサーチを映像単位に行う例を示した図である。
【図51】 デコード処理が予定の期間内に完了可能であることを保証する手法の一例を表すフローチャートを示す図である。
【図52】 複数映像デコードにおいてデコード制御の処理を明記した図である。
【図53】 複数映像デコードをプログラムロードの観点でみた図である。
【図54】 デコード回路の状態待避を復帰するソフトウエア実装を表すフローチャートを示す図である。
【図55】 複数映像デコードの処理でプログラムロードの処理を削減した図である。
【図56】 従来の復号装置の構成を示すブロック図である。
【図57】 従来の復号装置の具体的な構成を示すブロック図である。
【図58】 1チャネルデコードを正常な処理時間内に完了することを説明するための図である。
【図59】 1チャネルデコードを正常な処理時間内に完了できない場合を説明するための図である。
【符号の説明】
101 デコード回路
102 デコード状態保持回路
103 デコード回路
104 フレームメモリ
105 システム制御回路
106 出力制御回路
107 フレームメモリ
108 ビットストリーム出力回路
109 システム制御回路
110 オーディオ・ビデオ出力回路
111 ユーザ情報設定回路
Claims (8)
- 複数の符号化データを入力し、復号して出力するデコード部と、
前記デコード部の状態を保持するデコード状態保持部とを備え、
前記デコード部は、各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定する設定部を有し、
前記複数の符号化データから1つを選択し、前記デコード状態保持部に保持されたデコード部の状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号する際に、前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、復号結果を前記選択した符号化データに対応した出力先に出力する、
ことを特徴とする復号装置。 - 請求項1記載の復号装置において、
前記デコード部は、各々の符号化データに記された情報に基づいて、復号結果を出力すべき順序を求め、求めた順序に従って符号化データを選択して復号化する、
ことを特徴とする復号装置。 - 請求項1記載の復号装置において、
各々の符号化データの復号結果を格納するメモリと、
いずれの符号化データを復号するかを指示するシステム制御部と、
前記メモリに格納した復号結果を出力する出力制御部とを備え、
前記システム制御部の指示に基づいて復号する符号化データを変更し、
前記出力制御部は、前記変更に伴って前記メモリ中のデコード結果を格納する配置が変更になる場合に、所定の出力を行う、
ことを特徴とする復号装置。 - 請求項1記載の復号装置において、
前記デコード部は、任意の符号化データの符号化単位について正常な復号化が行えなかった場合、同符号化単位の符号化の種類に基づいて復号化を再開する位置を決定する、
ことを特徴とする復号装置。 - 請求項1記載の復号装置において、
前記デコード部は、各符号化データの復号化を開始する位置を検索する際に、符号化データに記された情報に基づいて求めたタイミングで符号化単位ごとに検索を行う、
ことを特徴とする復号装置。 - 複数の符号化データを入力し、復号して出力する復号方法において、
デコード部の状態をデコード状態保持部に保持するステップと、
各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定するステップと、
前記複数の符号化データから1つを選択するステップと、
前記デコード状態保持部に保持された状態のうち、前記選択した符号化データに対応したデコード部の状態に基づいて、前記選択した符号化データを復号するステップと、
前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避するステップと、
復号された結果を選択された前記符号化データに対応した出力先に出力するステップと、
を含むことを特徴とする復号方法。 - コンピュータに復号方法を実行させる復号プログラムにおいて、
前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、
デコード部の状態をデコード状態保持部に保持し、
各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定し、
前記複数の符号化データから1つを選択し、
前記デコード状態保持部に保持された状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、
前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、
復号された結果を選択された前記符号化データに対応した出力先に出力する、
ことを特徴とする復号プログラム。 - コンピュータに復号方法を実行させる復号プログラムを記録した記録媒体において、
前記復号方法は、複数の符号化データを入力し、復号して出力する復号方法であって、
デコード部の状態をデコード状態保持部に保持し、
各符号化データに記された情報から求めた符号化単位を復号化する際に許容される時間と復号化する符号化データの数に基づいて、各符号化データを復号化する際に使用する最大復号化時間を設定し、
前記複数の符号化データから1つを選択し、
前記デコード状態保持部に保持された状態のうち、選択された前記符号化データに対応したデコード部の状態に基づいて、選択された前記符号化データを復号し、
前記最大復号化時間に到達した場合に、前記最大復号化時間に到達した時点のデコード部の状態を前記デコード状態保持部に退避し、
復号された結果を選択された前記符号化データに対応した出力先に出力する、
ことを特徴とする復号プログラム記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002228573A JP4208116B2 (ja) | 2001-08-06 | 2002-08-06 | 復号装置,復号方法,復号プログラム,および復号プログラム記録媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001238244 | 2001-08-06 | ||
JP2001-238244 | 2001-08-06 | ||
JP2002228573A JP4208116B2 (ja) | 2001-08-06 | 2002-08-06 | 復号装置,復号方法,復号プログラム,および復号プログラム記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003143602A JP2003143602A (ja) | 2003-05-16 |
JP2003143602A5 JP2003143602A5 (ja) | 2005-10-20 |
JP4208116B2 true JP4208116B2 (ja) | 2009-01-14 |
Family
ID=26620040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002228573A Expired - Fee Related JP4208116B2 (ja) | 2001-08-06 | 2002-08-06 | 復号装置,復号方法,復号プログラム,および復号プログラム記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4208116B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100998545B1 (ko) * | 2003-07-09 | 2010-12-07 | 브로드로직 네트워크 테크놀로지스, 인크. | 고속 멀티-스트림 mpeg 프로세서를 제공하는 방법 및시스템 |
US20090196356A1 (en) * | 2005-09-14 | 2009-08-06 | Mitsunori Houki | Multi-stream decoder apparatus |
JP2008141276A (ja) * | 2006-11-30 | 2008-06-19 | Sanyo Electric Co Ltd | Tv信号処理回路 |
JP5012626B2 (ja) * | 2008-04-03 | 2012-08-29 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP5506250B2 (ja) * | 2009-06-05 | 2014-05-28 | キヤノン株式会社 | ストリーム復号装置及びストリーム復号方法 |
JP5802014B2 (ja) * | 2011-01-14 | 2015-10-28 | アイキューブド研究所株式会社 | 信号処理装置、信号処理方法 |
JP6037630B2 (ja) | 2012-03-16 | 2016-12-07 | 三菱電機株式会社 | 再生装置並びに再生装置の制御方法及び制御プログラム |
-
2002
- 2002-08-06 JP JP2002228573A patent/JP4208116B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003143602A (ja) | 2003-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3631123B2 (ja) | デジタル放送受信装置 | |
JP5173287B2 (ja) | 番組記録装置及びその制御方法 | |
JP4725104B2 (ja) | 復号装置及び復号方法 | |
US7327789B2 (en) | Decoding apparatus, decoding method, decoding program, and decoding program storage medium | |
JP2012157046A (ja) | デジタル・ビデオ復号システム、複数のビデオ・プログラムを順次表示する方法およびユーザーによって選択される次のチャネルを予測する方法 | |
US6633339B1 (en) | Method and device for seamless-decoding video stream including streams having different frame rates | |
JP4208116B2 (ja) | 復号装置,復号方法,復号プログラム,および復号プログラム記録媒体 | |
US20050174352A1 (en) | Image processing method and system to increase perceived visual output quality in cases of lack of image data | |
JP4403404B2 (ja) | 復号装置及び復号方法 | |
KR100640885B1 (ko) | 듀얼 비디오 디코딩을 위한 비디오 버퍼 제어 장치 | |
JPH09247686A (ja) | 多重映像信号の復号回路 | |
JP4553996B2 (ja) | 情報再生装置および情報再生方法 | |
JP2005184788A (ja) | 信号処理装置 | |
JP2007267420A (ja) | 映像信号のミュート方法 | |
JP2005531087A (ja) | フィルタ係数用のランダムアクセスメモリのための自動的なバンク切り替えを検出及び実行する方法及び装置 | |
US20080091438A1 (en) | Audio signal decoder and resource access control method | |
JP5476179B2 (ja) | チューナーの切替装置、チューナーの切替システムおよびチューナーの切替装置の制御方法 | |
JP5321676B2 (ja) | 情報再生装置および情報再生方法 | |
JP4947198B2 (ja) | 情報再生装置および情報再生方法 | |
JP5664699B2 (ja) | 情報再生装置および情報再生方法 | |
JP5920442B2 (ja) | デジタル衛星放送の受信装置および受信方法 | |
JP2010193527A (ja) | 映像信号表示装置および映像信号表示方法 | |
JPH07115618A (ja) | フレームシンクロナイザ | |
JP2007013826A (ja) | 映像受信装置 | |
JP2005217609A (ja) | 映像情報再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050701 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071017 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080924 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4208116 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |