JP4476261B2 - 復号装置および復号方法 - Google Patents

復号装置および復号方法 Download PDF

Info

Publication number
JP4476261B2
JP4476261B2 JP2006248237A JP2006248237A JP4476261B2 JP 4476261 B2 JP4476261 B2 JP 4476261B2 JP 2006248237 A JP2006248237 A JP 2006248237A JP 2006248237 A JP2006248237 A JP 2006248237A JP 4476261 B2 JP4476261 B2 JP 4476261B2
Authority
JP
Japan
Prior art keywords
encoded
stream
frame
memory area
streams
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.)
Active
Application number
JP2006248237A
Other languages
English (en)
Other versions
JP2008072336A (ja
Inventor
大三 長原
憲一 今井
吉弘 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006248237A priority Critical patent/JP4476261B2/ja
Publication of JP2008072336A publication Critical patent/JP2008072336A/ja
Application granted granted Critical
Publication of JP4476261B2 publication Critical patent/JP4476261B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Description

この発明は、動画像が符号化されたストリームを復号する復号装置および復号方法に関する。
DVD(Digital Versatile Disc)などの大容量の光ディスクメディアを再生可能なメディアプレーヤやパーソナルコンピュータが普及しており、高品質の映像コンテンツがDVDなどに格納されて提供されている。また、テレビ放送などで提供されるコンテンツをDVDに録画することのできるDVDレコーダも普及している。DVDなどの記録媒体にビデオやオーディオを蓄積するためには圧縮符号化技術が不可欠であり、MPEG(Moving Picture Experts Group)やH.264/AVC(Advanced Video Coding)のような動画像圧縮符号化技術の規格がある。圧縮符号化されたビデオデータとオーディオデータは、再生時刻情報など同期再生に必要なヘッダ情報とともに一つのストリームに多重化されて、記録媒体に蓄積される。
DVDプレイヤ、パーソナルコンピュータ、携帯端末などで映像コンテンツを再生する際、ハードディスクや記録媒体に格納された複数の映像コンテンツをまず動画サムネイルとして同時に画面に一覧表示し、ユーザに閲覧させるインタフェースが提供されることがある。ユーザが動画サムネイルの一覧表示において、いずれかの動画サムネイルを選択すると、その動画がフルサイズで再生される。
特許文献1には、複数の圧縮画像データを伸張して同時に表示する画像表示装置が開示されている。
特開平7−271345号公報
複数の動画サムネイルを一覧表示するためには、複数のデコーダを用いて同時に表示する複数の動画ストリームを並列に復号する必要があり、デコーダをハードウェアで実装する場合は回路規模が大きくなり、ソフトウェアで実装する場合は、メモリやCPUなどのシステムリソースを大量に消費する。また、同時に表示する動画ストリームの本数に応じてデコーダの個数を調整できるスケーラブルな復号処理の構成を容易する必要があるが、ハードウェアでそのようなスケーラビリティをもつ復号回路を実装することは困難である。またソフトウェアでスケーラビリティをもたせるには並列処理を実装する必要があり、高度で複雑なプログラミングが要求される。また、複数の動画ストリームを並列に復号処理する過程で、システムリソースが枯渇した場合、同時に表示すべき動画ストリームの一部の復号が間に合わず、フレーム落ちが生じることもある。
本発明はこうした課題に鑑みてなされたものであり、その目的は、動画像が符号化された複数のストリームを同時に効率良く再生することができる復号装置および復号方法を提供することにある。
上記課題を解決するために、本発明のある態様の復号装置は、動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、各符号化ストリームから復号されたフレームを一時的にバッファするフレームバッファとを含む。前記フレームバッファは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成される。
本発明の別の態様は復号方法である。この方法は、動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出すステップと、読み出された前記符号化ストリームの符号化データを復号してフレームを生成するステップと、前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するステップとを含む。
本発明のさらに別の態様はプログラムである。このプログラムは、動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替機能と、前記切替機能により選択された前記符号化ストリームの符号化データを復号してフレームを生成する復号機能と、前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリング機能とをコンピュータに実現させる。
このプログラムは、ビデオやオーディオのデコーダのライブラリとして提供されてもよく、あるいはビデオやオーディオのデコーダ等のハードウエア資源の基本的な制御を行なうために機器に組み込まれるファームウエアの一部として提供されてもよい。このファームウエアは、たとえば、機器内のROMやフラッシュメモリなどの半導体メモリに格納される。このファームウエアを提供するため、あるいはファームウエアの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動画像が符号化された複数のストリームを同時に効率良く再生することができる。
図1は、実施の形態に係る復号装置100の構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
復号装置100は、オーディオデータとビデオデータが符号化されて多重化されたストリーム(以下、「符号化ストリーム」または単に「ストリーム」と呼ぶ)を復号して再生する。符号化ストリームにおいて、ビデオデータはMPEG(Moving Picture Experts Group)−2やMPEG−4、H.264/AVCなどの規格にしたがって符号化されており、オーディオデータはMPEGオーディオなどの規格にしたがって符号化されている。復号装置100は、符号化ストリームからオーディオデータとビデオデータを分離した上でそれぞれを復号してオーディオとビデオを同期再生する。
復号装置100は、複数の符号化ストリームの各々からフレームを復号して、ディスプレイ110の画面に複数の動画サムネイルを同時に表示する。ユーザはディスプレイ110の画面上で複数の動画サムネイルを閲覧し、いずれかの動画サムネイルを選択することで、選択した動画をフルサイズで再生することができる。このとき、オーディオも同期して再生される。
ストレージ10には、複数の符号化ストリームが記録される。ストレージ10は、一例として、ハードディスクなどの大容量記録装置やDVDなどの記録媒体である。同図では、ストレージ10が復号装置100の内部にあるが、ストレージ10が外部サーバにあって、ネットワーク経由で外部サーバのストレージ10から符号化ストリームを読み出す構成にしてもよい。
ストレージ10から読み出された複数の符号化ストリームは、復号処理のために一時的にストリームバッファ12に記憶される。ストリームバッファ12には、複数の符号化ストリームのデータが順に配置されており、バイト位置を指定することにより、ある符号化ストリームのデータをそのバイト位置から読み出すことができる。
符号化ストリームには、ビデオデータとオーディオデータが多重化されており、一般にはビデオデータは、GOP(Group of Picture)と呼ばれる符号化単位でフレーム間予測符号化されている。符号化ストリームのヘッダには、ストリーム属性とGOPの区切りを示すエントリポイントのマップ情報が格納されており、エントリポイントのマップ情報によってGOPの区切りとなるバイト位置を知ることができる。エントリポイントのマップ情報は、符号化ストリームのヘッダ情報として与えられる以外に、符号化ストリームとは別ファイルで与えられてもよい。
H.264/AVCでは、GOPの区切りには、IDR(Instantaneous Decoding Refresh)フレームと呼ばれるフレームが存在する。IDRフレームは、当該フレームよりも前のフレームの情報がなくても、それ以降のフレームの復号が可能となるフレームである。IDRフレームが読み出されると、フレーム間予測符号化で参照するフレームを一時的に保持していたバッファがリセットされる。言い換えれば、IDRフレームは、後続のフレームに自分より前のフレームを参照する事を禁止するフレームである。IDRフレームで区切られるGOPはクローズドGOPと呼ばれ、そのGOPを構成するフレームのみを参照してフレーム間予測符号化がなされる。
時間的に前のGOPに含まれる画像を参照画像として利用しないGOPがクローズドGOPと呼ばれるのに対して、時間的に前のGOPに含まれる画像を参照画像として利用するGOPはオープンGOPと呼ばれる。フレーム間予測符号化がなされた動画ストリームにおいて、クローズドGOP内では他のGOPのフレームを参照することなく復号が可能であり、クローズドGOPは単独で復号可能な最小単位の符号化フレームの集合を与える。
切替部14は、ストリームバッファ12に記憶された複数の符号化ストリームのいずれか一つに切り替えながら、いずれか一つの符号化ストリームのデータをGOP単位で読み出し、多重化分離部18に与える。切替部14は、ある符号化ストリームから一つのGOPを構成するフレームの符号化データを読み出し、一つのGOPの読み出しが終わると、次の符号化ストリームに切り替えてその符号化ストリームから同様に一つのGOPを構成するフレームの符号化データを読み出す。
切替部14は、GOP単位で符号化データを切り出すために、前述のエントリポイントのマップ情報を参照して、シンク(sync)フレームやH.264/AVCでいうIDRフレームなど最小復号単位となる画像シーケンスの先頭を示すフレームのバイト位置を検出することでGOPの区切りを検出する。別の方法として、エントリポイントのマップ情報などのメタ情報に頼らずに、符号化ストリーム内に多重化されたビデオストリームのヘッダを先頭から順に解析することでGOPの区切りを検出してもよい。
切替部14がGOP単位で複数の符号化ストリームを切り替えることにより、以下、多重化分離部18、ビデオデコーダ20およびオーディオデコーダ22において、切替部14により選択された符号化ストリームがGOP単位で復号される。クローズドGOPの場合、他のGOPのフレームを参照することなく、フレーム間予測符号化がなされているため、GOP内で完全に閉じて復号を行うことができ、多重化分離部18、ビデオデコーダ20およびオーディオデコーダ22が1つのインスタンスであっても、複数の符号化ストリームをGOP単位で切り替えながら並行して復号していくことができる。
切替部14は、ラウンドロビン方式で複数の符号化ストリームを順番に切り替え、いずれか一つの符号化ストリームのデータをGOP単位で読み出す。あるいは、優先制御部16が複数の符号化ストリームの間に何らかの優先順位をつけ、切替部14は優先制御部16によって指定された優先順位にしたがって、優先度の高い符号化ストリームのデータを優先して読み出してもよい。優先制御部16の構成はオプションであり、優先制御部16の構成は省略してもよい。優先制御部16による優先制御は、後段の処理と関連する場合もあるため、後に具体的な例を説明する。
多重化分離部18は、切替部14から供給された符号化ストリームのデータからオーディオの符号化データとビデオの符号化データを分離し、ビデオの符号化データはビデオデコーダ20に、オーディオの符号化データはオーディオデコーダ22に与える。
オーディオデコーダ22は、符号化されたオーディオを復号する。復号されたオーディオは、ビデオデコーダ20により復号されたビデオのフレームに同期して再生される。オーディオの復号処理や、ビデオとオーディオの同期再生処理については公知の技術を用いることができる。
ビデオデコーダ20は、切替部14により選択された符号化ストリームからGOP単位で読み出されたビデオの符号化データを復号する。ビデオデコーダ20は、可変長復号部、逆量子化部、逆直交変換部、動き補償部など復号処理に必要な構成を含み、GOP内の各符号化フレームを復号してフレームを復元する。GOP内のフレームが、フレーム内符号化がなされたI(Intra)フレームである場合、フレーム内符号化を復号し、フレーム間予測符号化されたP(Predictive)フレームまたはB(Bidirectionally predictive)フレームの予測画像を生成する際の参照画像として保持する。GOP内のフレームが、PフレームまたはBフレームである場合、その画像データは差分画像であるため、その差分画像と動き補償により得られる予測画像とを加算することにより、元のフレームを復元する。ビデオデコーダ20は、こうして符号化ストリームから復号されたGOP内の各フレームをフレームバッファ26の共有メモリ領域28に書き込む。
図2は、フレームバッファ26の共有メモリ領域28のデータ構造を説明する図である。フレームバッファ26は、複数の符号化ストリーム間で共有される単一の共有メモリ領域28を含む。共有メモリ領域28は、各符号化ストリームからGOP単位で復号されたフレームを表示するために一時的に保持するものであり、GOPを構成するフレームの枚数(「GOPフレーム数」という)Mに復号対象の符号化ストリームの本数Nを乗算したMN個のフレームを保持するだけの容量を有する。一般にGOPフレーム数は可変であり、符号化ストリーム毎に異なる。そこで、GOPフレーム数Mは、GOPを構成するフレームの平均的な枚数や取りうる最大枚数で見積もり、共有メモリ領域28の容量を設計する。
共有メモリ領域28は、復号されたフレームを保持するためのブロック(同図ではa〜zの記号で表記される)に分かれており、各ブロックのバイト位置を指定することで、そのブロックに対して復号後のフレームデータを読み書きすることができる。共有メモリ領域28内の各ブロックは、いずれの符号化ストリームから復号されたフレームであっても格納することができ、符号化ストリームによって格納位置が制限されることがない。すなわち、共有メモリ領域28は複数の符号化ストリームの間で共用される単一のメモリ領域であり、符号化ストリーム毎に格納領域が区分けされているのではない。
N本のストリームの内、第i番目のストリーム#iについて、第j番目に表示される復号後のフレームをフレーム#i−jと表記する。各ストリームから復号されたフレームは共有メモリ領域28内の任意の空きブロックに格納することができる。同図では、第1ストリーム#1のフレーム#1−1、#1−2、フレーム#1−3、フレーム#1−Mは、それぞれ共有メモリ領域28のブロックa、e、i、tに格納されている。
同様に、第2ストリーム#2のフレーム#2−1、#2−2、フレーム#2−Mは、それぞれ共有メモリ領域28のブロックb、c、sに格納されており、第Nストリーム#Nのフレーム#N−1、フレーム#N−Mは、それぞれ共有メモリ領域28のブロックh、zに格納されている。
共有メモリ領域28においてフレームが格納されたブロックはそのフレームの再生が終わると無効化されて空きブロックとなる。空きブロックは他のストリームのフレームを保持するために使われる。
ビデオデコーダ20は、フレームバッファ26の共有メモリ領域28の空きブロックに各ストリームから復号されたフレームを書き込む。このとき、ビデオデコーダ20は、共有メモリ領域28内のフレームの格納位置に関する情報、フレームの再生順序に関する情報、およびフレームの属性をストリーム毎にバッファ管理テーブル24に記録する。
図3は、バッファ管理テーブル24のデータ構造を説明する図である。バッファ管理テーブル24は、共有メモリ領域28の空きブロック情報と、復号対象であるストリーム#1〜#Nの管理情報とを格納する。空きブロック情報は、共有メモリ領域28においてフレームの再生が終了して無効化された空きブロック(同図の例では、ブロックj、k、m、p)のバイト位置のリストである。空きブロック情報は、ブロック数分の無効フラグの配列に空きであるかどうかを示すバイナリデータを保持することで管理してもよい。ビデオデコーダ20は、バッファ管理テーブル24の空きブロック情報を参照して、各ストリームから復号されたフレームをGOP単位で空きブロックに書き込む。
各ストリーム#1〜#Nの管理情報は、共有メモリ領域28に再生待ちの状態で格納されている復号されたフレームの格納先ブロックとフレーム属性を含む。たとえば、図2の共有メモリ領域28の例に対応して、ストリーム#1の管理情報は、GOPを構成するフレームのフレーム番号1、2、3、…、Mに格納先ブロックa、e、i、…、tのバイト位置を対応づけたものであり、各フレームがIピクチャ、Pピクチャ、Bピクチャのいずれであるかを示す属性も合わせて対応づけられる。フレーム番号は再生順序を示しており、各ストリームについてフレーム番号の順にフレーム番号に対応づけられた格納先ブロックからフレームを読み出して表示することで、各ストリームを動画として再生することができる。
表示制御部30は、バッファ管理テーブル24を参照して、各符号化ストリームから復号されたフレームの再生順序と格納位置に関する情報を取得する。そして、表示制御部30は、ディスプレイ110の垂直同期信号(VSYNC;vertical synchronizing signal)に同期してフレームバッファ26の共有メモリ領域28から各ストリームのフレームを1枚ずつ読み出し、ディスプレイ110の画面に各ストリームの動画サムネイルを同時に表示する制御を行う。表示制御部30は、垂直同期信号によって指示される垂直同期周波数でフレームバッファ26から各ストリームの次のフレームを読み出し、画面に表示された各ストリームの動画サムネイルをリフレッシュする。表示制御部30は、2回の垂直同期信号(2VSYNC)毎に動画サムネイルをリフレッシュしてもよい。たとえば、プログレッシブ方式の場合、(1/60)秒の周期で与えられる垂直同期信号毎に画面を1回リフレッシュするが、インタレース方式の場合、2回の垂直同期信号毎、すなわち(1/30)秒の周期で1回、偶数番号の走査ラインからなるフィールドまたは奇数番号の走査ラインからなるフィールドを交互にリフレッシュする。
ここで、各ストリームのフレームレートに違いがある場合は、表示制御部30は、各ストリームのフレームレートに応じた周期でフレームバッファ26の共有メモリ領域28から各ストリームのフレームを1枚ずつ読み出し、ディスプレイ110のVRAMなどに書き込むことで、各ストリームのフレームレートで動画をディスプレイ110に表示することができる。これにより、たとえば、24フレーム/秒のストリームと30フレーム/秒のストリームが混合している場合にも対応することができる。なお、この場合でも、VRAMなどのフレームメモリからピクセルデータが読み出されて、ディスプレイ110に出力されるタイミング、すなわちリフレッシュレートは、前述の垂直同期信号で制御される。
表示制御部30は、各ストリームについて表示が終了したフレームについてはバッファ管理テーブル24のフレーム番号を各ストリームの管理情報から消去し、そのフレーム番号に対応づけられた格納先ブロックを空きブロックに変更してバッファ管理テーブル24の空きブロック情報にその空きブロックを追加する。
表示制御部30の動作により、フレームバッファ26の共有メモリ領域28から垂直同期信号のタイミングで各ストリーム#1〜#Nの次に表示すべきフレームが1枚ずつ読み出され、各ストリームのフレームが格納されていたブロックが空きブロックになる。すなわち、同時に動画サムネイルとして表示されるストリーム数(「同時表示ストリーム数」)Nと同じ数のフレームが同時に共有メモリ領域28から読み出され、N個の空きブロックが生じる。
同時表示ストリーム数Nが、GOPフレーム数M以上であれば、表示制御部30が垂直同期信号に同期して動画をリフレッシュの度に、共有メモリ領域28には1GOP内のフレームを格納するだけの空きブロックが生じることになり、ビデオデコーダ20はあるストリームからGOP単位で復号されたフレームの集合をこれらの空きブロックに書き込むことができる。同時表示ストリーム数NがGOPフレーム数Mの半分であれば、表示制御部30が2回リフレッシュすると、ビデオデコーダ20は1GOPのフレーム集合を空きブロックに書き込むことができる。
このように、表示制御部30が複数のストリームから復号される動画を同時に画面にサムネイル表示することから、フレームバッファ26からは各ストリームのフレームが1枚ずつ消費され、同時に複数の空きブロックが生じる。この点に着目して、本実施の形態では、フレームバッファ26に共有メモリ領域28を設け、同時に表示されるストリーム間で共有するようにし、いずれのストリームのフレームでも格納位置の制約を受けることなく、書き込むことができるようにした。これにより、同時に表示されるストリームを並列に復号処理をする代わりに、単一のビデオデコーダ20が切替部14により選択された一つのストリームについてのみGOP単位の復号処理を行っていても、同時に表示されるストリームの動画サムネイルが一斉にリフレッシュされるのを受けて、選択されたストリームから復号された1GOP内のフレーム集合を共有メモリ領域28の空きブロックに一気に書き込むことができ、ビデオデコーダ20は次のストリームに切り替えてGOP単位の復号処理を続けることができる。
共有メモリ領域28を中心に見れば、表示制御部30は、各ストリームの次のフレームを共有メモリ領域28から読み出す処理を行い、ビデオデコーダ20は、切替部14により選択されたストリームについてGOP単位で復号されたフレームを共有メモリ領域28の空きブロックに書き込む処理を行う。表示制御部30による共有メモリ領域28からの読み出し処理と、ビデオデコーダ20による共有メモリ領域28への書き込み処理は非同期に行われる。
表示制御部30は、垂直同期信号が与えられる周期で各ストリームのフレームを読み出す一方、ビデオデコーダ20は、共有メモリ領域28に1GOP分の空きブロックがないときは、1GOP分の空きブロックが生じるまで復号処理をサスペンドする。表示制御部30は、画面に表示している動画サムネイルの本数分のストリームのフレームを同時に共有メモリ領域28から読み出すため、共有メモリ領域28には1GOP分の空きブロックがすぐに生じる。ビデオデコーダ20は、1GOP分の空きブロックが生じると直ちに既に復号した1GOP分のフレームを書き込み、サスペンドしていたプロセスをレジュームし、その後の他のストリームの復号処理に移行する。
もっとも、実装上は、ビデオデコーダ20は自身で内部バッファをもつため、フレームバッファ26の共有メモリ領域28に1GOP分の空きブロックがないときでも、プロセスをサスペンドせずにビデオデコーダ20は復号処理を進め、復号されたフレームを内部バッファに蓄積しておくことができる。また、共有メモリ領域28に1GOP分の空きブロックがなくても、ビデオデコーダ20は復号されたフレームを可能な限り、内部バッファから共有メモリ領域28の空きブロックに移すことができる。1GOPに含まれるフレームの枚数は実際に復号してみないとわからないため、ビデオデコーダ20は共有メモリ領域28の空きブロックの数に関係なく、可能な限りデコード処理を進めることが効率的であり、システムリソースを有効に用いることができる。以下の図4A〜図4Fでは、説明が必要以上に煩雑にならないように、このような実装上の工夫に直接触れることなく、動作を説明するが、図4A〜図4Fにおいて、ここで述べた実装上の工夫を加えれば、さらに効率を上げることができることに留意する。
表示制御部30は、GOP単位で復号されたフレームを全部読み出して再生が終わると、次のGOPのフレームデータを必要とする。ビデオデコーダ20は、表示制御部30が次のGOPに移る前に、画面に同時に表示されているすべてのストリームについて次のGOPの復号を完了して、共有メモリ領域28にフレームデータを書き込んでいなければならない。
同時表示ストリーム数がN、GOPフレーム数がMのとき、表示制御部30がM枚のフレームをリフレッシュする時間、たとえば、垂直同期信号の周期がL秒であるとすると、LM秒の間に、ビデオデコーダ20は、N本の符号化ストリームのすべてについて次の1GOP分の復号処理、すなわち合計MN個のフレームの復号を完了し、共有メモリ領域28に書き込んでいないといけない。すなわち、ビデオデコーダ20には、LM秒でMN個、すなわちL秒でN個のフレームを復号する性能が要求される。たとえば、同時表示動画サムネイル数Nが10、垂直同期信号の周期Lが33ミリ秒であるとすると、1秒で約300枚のフレームを復号する性能が要求される。
ビデオデコーダ20は、上記の性能が保証される限り、ハードウェアもしくはソフトウェア、あるいは両者の組合せのいずれで実現されてもよい。たとえば、ビデオデコーダ20は、高性能なCPUもしくはマルチプロセッサ、あるいは複数のプロセッサコアを一つのパッケージに集積したマルチコアプロセッサ上で実行されるプログラムであってもよい。あるいは、ビデオデコーダ20は、MPEGなどの規格にしたがって復号処理を行う専用回路であってもよい。
図4A〜図4Fは、共有メモリ領域28に対してフレームが読み書きされる様子を時系列順に説明する図である。これらの図を参照して、ビデオデコーダ20によって共有メモリ領域28に各符号化ストリームから復号されたフレームが書き込まれ、表示制御部30によって共有メモリ領域28からフレームが読み出されて再生される手順を説明する。ここでは、簡単のため、同時表示ストリーム数Nは3、GOPフレーム数Mは4または5であるとして説明する。
図4Aは、共有メモリ領域28に各ストリームのGOPを構成するフレームが書き込まれた状態を示す図である。共有メモリ領域28は15個のブロックa〜oを含み、最初はすべてのブロックが空いている。同図に示すように、第1ストリーム#1の最初のGOPを構成する5枚のフレーム#1−1〜#1−5は共有メモリ領域28の5個の空きブロックa〜eに格納され、第2ストリーム#2の最初のGOPを構成する5枚のフレーム#2−1〜#2−5は共有メモリ領域28の5個の空きブロックf〜jに格納され、第3ストリーム#3の最初のGOPを構成する5枚のフレーム#3−1〜#3−5は共有メモリ領域28の5個の空きブロックk〜oに格納される。
図4Bは、最初の垂直同期信号に同期して図4Aに示した状態の共有メモリ領域28から各ストリームの最初のフレームが1枚ずつ読み出されて表示された状態を示す図である。表示制御部30は、最初の垂直同期信号に同期して、共有メモリ領域28から第1ストリーム#1の最初のフレーム#1−1、第2ストリーム#2の最初のフレーム#2−1、第3ストリーム#3の最初のフレーム#3−1をそれぞれ読み出し、ディスプレイ110の画面に動画サムネイル111、112、113として表示する。共有メモリ領域28において各ストリーム#1、#2、#3の最初のフレーム#1−1、#2−1、#3−1が格納されていたブロックa、f、kは空きブロックになる。もっとも、フレームレートの違いから、次のリフレッシュのタイミングでも引き続き、これらのブロックa、f、kに格納されていたフレームデータが必要で、そのデータを共有メモリ領域28から読み出す構成であれば、これらのブロックを空きブロックとしなくてもよい。次のリフレッシュのタイミングでフレームデータが不要となるブロックだけを空きブロックとすればよい。
図4Cは、2回目の垂直同期信号に同期して図4Bに示した状態の共有メモリ領域28から各ストリームの2番目のフレームが1枚ずつ読み出されて表示された状態を示す図である。表示制御部30は、2回目の垂直同期信号に同期して、共有メモリ領域28から第1ストリーム#1の2番目のフレーム#1−2、第2ストリーム#2の2番目のフレーム#2−2、第3ストリーム#3の2番目のフレーム#3−2をそれぞれ読み出し、ディスプレイ110の画面に表示された各ストリーム#1、#2、#3の動画サムネイル111、112、113をそれぞれの2番目のフレームで更新する。共有メモリ領域28において各ストリーム#1、#2、#3の2番目のフレーム#1−2、#2−2、#3−2が格納されていたブロックb、g、iも空きブロックとなる。
図4Dは、図4Cに示した状態の共有メモリ領域28の空きブロックに第1ストリーム#1の次のGOPを構成するフレームが書き込まれた状態を示す図である。表示制御部30によりディスプレイ110の画面に各ストリーム#1、#2、#3の2番目のフレーム#1−2、#2−2、#3−2がサムネイル表示された後、ビデオデコーダ20が第1ストリーム#1について次のGOPを構成する5枚のフレーム#1−6〜#1−10の復号を完了したとする。ビデオデコーダ20は、新たに復号された5枚のフレーム#1−6〜#1−10を共有メモリ領域28の空きブロックに書き込む。共有メモリ領域28において6個のブロックa、b、f、g、k、lが空き状態であった(図4C)から、ビデオデコーダ20は、第1ストリーム#1の次のGOP内の5枚のフレーム#1−6〜#1−10を5個の空きブロックa、b、f、g、kに格納する。
図4Eは、3回目の垂直同期信号に同期して図4Dに示した状態の共有メモリ領域28から各ストリームの3番目のフレームが1枚ずつ読み出されて表示された状態を示す図である。表示制御部30は、3回目の垂直同期信号に同期して、共有メモリ領域28から第1ストリーム#1の3番目のフレーム#1−3、第2ストリーム#2の3番目のフレーム#2−3、第3ストリーム#3の2番目のフレーム#3−3をそれぞれ読み出し、ディスプレイ110の画面の動画サムネイル111、112、113を更新する。共有メモリ領域28において各ストリーム#1、#2、#3の3番目のフレーム#1−3、#2−3、#3−3が格納されていたブロックc、h、mが新たに空きブロックになる。これにより、既に空いていたブロックlも含めて4つのブロックが空き状態になる。
図4Fは、図4Eに示した状態の共有メモリ領域28の空きブロックに第2ストリーム#2の次のGOPを構成するフレームが書き込まれた状態を示す図である。ディスプレイ110の画面に各ストリームの3番目のフレームがサムネイル表示された後、第2ストリーム#2について次のGOPを構成する4枚のフレーム#2−6〜#2−9が復号されたとする。共有メモリ領域28において4個のブロックc、h、l、mが空き状態であった(図4E)から、第2ストリーム#2の次のGOP内の4枚のフレーム#2−6〜#2−9はこれら4個の空きブロックc、h、l、mに格納される。
ここで、実装上の工夫について触れると、復号するまではGOPを構成するフレーム数はわからないから、ビデオデコーダ20は、第2ストリーム#2について次のGOPの復号を進め、少なくとも最初の4枚のフレームについては共有メモリ領域28の4個の空きブロックに順次格納していく。仮に復号の結果、GOPを構成するフレームが4枚でなく、5枚であったという場合でも、最初の4枚のフレームについては復号して共有メモリ領域28にバッファリングすることができる。また、ビデオデコーダ20内部にもバッファがあるから、共有メモリ領域28に空きがなくても、ビデオデコーダ20は、1GOP分の復号を終え、内部バッファに格納しておくこともできる。
また、ビデオデコーダ20の復号処理のサスペンドとレジュームを制御する機構として、共有メモリ領域28内の空きブロック数と、復号されたGOPを構成するフレーム数を比較し、空きブロック数がGOPフレーム数よりも大きい場合には、GOPを構成するフレームをすべて共有メモリ領域28に書き込んで、次のストリームの復号処理に切り替え、空きブロック数がGOPフレーム数よりも小さい場合には、空きブロック数がGOPフレーム数に達するまでそれ以降の復号処理をサスペンドする制御部を設けてもよい。
このように、表示制御部30が同時に表示される3つのストリーム#1〜#3のフレームを1枚ずつ共有メモリ領域28から読み出して動画サムネイル111〜113を更新すると、3個の空きブロックが生じ、次の垂直同期信号に同期して動画サムネイル111〜113を更新すると、3つのストリーム#1〜#3の次のフレームが1枚ずつ共有メモリ領域28から読み出されてさらに3個の空きブロックが生じる。ビデオデコーダ20があるストリームのGOPを復号し、GOP内のすべてのフレームを書き込むだけの空きブロックが共有メモリ領域28内に生じたならば、ビデオデコーダ20は直ちにそのGOP内のフレームを空きブロックに書き込み、次のストリームのGOPの復号処理を進める。ビデオデコーダ20は、共有メモリ領域28に1GOPを構成するフレームを格納するだけの空きブロックが生じるまでは復号処理を中断し、待ち状態になる。
本実施の形態では、フレームバッファ26において複数のストリームで共有される共有メモリ領域28を設け、いずれのストリームから復号されたフレームであっても区別することなく、任意の空きブロックに格納されるように構成した。画面に同時に複数の動画サムネイルを表示することにより、動画サムネイルがリフレッシュされる度に複数のフレームが同時に共有メモリ領域28から読み出され、共有メモリ領域28に複数の空きブロックが不連続に発生する。ビデオデコーダ20は、復号されたGOP単位のフレームをこの空きブロックに非同期に書き込んで、次の符号化ストリームのGOPの復号処理を進めることができる。
ここで、フレームバッファ26内に共有メモリ領域28を設けた意義をより良く理解するため、図5A〜図5Dを参照して、フレームバッファ26内に共有メモリ領域28を設けず、ストリーム毎に独立した専用メモリ領域を設けた場合のフレームの読み書きの手順を時系列順に説明する。この場合、フレームバッファ26において、ストリーム毎にメモリ領域が区分けされ、あるストリーム用に割り当てられたメモリ領域は、そのストリームから復号されたフレームのみを格納し、他のストリームから復号されたフレームを格納することはできないという制約が設けられる。
図5Aは、ストリーム毎に独立に設けられた専用メモリ領域に各ストリームのGOPを構成するフレームが書き込まれた状態を示す図である。フレームバッファ26には、第1ストリーム#1用の専用メモリ領域(「第1専用メモリ領域」と呼ぶ)29a、第2ストリーム#2用の専用メモリ領域(「第2専用メモリ領域」と呼ぶ)29b、第3ストリーム#3用の専用メモリ領域(「第3専用メモリ領域」と呼ぶ)29cが独立に設けられる。第1、第2、第3専用メモリ領域29a、29b、29cはそれぞれ5個のブロック1a〜1e、2a〜2e、3a〜3eを含み、これらのブロックは、それぞれのストリームのフレームだけを格納するために用いられ、他のストリームのフレームを格納することはできない。
第1ストリーム#1のGOPを構成する5枚のフレーム#1−1〜#1−5は、第1専用メモリ領域29aの5個のブロック1a〜1eに格納される。同様に、第2ストリーム#2のGOPを構成する5枚のフレーム#2−1〜#2−5は、第2専用メモリ領域29bの5個のブロック2a〜2eに、第3ストリーム#3のGOPを構成する5枚のフレーム#3−1〜#3−5は、第3専用メモリ領域29cの5個のブロック3a〜3eに格納される。
図5Bは、最初の垂直同期信号に同期して図5Aに示した状態の各専用メモリ領域29a、29b、29cから各ストリームの最初のフレームが1枚ずつ読み出されて表示された状態を示す図である。最初の垂直同期信号に同期して各専用メモリ領域29a、29b、29cから最初のフレーム#1−1、#2−1、#3−1が読み出され、画面に動画サムネイル111、112、113が表示される。このとき、各専用メモリ領域29a、29b、29cにはそれぞれ一つの空きブロック1a、2a、3aが生じる。
図5Cは、2回目の垂直同期信号に同期して図5Bに示した状態の各専用メモリ領域29a、29b、29cから各ストリームの2番目のフレームが1枚ずつ読み出されて表示された状態を示す図である。2回目の垂直同期信号に同期して各専用メモリ領域29a、29b、29cから2番目のフレーム#1−2、#2−2、#3−2が読み出され、画面の動画サムネイル111、112、113が更新される。各専用メモリ領域29a、29b、29cにはもう一つ空きブロック1b、2b、3bが生じる。
この時点で、第1ストリーム#1の次のGOPを構成する5枚のフレーム#1−6〜#1−10が復号されたとする。第1専用メモリ領域29aに2個の空きブロック1a、1b、第2専用メモリ領域29bに2個の空きブロック2a、2b、第3専用メモリ領域29cに2個の空きブロック3a、3bがあり、合計で6個の空きブロックがある。しかし、第1ストリーム#1の5枚のフレーム#1−6〜#1−10は、第1専用メモリ領域29aにしか格納することができないため、これらのフレームはフレームバッファ26に書き込むことができず、ビデオデコーダ20は待ち状態となり、次のストリームの復号処理に進むことができない。
図5Dは、3〜5回目の垂直同期信号を経て各専用メモリ領域29a〜29cから各ストリームの残りのフレームがすべて読み出された状態を示す図である。同図に示すように、第1、第2、第3ストリーム#1、#2、#3の5番目のフレーム#1−5、#2−5、#3−5がそれぞれ第1、第2、第3専用メモリ領域29a、29b、29cから読み出されて画面の動画サムネイル111、112、113が更新されるまでは、第1専用メモリ領域に5個の空きブロックが生じない。このときようやく、第1ストリーム#1の次のGOPを構成する5枚のフレーム#1−6〜#1−10が第1専用メモリ領域29aに書き込まれ、ビデオデコーダ20は次の符号化ストリームの復号処理を進めることができるようになる。
しかし、この時点で第2、第3ストリーム#2、#3についてはまだ次のGOPの復号処理が行われていないため、第2、第3専用メモリ領域29b、29cには表示すべきフレームがバッファリングされていない。6回目の垂直同期信号のタイミングで動画サムネイルを更新するとき、第1ストリーム#1については画像を更新できるが、第2、第3ストリーム#2、#3については画像を更新することができず、フレームが欠落する。
このように、フレームバッファ26にストリーム毎に別々に独立した専用メモリ領域を設けると、専用メモリ領域に1GOPのフレームを格納できるたけの空き領域が生じるまでに時間がかかり、その間、ビデオデコーダ20の復号処理が停止し、次のストリームに切り替えて復号処理を進めることができないから、複数の動画サムネイルを同時にフレーム落ちさせることなく表示することが難しくなる。そこで、本実施の形態では、フレームバッファ26内に共有メモリ領域28を設けて、複数の符号化ストリームの間で区別することなくフレームを空きブロックに書き込むことができるように構成し、同時に複数の動画サムネイルをフレーム落ちさせることなく表示することを可能にした。
なお、本実施の形態のフレームバッファ26は、複数のストリームの各々から復号された1GOP分のフレームデータを蓄積しておくための「バッファプール」を意味し、ディスプレイに表示されるピクセルデータを保持するVRAM(Video Random Access Memory)とは異なる意味であることに留意する。ディスプレイ110にピクセルデータを出力するためのVRAMなどのフレームメモリがフレームバッファ26とは別途設けられもよく、あるいは、フレームバッファ26がディスプレイ110にピクセルデータを出力するためのフレームメモリとして流用されてもよい。
また、ビデオデコーダ20はそれ自身で復号処理のためのバッファを内部にもっており、フレーム間予測符号化されたフレームの復号に必要な参照フレームのデータをその内部バッファに保持することができる。したがって、ビデオデコーダ20は、クローズドGOPであるかオープンGOPであるかを問わず、復号することができる。オープンGOP、すなわち他のGOPのフレームの参照が必要なGOPの場合、ビデオデコーダ20は、復号の際に参照が必要なフレームをデコーダ内部のバッファに残しておいて、次のGOPの復号に利用すればよい。
ただし、本実施の形態のビデオデコーダ20は、GOP単位でストリームを切り替えて復号する構成であるため、オープンGOPの場合に、あるストリームについて次のGOPの復号で参照すべきフレームをデコーダ内部のバッファに保持すると、ストリームの切り替えが一巡して、当該ストリームに戻るまでその参照フレームをバッファ内に保持し続けなければならない。ビデオデコーダ20の内部バッファの容量に制限がある場合、あるストリームの次回のGOPの復号に用いられる参照フレームを、ストリームの切り替えが一巡するまでバッファリングすることはメモリ容量の面では得策ではない。
そこで、あるストリームについて次のGOPの復号に用いられる参照フレームは、ビデオデコーダ20の内部バッファではなく、フレームバッファ26内に残し、ストリームの切り替えが一巡して、当該ストリームに戻ったときに、ビデオデコーダ20がその参照フレームをフレームバッファ26から読み出して復号に利用するように構成してもよい。ビデオデコーダ20の内部バッファよりも、複数のストリームのフレームデータを蓄積可能なフレームバッファ26の方がメモリ容量を大きく設計するのが普通である。フレームバッファ26に参照フレームを保持して、ビデオデコーダ20がフレームバッファ26を参照する構成は、システムのメモリ設計の面で有利である。
ここで、表示制御部30による動画サムネイルの表示制御と、優先制御部16による復号対象の複数の符号化ストリームの優先制御について、いくつかの具体例を挙げながら説明する。
図6(a)〜(c)は、動画サムネイルの表示制御の例を説明する図である。表示制御部30は、ディスプレイ110の画面に動画サムネイルを上下に配列して表示し、上下のスクロール操作により画面に表示される動画サムネイルを切り替えるように制御する。この場合、画面に表示されていない動画サムネイルであっても、上下のスクロール操作によって表示対象となることがあるから、ビデオデコーダ20は、上下のスクロール操作により表示される可能性があるストリームについても復号処理を実行し、共有メモリ領域28に書き込む。表示制御部30は、画面に動画サムネイルとして表示されているストリームについてのみ共有メモリ領域28からフレームを読み出して表示する。
図6(a)の例では、ビデオデコーダ20が復号する9本のストリーム#1〜#9の内、5つのストリーム#3〜#7だけが画面に動画サムネイル121〜125として表示されており、他の4つのストリーム#1、#2、#8、#9については、現時点では画面の外側にあり、動画サムネイルとして表示されていない。中央のストリーム#5の動画サムネイル123は他のストリーム#3、#4、#6、#7の動画サムネイル121、122、124、125よりも大きく表示され、オーディオデコーダ22は、中央の動画サムネイル124についてはオーディオを復号してビデオに同期して再生する。
ユーザは矢印キーなどを操作することで画面を上下にスクロールさせて中央に表示される動画サムネイルを切り替えることができる。たとえば、画面上で動画サムネイル列が上向きにシフトするようにスクロール操作を行うと、図6(b)のように、それまで中央にあったストリーム#5の動画サムネイル123は一つ上の位置に移動し、すぐ下の位置にあったストリーム#6の動画サムネイル124が中央に移動して大きく表示される。このとき、図6(a)において画面の外側にあったストリーム#8が新たに画面の最下端の位置に動画サムネイル126として表示され、図6(a)において画面の最上端の位置に表示されていたストリーム#3の動画サムネイル121は画面の外側に出るため、それ以降は表示されなくなる。
ビデオデコーダ20は、図6(a)において画面の外側にあるストリーム#1、#2、#8、#9についても復号し、共有メモリ領域28にフレームを格納しているため、ユーザがスクロール操作を行っても画面に新たに現れるストリームを動画サムネイルとして直ちに表示することができる。図6(a)の例では、上下に動画サムネイル2つ分スクロールさせても、画面には動画サムネイルが遅延なく表示される。
優先制御部16は、図6(a)において画面に表示されている5本のストリーム#3〜#7を、画面の外側にあって表示されていない4本のストリーム#1、#2、#8、#9よりも優先度を高くする優先順位を設定する。切替部14は、優先制御部16により設定された優先順位にしたがった優先度付きラウンドロビン方式で、復号対象の9本のストリーム#1〜#9を切り替える。これにより表示中の5本のストリーム#3〜#7は、非表示の4本のストリーム#1、#2、#8、#9よりも復号される頻度が高くなり、復号処理に使うことのできる計算資源に限度がある場合でも、表示中の5本のストリーム#3〜#7については再生時間に間に合うように復号処理を確実に行うことができる。
優先制御部16は、図6(a)において画面の中央に表示されているストリーム#5の優先度を最も高くしてもよい。また、画面の中央に近いストリームほど優先度を高くしてもよい。たとえば、#5、#4、#6、#3、#7、#2、#8、#1、#9の順に優先度が下がるようにストリームの優先順位を設定してもよい。
画面のスクロール操作により図6(b)の状態になると、切替部14は、復号対象のストリームを入れ替え、図6(c)のように、最上端のストリーム#1は復号対象から外し、最下端にストリーム#10を新たに復号対象に含める。これにより、新たな9本のストリーム#2〜#10がビデオデコーダ20の復号対象となる。このように画面のスクロール操作に応じて復号対象となるストリームを入れ替えることで画面のスクロールにリアルタイムに適応して、動画サムネイルをいつでもスムーズに表示させることができる。
表示制御部30による表示制御と優先制御部16による優先制御にはいろいろなバリエーションが考えられる。上記の例では、表示制御部30は、画面の中央にある動画サムネイルを大きく表示させ、画面をスクロールさせることにより注目したい動画サムネイルを中央に移動させるユーザインタフェースを提供した。表示制御部30は、動画サムネイルを一覧表示し、ユーザが矢印キーなどでカーソルを移動させて注目したい動画サムネイルを選択させるインタフェースを提供し、選択された動画サムネイルを大きく表示させてもよい。
また、ユーザが注目している動画サムネイルを強調表示する他の方法として、表示制御部30は、注目している動画サムネイルは、それ以外の動画サムネイルよりも高いフレームレートで再生したり、あるいは、注目している動画サムネイルは通常のフレームレートで復号し、それ以外の動画サムネイルはフレームレートを落として再生することで、注目している動画サムネイルの品質を相対的に高めてもよい。
優先制御部16による優先制御のバリエーションを以下にまとめて説明する。これらの優先制御のバリエーションは単独もしくは組み合わせて用いることができる。
(a)優先制御部16は、各ストリームのGOPフレーム数に依存した優先順位を設定する。たとえば、GOPフレーム数が小さいストリームほど優先度を高く設定する。GOP内のフレーム枚数が少ないストリームほど、早いタイミングで再生が終わるため、フレームバッファ26の共有メモリ領域28内のフレームが早く消費されてなくなる。GOPフレーム数が小さいストリームを優先して復号することで、再生に必要なフレームが共有メモリ領域28内で枯渇するのを防ぎ、フレーム落ちを防ぐことができる。
(b)優先制御部16は、バッファ管理テーブル24を参照して、フレームバッファ26の共有メモリ領域28内で再生されずに残存するフレームの枚数をストリーム毎に調べ、残存するフレームの枚数に依存した優先順位を設定する。たとえば、共有メモリ領域28内に残存するフレームの枚数が少ないストリームほど優先度を高くする。これにより、複数のストリーム間でフレームの残存数を平均化することができ、再生に必要なフレームが枯渇してフレーム落ちが発生する状況を未然に防ぐことができる。
(c)優先制御部16は、各ストリームのフレームレートに依存した優先順位を設定する。高フレームレートのストリームほど共有メモリ領域28からフレームが速く消費されるため、優先度を高くする。これにより、高フレームレートのストリームについて、フレームデータが再生時間に間に合うように復号され、共有メモリ領域28にバッファリングされる。
(d)画面に現時点で表示されているストリーム以外にも近い将来表示される可能性のあるストリームをあらかじめ復号しておくことがある。表示される可能性のあるストリームを前もって復号する例として、図6(a)〜(c)で説明したスクロール操作による場合以外に、ある動画サムネイルに他のストリームがリンクづけされており、ユーザの操作によりリンク先のストリームの動画サムネイルを表示する場合などがある。そのような場合、優先制御部16は、画面に表示されるストリームを画面に表示されないストリームよりも優先する優先順位を設定する。これにより、画面に表示されるストリームをより確実に復号してフレームバッファ26に格納しておくとともに、画面に表示される可能性のある符号化ストリームを低い優先度で復号してフレームバッファ26に格納し、再生の潜在的な可能性に備えることができる。
(e)表示制御部30が画面に表示する複数の動画サムネイルの再生品質を異ならせる制御を行う場合、優先制御部16は、動画サムネイルの再生品質に応じた優先順位を設定する。たとえば、動画サムネイルの再生品質が高いストリームほど優先度が高くなる優先順位を設定し、再生品質要求の高いストリームを他のストリームよりも優先的に復号することで、再生品質要求の高いストリームについては高フレームレートや高解像度で再生するといった強調表示が可能になる。
以上述べたように、本実施の形態の復号装置100によれば、単一のビデオデコーダ20が、複数のストリームを切り替えながらGOP単位で復号して共有メモリ領域28にバッファリングし、表示制御部30は、共有メモリ領域28から表示すべき複数のストリームのフレームを読み出して画面に同時に動画像として表示することができる。ビデオデコーダ20は表示制御部30とは非同期に動作し、共有メモリ領域28にGOP単位で復号されたフレームを格納するための空き領域がなければ、復号処理をいったん停止する。そのため、共有メモリ領域28以上の容量を設ける必要がなく、メモリ量を節約できる。
表示制御部30は、同時に複数のストリームを表示するため、動画のリフレッシュの度に共有メモリ領域28には同時表示ストリーム数のフレーム分の空き領域が生じる。共有メモリ領域28に1GOP分のフレームを格納するための空き領域が生じれば、ビデオデコーダ20は直ちに1GOP分のフレームを空き領域に書き込み、速やかに次のストリームの復号処理に移ることができるから、共有メモリ領域28にフレームデータが枯渇してフレーム落ちが発生することがない。
本実施の形態の復号装置100では、多重化分離部18およびビデオデコーダ20を一つだけ用意して複数のストリームを復号するため、ハードウェアで実装する場合、複数の多重化分離部18およびビデオデコーダ20を用いる構成に比べて、回路規模を小さくすることができる。ソフトウェアで実装する場合でも、多重化分離部18およびビデオデコーダ20のインスタンスを1つだけ実行させればよいから、システム制御プログラムを軽量化することができ、また、同時表示ストリーム数に応じてスケーラブルなソフトウェア構成を取ることができる。さらに、必然的にメモリやCPUなどの計算資源の使用率も低減される。システム性能やシステムリソースに応じて、ビデオデコーダ20のインスタンスを2つ以上設けてもかまわない。いずれにしても、極力少ない数のビデオデコーダ20のインスタンスにより、多数のストリームを実質的に並列に復号して、多数の動画を同時に再生できる点に利点がある。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
上記の実施の形態では、複数の符号化ストリームを復号して同時に動画サムネイルとして一覧表示する例をもとに本発明を説明したが、本発明は、複数の符号化ストリームを復号して同時に再生する他の用途にも同様に適用することができる。たとえば、コンピュータグラフィックスで生成された仮想空間の画面に複数の動画を貼り付けて表示する場合にも本発明を適用して、単一のデコーダで複数の動画を効率良く同時再生することができる。
また、実施の形態では、ビデオの復号を説明したが、本発明は原理的にはオーディオの復号にも適用できる。オーディオにもビデオと同様にオーディオフレームと呼ばれる符号化および復号の単位があり、ビデオストリームの場合と同様、複数のオーディオストリームを切り替えながら、ビデオのGOPに対応した最小復号単位でオーディオフレームの集合を復号してもよい。本発明を適用して複数のオーディオを同時に再生するニーズとして、たとえば、次のようなアプリケーションが考えられる。コンピュータグラフィックスにより生成される仮想空間において、場所によって異なる音声や音楽が聞こえてくる環境を実現し、ユーザが操作するキャラクタがその場所に近づくと音が大きく聞こえ、遠ざかると音が小さく聞こえるように構成する。このような仮想空間環境において、ユーザのキャラクタの周辺から各場所の音声または音楽が同時に聞こえてくるように複数のオーディオストリームを同時に再生する。
実施の形態では、符号化ストリームがフレーム間予測符号化されていることを前提として最小復号単位であるGOP単位で切り出して復号する例を説明したが、Motion−JPEGのようなフレーム間予測符号化を行わない規格で符号化された動画ストリームについては、たとえば同時に表示されるストリームの本数に応じて設計されるフレーム数で切り出して複数のストリームを切り替えて復号してもよい。
実施の形態に係る復号装置の構成図である。 図1のフレームバッファの共有メモリ領域のデータ構造を説明する図である。 図1のバッファ管理テーブルのデータ構造を説明する図である。 図1の共有メモリ領域に各ストリームのGOPを構成するフレームが書き込まれた状態を示す図である。 最初の垂直同期信号に同期して図4Aに示した状態の共有メモリ領域から各ストリームの最初のフレームが1枚ずつ読み出されて表示された状態を示す図である。 2回目の垂直同期信号に同期して図4Bに示した状態の共有メモリ領域から各ストリームの2番目のフレームが1枚ずつ読み出されて表示された状態を示す図である。 図4Cに示した状態の共有メモリ領域の空きブロックに第1ストリームの次のGOPを構成するフレームが書き込まれた状態を示す図である。 3回目の垂直同期信号に同期して図4Dに示した状態の共有メモリ領域から各ストリームの3番目のフレームが1枚ずつ読み出されて表示された状態を示す図である。 図4Eに示した状態の共有メモリ領域の空きブロックに第2ストリームの次のGOPを構成するフレームが書き込まれた状態を示す図である。 ストリーム毎に独立に設けられた専用メモリ領域に各ストリームのGOPを構成するフレームが書き込まれた状態を示す図である。 最初の垂直同期信号に同期して図5Aに示した状態の各専用メモリ領域から各ストリームの最初のフレームが1枚ずつ読み出されて表示された状態を示す図である。 2回目の垂直同期信号に同期して図5Bに示した状態の各専用メモリ領域から各ストリームの2番目のフレームが1枚ずつ読み出されて表示された状態を示す図である。 3〜5回目の垂直同期信号を経て図5Bに示した状態の各専用メモリ領域から各ストリームの残りのフレームがすべて読み出された状態を示す図である。 図6(a)〜(c)は、動画サムネイルの表示制御の例を説明する図である。
符号の説明
10 ストレージ、 12 ストリームバッファ、 14 切替部、 16 優先制御部、 18 多重化分離部、 20 ビデオデコーダ、 22 オーディオデコーダ、 24 バッファ管理テーブル、 26 フレームバッファ、 28 共有メモリ領域、 30 表示制御部、 100 復号装置、 110 ディスプレイ。

Claims (11)

  1. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
    前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、
    前記複数の符号化ストリームそれぞれから復号されたフレームを一時的にバッファするバッファプールと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記バッファプールから読み出して画面に動画像として同時に表示させる表示制御部とを含み、
    前記バッファプールは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成され、
    前記切替部は、前記複数の符号化ストリームの各々について復号可能な最小単位である所定枚数のフレームのグループを切り替えの単位として、前記複数の符号化ストリームの各々の前記グループに含まれるフレーム枚数が少ないほど優先度が高くなる優先順位にもとづいて、優先順位の高い符号化ストリームに切り替えて前記フレームのグループの符号化データを読み出し、
    前記デコーダは、前記表示制御部が少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことによって、前記切替部により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記切替部により次に選択される符号化ストリームの復号処理に進むことを特徴とする復号装置。
  2. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
    前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、
    前記複数の符号化ストリームそれぞれから復号されたフレームを一時的にバッファするバッファプールと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記バッファプールから読み出して画面に動画像として同時に表示させる表示制御部とを含み、
    前記バッファプールは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成され、
    前記切替部は、前記共有メモリ領域内で再生されずに残存するフレームの枚数が少ない符号化ストリームほど優先度が高くなる優先順位にもとづいて、優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出し、
    前記デコーダは、前記表示制御部が少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことによって、前記切替部により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記切替部により次に選択される符号化ストリームの復号処理に進むことを特徴とする復号装置。
  3. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
    前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、
    前記複数の符号化ストリームそれぞれから復号されたフレームを一時的にバッファするバッファプールと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記バッファプールから読み出して画面に動画像として同時に表示させる表示制御部とを含み、
    前記バッファプールは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成され、
    前記切替部は、前記複数の符号化ストリームの内、画面に動画像として表示される符号化ストリームを画面に動画像として表示されない符号化ストリームよりも優先する優先順位にもとづいて、優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出し、
    前記デコーダは、前記表示制御部が少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことによって、前記切替部により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記切替部により次に選択される符号化ストリームの復号処理に進むことを特徴とする復号装置。
  4. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
    前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、
    前記複数の符号化ストリームそれぞれから復号されたフレームを一時的にバッファするバッファプールと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記バッファプールから読み出して画面に動画像として同時に表示させる表示制御部とを含み、
    前記バッファプールは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成され、
    前記切替部は、画面に表示される複数の動画像の品質が異なる場合、動画像としての表示品質が高い符号化ストリームほど優先度が高くなる優先順位にもとづいて、優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出し、
    前記デコーダは、前記表示制御部が少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことによって、前記切替部により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記切替部により次に選択される符号化ストリームの復号処理に進むことを特徴とする復号装置。
  5. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
    前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、
    前記複数の符号化ストリームそれぞれから復号されたフレームを一時的にバッファするバッファプールと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記バッファプールから読み出して画面に動画像として同時に表示させる表示制御部とを含み、
    前記バッファプールは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成され、
    前記切替部は、画面に表示される複数の動画像の配列がユーザの操作に応じてスクロールする場合、現時点で画面に動画像として表示されている符号化ストリームをユーザのスクロール操作により次に画面に動画像が表示されることになる符号化ストリームよりも優先する優先順位にもとづいて、優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出し
    前記デコーダは、前記表示制御部が少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことによって、前記切替部により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記切替部により次に選択される符号化ストリームの復号処理に進むことを特徴とする復号装置。
  6. 前記共有メモリ領域内に格納される前記複数の符号化ストリームの各々から復号されたフレームについて、共有メモリ領域内のフレームの格納位置に関する情報とフレームの再生順序に関する情報を前記符号化ストリーム毎に保持するバッファ管理テーブルをさらに含み、
    前記表示制御部は、前記バッファ管理テーブルの前記格納位置に関する情報と前記再生順序に関する情報を参照して、前記複数の符号化ストリームの内、少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことを特徴とする請求項1から5のいずれかに記載の復号装置。
  7. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出すストリーム切替ステップと、
    読み出された前記複数の符号化ストリームの符号化データを復号してフレームを生成する復号ステップと、
    前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリングステップと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出して画面に動画像として同時に表示させる表示制御ステップとを含み
    前記復号ステップは、前記表示制御ステップが少なくとも一つ以上の符号化ストリームを動画像として同時に表示させることによって、前記読み出された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、次に読み出される符号化ストリームの復号処理に進み、
    前記ストリーム切替ステップは、前記複数の符号化ストリームの各々について復号可能な最小単位である所定枚数のフレームのグループを切り替えの単位として、前記複数の符号化ストリームの各々の前記グループに含まれるフレーム枚数が少ないほど優先度が高くなる優先順位にもとづいて優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出すことを特徴とする復号方法。
  8. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出すストリーム切替ステップと、
    読み出された前記複数の符号化ストリームの符号化データを復号してフレームを生成する復号ステップと、
    前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリングステップと、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出して画面に動画像として同時に表示させる表示制御ステップとを含み
    前記復号ステップは、前記表示制御ステップが少なくとも一つ以上の符号化ストリームを動画像として同時に表示させることによって、前記読み出された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、次に読み出される符号化ストリームの復号処理に進み、
    前記ストリーム切替ステップは、
    (a)前記共有メモリ領域内で再生されずに残存するフレームの枚数が少ない符号化ストリームほど優先度が高くなる優先順位、
    (b)画面に動画像として表示される符号化ストリームを画面に動画像として表示されない符号化ストリームよりも優先する優先順位、
    (c)動画像としての表示品質が高い符号化ストリームほど優先度が高くなる優先順位、
    (d)画面に表示される複数の動画像の配列がユーザの操作に応じてスクロールする場合において現時点で画面に動画像として表示されている符号化ストリームをユーザのスクロール操作により次に画面に動画像が表示されることになる符号化ストリームよりも優先する優先順位、
    のいずれかの優先順位にもとづいて優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出すことを特徴とする復号方法。
  9. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出すストリーム切替機能と、
    読み出された前記複数の符号化ストリームの符号化データを復号してフレームを生成する復号機能と、
    前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリング機能と、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出して画面に動画像として同時に表示させる表示制御機能とをコンピュータに実現させ、
    前記復号機能は、前記表示制御機能が少なくとも一つ以上の符号化ストリームを動画像として同時に表示させることによって、前記ストリーム切替機能により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記ストリーム切替機能により次に選択される符号化ストリームの復号処理に進み、
    前記ストリーム切替機能は、前記複数の符号化ストリームの各々について復号可能な最小単位である所定枚数のフレームのグループを切り替えの単位として、前記複数の符号化ストリームの各々の前記グループに含まれるフレーム枚数が少ないほど優先度が高くなる優先順位にもとづいて優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出すことを特徴とするプログラム。
  10. 動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出すストリーム切替機能と、
    読み出された前記複数の符号化ストリームの符号化データを復号してフレームを生成する復号機能と、
    前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリング機能と、
    前記複数の符号化ストリームの内、表示対象とされている少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出して画面に動画像として同時に表示させる表示制御機能とをコンピュータに実現させ、
    前記復号機能は、前記表示制御機能が少なくとも一つ以上の符号化ストリームを動画像として同時に表示させることによって、前記ストリーム切替機能により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記ストリーム切替機能により次に選択される符号化ストリームの復号処理に進み、
    前記ストリーム切替機能は、
    (a)前記共有メモリ領域内で再生されずに残存するフレームの枚数が少ない符号化ストリームほど優先度が高くなる優先順位、
    (b)画面に動画像として表示される符号化ストリームを画面に動画像として表示されない符号化ストリームよりも優先する優先順位、
    (c)動画像としての表示品質が高い符号化ストリームほど優先度が高くなる優先順位、
    (d)画面に表示される複数の動画像の配列がユーザの操作に応じてスクロールする場合において現時点で画面に動画像として表示されている符号化ストリームをユーザのスクロール操作により次に画面に動画像が表示されることになる符号化ストリームよりも優先する優先順位、
    のいずれかの優先順位にもとづいて優先順位の高い符号化ストリームに切り替えて前記符号化ストリームの符号化データを読み出すことを特徴とするプログラム。
  11. 前記共有メモリ領域内に格納される前記複数の符号化ストリームから復号されたフレームについて、共有メモリ領域内のフレームの格納位置に関する情報とフレームの再生順序に関する情報を前記複数の符号化ストリーム毎にバッファ管理テーブルに保持するバッファ管理機能をさらにコンピュータに実現させ、
    前記表示制御機能は、前記バッファ管理テーブルの前記格納位置に関する情報と前記再生順序に関する情報を参照して、前記複数の符号化ストリームの内、少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出して画面に動画像として同時に表示させることを特徴とする請求項9または10に記載のプログラム。
JP2006248237A 2006-09-13 2006-09-13 復号装置および復号方法 Active JP4476261B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006248237A JP4476261B2 (ja) 2006-09-13 2006-09-13 復号装置および復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006248237A JP4476261B2 (ja) 2006-09-13 2006-09-13 復号装置および復号方法

Publications (2)

Publication Number Publication Date
JP2008072336A JP2008072336A (ja) 2008-03-27
JP4476261B2 true JP4476261B2 (ja) 2010-06-09

Family

ID=39293550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006248237A Active JP4476261B2 (ja) 2006-09-13 2006-09-13 復号装置および復号方法

Country Status (1)

Country Link
JP (1) JP4476261B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5468189B2 (ja) * 2007-02-01 2014-04-09 シャープ株式会社 映像表示装置及び映像表示方法
JP4683103B2 (ja) 2008-09-22 2011-05-11 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
JP5553533B2 (ja) * 2009-06-08 2014-07-16 キヤノン株式会社 画像編集装置およびその制御方法およびプログラム
JP5067472B2 (ja) * 2010-12-09 2012-11-07 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
KR101945830B1 (ko) * 2012-05-24 2019-06-11 삼성전자 주식회사 다중 동영상 재생 방법 및 장치
JP2014064124A (ja) * 2012-09-20 2014-04-10 Casio Comput Co Ltd 動画処理装置、動画処理方法及びプログラム
JP6501665B2 (ja) * 2015-07-30 2019-04-17 キヤノン株式会社 情報処理装置およびその制御方法およびプログラム
WO2020017317A1 (ja) * 2018-07-17 2020-01-23 ソニー株式会社 信号処理装置、信号処理方法および信号処理プログラム
EP3761647A1 (en) * 2019-07-05 2021-01-06 Tiledmedia B.V. Methods and devices for rendering a video on a display
CN113271468A (zh) * 2020-02-14 2021-08-17 北京灵汐科技有限公司 一种基于GOP的SoC视频解码缓冲方法和装置
CN111913523B (zh) * 2020-06-19 2024-05-07 国网河南省电力公司焦作供电公司 一种双缓冲irig-b码产生方法
CN112637634B (zh) * 2020-12-24 2022-08-05 北京睿芯高通量科技有限公司 一种多进程共享数据的高并发视频处理方法及系统
CN114697675B (zh) * 2020-12-25 2024-04-05 扬智科技股份有限公司 解码显示系统与其存储器访问方法
CN115858081B (zh) * 2023-02-24 2023-06-16 深圳市东微智能科技股份有限公司 Ui界面媒体资源显示方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2008072336A (ja) 2008-03-27

Similar Documents

Publication Publication Date Title
JP4476261B2 (ja) 復号装置および復号方法
JP4516682B2 (ja) 映像記録再生装置
EP1440574A1 (en) Trick play using an information file
JP2007511855A (ja) トリック再生の性能を向上するためのキャッシュ管理
JP2007510230A (ja) ユーザー指定情報を用いたメディアコンテンツの注釈付け
US20100247066A1 (en) Method and apparatus for reverse playback of encoded multimedia content
US7693008B2 (en) Video reproduction apparatus, video reproduction method, and video reproduction process program
JP4999931B2 (ja) ディスク状記録媒体、並びに映像情報再生装置及び方法
JP2001086462A (ja) 動画像記録装置及び動画像再生装置
WO2008035459A1 (fr) Procede et dispositif de reproduction d'image dynamique
JP2004140575A (ja) データ処理装置、データ処理方法、および情報記憶媒体、並びにコンピュータ・プログラム
KR101302869B1 (ko) 재생 장치 및 재생 방법
US20090109810A1 (en) Recording/reproduction apparatus
JP4591549B2 (ja) 再生処理装置、および再生処理方法、並びにプログラム
JP3704356B2 (ja) 符号化映像信号の復号化装置およびそれを用いた蓄積復号化装置
JP4350585B2 (ja) 再生装置
JP5188209B2 (ja) 表示制御装置、方法、およびプログラム
JP2013046357A (ja) 画像再生装置、画像再生方法および画像再生プログラム
JP2001157147A (ja) 動画サムネイル表示機能を有するデジタル記録再生装置および動画サムネイル表示方法
JP2012100162A (ja) 画像デコード装置及びデコードプログラム
JP4048809B2 (ja) データ処理装置および方法、記録媒体、並びにプログラム
JP2014064124A (ja) 動画処理装置、動画処理方法及びプログラム
JP5355176B2 (ja) 動画保存装置及びその制御方法
JP5246181B2 (ja) ネットワークコンテンツ再生制御装置、ネットワークコンテンツ再生制御方法、及び映像表示装置
JPH0927944A (ja) 動画像情報再生方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091126

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3