JP2008072336A - Decoding device and decoding method - Google Patents
Decoding device and decoding method Download PDFInfo
- Publication number
- JP2008072336A JP2008072336A JP2006248237A JP2006248237A JP2008072336A JP 2008072336 A JP2008072336 A JP 2008072336A JP 2006248237 A JP2006248237 A JP 2006248237A JP 2006248237 A JP2006248237 A JP 2006248237A JP 2008072336 A JP2008072336 A JP 2008072336A
- Authority
- JP
- Japan
- Prior art keywords
- encoded
- stream
- frame
- memory area
- frames
- 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.)
- Granted
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
この発明は、動画像が符号化されたストリームを復号する復号装置および復号方法に関する。 The present invention relates to a decoding apparatus and a decoding method for decoding a stream in which a moving image is encoded.
DVD(Digital Versatile Disc)などの大容量の光ディスクメディアを再生可能なメディアプレーヤやパーソナルコンピュータが普及しており、高品質の映像コンテンツがDVDなどに格納されて提供されている。また、テレビ放送などで提供されるコンテンツをDVDに録画することのできるDVDレコーダも普及している。DVDなどの記録媒体にビデオやオーディオを蓄積するためには圧縮符号化技術が不可欠であり、MPEG(Moving Picture Experts Group)やH.264/AVC(Advanced Video Coding)のような動画像圧縮符号化技術の規格がある。圧縮符号化されたビデオデータとオーディオデータは、再生時刻情報など同期再生に必要なヘッダ情報とともに一つのストリームに多重化されて、記録媒体に蓄積される。 Media players and personal computers capable of reproducing large-capacity optical disc media such as DVDs (Digital Versatile Discs) have become widespread, and high-quality video content is stored and provided on DVDs or the like. In addition, DVD recorders that can record content provided by television broadcasting or the like on a DVD are also widespread. In order to store video and audio on a recording medium such as a DVD, a compression coding technique is indispensable, MPEG (Moving Picture Experts Group) and H.264. There is a standard for moving picture compression coding technology such as H.264 / AVC (Advanced Video Coding). The compression-coded video data and audio data are multiplexed into one stream together with header information necessary for synchronous reproduction such as reproduction time information, and stored in a recording medium.
DVDプレイヤ、パーソナルコンピュータ、携帯端末などで映像コンテンツを再生する際、ハードディスクや記録媒体に格納された複数の映像コンテンツをまず動画サムネイルとして同時に画面に一覧表示し、ユーザに閲覧させるインタフェースが提供されることがある。ユーザが動画サムネイルの一覧表示において、いずれかの動画サムネイルを選択すると、その動画がフルサイズで再生される。 When playing back video content on a DVD player, personal computer, portable terminal, or the like, an interface is provided in which a plurality of video content stored in a hard disk or a recording medium is first displayed as a list of moving image thumbnails on the screen at the same time so that the user can browse. Sometimes. When the user selects any one of the moving image thumbnails in the moving image thumbnail list display, the moving image is reproduced in full size.
特許文献1には、複数の圧縮画像データを伸張して同時に表示する画像表示装置が開示されている。
複数の動画サムネイルを一覧表示するためには、複数のデコーダを用いて同時に表示する複数の動画ストリームを並列に復号する必要があり、デコーダをハードウェアで実装する場合は回路規模が大きくなり、ソフトウェアで実装する場合は、メモリやCPUなどのシステムリソースを大量に消費する。また、同時に表示する動画ストリームの本数に応じてデコーダの個数を調整できるスケーラブルな復号処理の構成を容易する必要があるが、ハードウェアでそのようなスケーラビリティをもつ復号回路を実装することは困難である。またソフトウェアでスケーラビリティをもたせるには並列処理を実装する必要があり、高度で複雑なプログラミングが要求される。また、複数の動画ストリームを並列に復号処理する過程で、システムリソースが枯渇した場合、同時に表示すべき動画ストリームの一部の復号が間に合わず、フレーム落ちが生じることもある。 In order to display a list of a plurality of video thumbnails, it is necessary to decode a plurality of video streams to be displayed simultaneously using a plurality of decoders in parallel. In the case of mounting with the above, a large amount of system resources such as memory and CPU are consumed. In addition, it is necessary to facilitate the configuration of scalable decoding processing that can adjust the number of decoders according to the number of video streams to be displayed at the same time, but it is difficult to implement a decoding circuit having such scalability in hardware. is there. In order to provide scalability in software, it is necessary to implement parallel processing, which requires sophisticated and complicated programming. Further, when system resources are exhausted in the process of decoding a plurality of moving picture streams in parallel, decoding of a part of the moving picture streams to be displayed at the same time may not be in time, resulting in frame dropping.
本発明はこうした課題に鑑みてなされたものであり、その目的は、動画像が符号化された複数のストリームを同時に効率良く再生することができる復号装置および復号方法を提供することにある。 The present invention has been made in view of these problems, and an object of the present invention is to provide a decoding apparatus and a decoding method capable of efficiently and simultaneously reproducing a plurality of streams in which moving images are encoded.
上記課題を解決するために、本発明のある態様の復号装置は、動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替部と、
前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、各符号化ストリームから復号されたフレームを一時的にバッファするフレームバッファとを含む。前記フレームバッファは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成される。
In order to solve the above problems, a decoding device according to an aspect of the present invention switches to one of a plurality of encoded streams when a plurality of encoded streams in which a frame of a moving image is encoded are given. A switching unit for reading out encoded data of the encoded stream;
A decoder that decodes encoded data of the encoded stream selected by the switching unit to generate a frame; and a frame buffer that temporarily buffers a frame decoded from each encoded stream. The frame buffer is a single memory area shared between the plurality of encoded streams, and temporarily stores a predetermined number of frames decoded from each of the plurality of encoded streams. A frame including a shared memory area and decoded from any encoded stream can be stored in any free area without being restricted by the storage position in the shared memory area.
本発明の別の態様は復号方法である。この方法は、動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出すステップと、読み出された前記符号化ストリームの符号化データを復号してフレームを生成するステップと、前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するステップとを含む。 Another aspect of the present invention is a decoding method. In this method, when a plurality of encoded streams in which a frame of a moving image is encoded are given, a step of switching to any one of the plurality of encoded streams and reading out encoded data of the encoded stream, A step of generating a frame by decoding encoded data of the encoded stream that is output, and a single memory area shared between the plurality of encoded streams, each of the plurality of encoded streams In the shared memory area for temporarily holding a predetermined number of frames decoded from the frame, the shared memory can be obtained from any of the encoded streams decoded from each encoded stream. Storing in any empty position without restricting the storage position in the area.
本発明のさらに別の態様はプログラムである。このプログラムは、動画像のフレームが符号化された符号化ストリームが複数与えられた場合、複数の符号化ストリームのいずれか一つに切り替えて前記符号化ストリームの符号化データを読み出す切替機能と、前記切替機能により選択された前記符号化ストリームの符号化データを復号してフレームを生成する復号機能と、前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリング機能とをコンピュータに実現させる。 Yet another embodiment of the present invention is a program. This program has a switching function of switching to any one of a plurality of encoded streams and reading the encoded data of the encoded stream when a plurality of encoded streams in which a frame of a moving image is encoded is given, A decoding function for decoding the encoded data of the encoded stream selected by the switching function to generate a frame, and a single memory area shared between the plurality of encoded streams, A frame decoded from each encoded stream is decoded from any encoded stream in a shared memory area for temporarily holding a predetermined number of frames decoded from each encoded stream. In addition, the storage location in the shared memory area is not limited, and a buffering function that stores data in any free location is used. To realize to.
このプログラムは、ビデオやオーディオのデコーダのライブラリとして提供されてもよく、あるいはビデオやオーディオのデコーダ等のハードウエア資源の基本的な制御を行なうために機器に組み込まれるファームウエアの一部として提供されてもよい。このファームウエアは、たとえば、機器内のROMやフラッシュメモリなどの半導体メモリに格納される。このファームウエアを提供するため、あるいはファームウエアの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。 This program may be provided as a library of video and audio decoders, or as part of firmware that is built into the equipment to perform basic control of hardware resources such as video and audio decoders. May be. This firmware is stored, for example, in a semiconductor memory such as a ROM or a flash memory in the device. In order to provide the firmware or to update a part of the firmware, a computer-readable recording medium storing the program may be provided, and the program may be transmitted through a communication line. Good.
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and the expression of the present invention converted between a method, an apparatus, a system, a computer program, a data structure, a recording medium, etc. are also effective as an aspect of the present invention.
本発明によれば、動画像が符号化された複数のストリームを同時に効率良く再生することができる。 According to the present invention, a plurality of streams in which moving images are encoded can be simultaneously and efficiently reproduced.
図1は、実施の形態に係る復号装置100の構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
FIG. 1 is a configuration diagram of a
復号装置100は、オーディオデータとビデオデータが符号化されて多重化されたストリーム(以下、「符号化ストリーム」または単に「ストリーム」と呼ぶ)を復号して再生する。符号化ストリームにおいて、ビデオデータはMPEG(Moving Picture Experts Group)−2やMPEG−4、H.264/AVCなどの規格にしたがって符号化されており、オーディオデータはMPEGオーディオなどの規格にしたがって符号化されている。復号装置100は、符号化ストリームからオーディオデータとビデオデータを分離した上でそれぞれを復号してオーディオとビデオを同期再生する。
The
復号装置100は、複数の符号化ストリームの各々からフレームを復号して、ディスプレイ110の画面に複数の動画サムネイルを同時に表示する。ユーザはディスプレイ110の画面上で複数の動画サムネイルを閲覧し、いずれかの動画サムネイルを選択することで、選択した動画をフルサイズで再生することができる。このとき、オーディオも同期して再生される。
The
ストレージ10には、複数の符号化ストリームが記録される。ストレージ10は、一例として、ハードディスクなどの大容量記録装置やDVDなどの記録媒体である。同図では、ストレージ10が復号装置100の内部にあるが、ストレージ10が外部サーバにあって、ネットワーク経由で外部サーバのストレージ10から符号化ストリームを読み出す構成にしてもよい。
A plurality of encoded streams are recorded in the
ストレージ10から読み出された複数の符号化ストリームは、復号処理のために一時的にストリームバッファ12に記憶される。ストリームバッファ12には、複数の符号化ストリームのデータが順に配置されており、バイト位置を指定することにより、ある符号化ストリームのデータをそのバイト位置から読み出すことができる。
The plurality of encoded streams read from the
符号化ストリームには、ビデオデータとオーディオデータが多重化されており、一般にはビデオデータは、GOP(Group of Picture)と呼ばれる符号化単位でフレーム間予測符号化されている。符号化ストリームのヘッダには、ストリーム属性とGOPの区切りを示すエントリポイントのマップ情報が格納されており、エントリポイントのマップ情報によってGOPの区切りとなるバイト位置を知ることができる。エントリポイントのマップ情報は、符号化ストリームのヘッダ情報として与えられる以外に、符号化ストリームとは別ファイルで与えられてもよい。 Video data and audio data are multiplexed in the encoded stream, and generally video data is inter-frame prediction encoded in an encoding unit called GOP (Group of Picture). The encoded stream header stores entry point map information indicating the stream attribute and GOP delimiter, and the byte position at which the GOP delimiter can be known from the entry point map information. The entry point map information may be provided as a separate file from the encoded stream, in addition to being provided as header information of the encoded stream.
H.264/AVCでは、GOPの区切りには、IDR(Instantaneous Decoding Refresh)フレームと呼ばれるフレームが存在する。IDRフレームは、当該フレームよりも前のフレームの情報がなくても、それ以降のフレームの復号が可能となるフレームである。IDRフレームが読み出されると、フレーム間予測符号化で参照するフレームを一時的に保持していたバッファがリセットされる。言い換えれば、IDRフレームは、後続のフレームに自分より前のフレームを参照する事を禁止するフレームである。IDRフレームで区切られるGOPはクローズドGOPと呼ばれ、そのGOPを構成するフレームのみを参照してフレーム間予測符号化がなされる。 H. In H.264 / AVC, there is a frame called an IDR (Instantaneous Decoding Refresh) frame at the GOP delimiter. An IDR frame is a frame in which subsequent frames can be decoded even if there is no information about the previous frame. When the IDR frame is read, the buffer that temporarily holds the frame to be referred to in the inter-frame prediction encoding is reset. In other words, the IDR frame is a frame that prohibits a subsequent frame from referring to a frame before itself. A GOP delimited by an IDR frame is called a closed GOP, and interframe predictive coding is performed with reference to only frames constituting the GOP.
時間的に前のGOPに含まれる画像を参照画像として利用しないGOPがクローズドGOPと呼ばれるのに対して、時間的に前のGOPに含まれる画像を参照画像として利用するGOPはオープンGOPと呼ばれる。フレーム間予測符号化がなされた動画ストリームにおいて、クローズドGOP内では他のGOPのフレームを参照することなく復号が可能であり、クローズドGOPは単独で復号可能な最小単位の符号化フレームの集合を与える。 A GOP that does not use an image included in the previous GOP as a reference image is called a closed GOP, whereas a GOP that uses an image included in the previous GOP as a reference image is called an open GOP. In a video stream that has been subjected to inter-frame predictive encoding, decoding can be performed within the closed GOP without referring to frames of other GOPs, and the closed GOP provides a set of encoded frames of the smallest unit that can be decoded independently. .
切替部14は、ストリームバッファ12に記憶された複数の符号化ストリームのいずれか一つに切り替えながら、いずれか一つの符号化ストリームのデータをGOP単位で読み出し、多重化分離部18に与える。切替部14は、ある符号化ストリームから一つのGOPを構成するフレームの符号化データを読み出し、一つのGOPの読み出しが終わると、次の符号化ストリームに切り替えてその符号化ストリームから同様に一つのGOPを構成するフレームの符号化データを読み出す。
The
切替部14は、GOP単位で符号化データを切り出すために、前述のエントリポイントのマップ情報を参照して、シンク(sync)フレームやH.264/AVCでいうIDRフレームなど最小復号単位となる画像シーケンスの先頭を示すフレームのバイト位置を検出することでGOPの区切りを検出する。別の方法として、エントリポイントのマップ情報などのメタ情報に頼らずに、符号化ストリーム内に多重化されたビデオストリームのヘッダを先頭から順に解析することでGOPの区切りを検出してもよい。
The switching
切替部14がGOP単位で複数の符号化ストリームを切り替えることにより、以下、多重化分離部18、ビデオデコーダ20およびオーディオデコーダ22において、切替部14により選択された符号化ストリームがGOP単位で復号される。クローズドGOPの場合、他のGOPのフレームを参照することなく、フレーム間予測符号化がなされているため、GOP内で完全に閉じて復号を行うことができ、多重化分離部18、ビデオデコーダ20およびオーディオデコーダ22が1つのインスタンスであっても、複数の符号化ストリームをGOP単位で切り替えながら並行して復号していくことができる。
When the switching
切替部14は、ラウンドロビン方式で複数の符号化ストリームを順番に切り替え、いずれか一つの符号化ストリームのデータをGOP単位で読み出す。あるいは、優先制御部16が複数の符号化ストリームの間に何らかの優先順位をつけ、切替部14は優先制御部16によって指定された優先順位にしたがって、優先度の高い符号化ストリームのデータを優先して読み出してもよい。優先制御部16の構成はオプションであり、優先制御部16の構成は省略してもよい。優先制御部16による優先制御は、後段の処理と関連する場合もあるため、後に具体的な例を説明する。
The switching
多重化分離部18は、切替部14から供給された符号化ストリームのデータからオーディオの符号化データとビデオの符号化データを分離し、ビデオの符号化データはビデオデコーダ20に、オーディオの符号化データはオーディオデコーダ22に与える。
The
オーディオデコーダ22は、符号化されたオーディオを復号する。復号されたオーディオは、ビデオデコーダ20により復号されたビデオのフレームに同期して再生される。オーディオの復号処理や、ビデオとオーディオの同期再生処理については公知の技術を用いることができる。
The
ビデオデコーダ20は、切替部14により選択された符号化ストリームからGOP単位で読み出されたビデオの符号化データを復号する。ビデオデコーダ20は、可変長復号部、逆量子化部、逆直交変換部、動き補償部など復号処理に必要な構成を含み、GOP内の各符号化フレームを復号してフレームを復元する。GOP内のフレームが、フレーム内符号化がなされたI(Intra)フレームである場合、フレーム内符号化を復号し、フレーム間予測符号化されたP(Predictive)フレームまたはB(Bidirectionally predictive)フレームの予測画像を生成する際の参照画像として保持する。GOP内のフレームが、PフレームまたはBフレームである場合、その画像データは差分画像であるため、その差分画像と動き補償により得られる予測画像とを加算することにより、元のフレームを復元する。ビデオデコーダ20は、こうして符号化ストリームから復号されたGOP内の各フレームをフレームバッファ26の共有メモリ領域28に書き込む。
The
図2は、フレームバッファ26の共有メモリ領域28のデータ構造を説明する図である。フレームバッファ26は、複数の符号化ストリーム間で共有される単一の共有メモリ領域28を含む。共有メモリ領域28は、各符号化ストリームからGOP単位で復号されたフレームを表示するために一時的に保持するものであり、GOPを構成するフレームの枚数(「GOPフレーム数」という)Mに復号対象の符号化ストリームの本数Nを乗算したMN個のフレームを保持するだけの容量を有する。一般にGOPフレーム数は可変であり、符号化ストリーム毎に異なる。そこで、GOPフレーム数Mは、GOPを構成するフレームの平均的な枚数や取りうる最大枚数で見積もり、共有メモリ領域28の容量を設計する。
FIG. 2 is a diagram for explaining the data structure of the shared
共有メモリ領域28は、復号されたフレームを保持するためのブロック(同図ではa〜zの記号で表記される)に分かれており、各ブロックのバイト位置を指定することで、そのブロックに対して復号後のフレームデータを読み書きすることができる。共有メモリ領域28内の各ブロックは、いずれの符号化ストリームから復号されたフレームであっても格納することができ、符号化ストリームによって格納位置が制限されることがない。すなわち、共有メモリ領域28は複数の符号化ストリームの間で共用される単一のメモリ領域であり、符号化ストリーム毎に格納領域が区分けされているのではない。
The shared
N本のストリームの内、第i番目のストリーム#iについて、第j番目に表示される復号後のフレームをフレーム#i−jと表記する。各ストリームから復号されたフレームは共有メモリ領域28内の任意の空きブロックに格納することができる。同図では、第1ストリーム#1のフレーム#1−1、#1−2、フレーム#1−3、フレーム#1−Mは、それぞれ共有メモリ領域28のブロックa、e、i、tに格納されている。
Of the N streams, for the i-th stream #i, the decoded frame displayed at the j-th is denoted as frame # i-j. A frame decoded from each stream can be stored in an arbitrary empty block in the shared
同様に、第2ストリーム#2のフレーム#2−1、#2−2、フレーム#2−Mは、それぞれ共有メモリ領域28のブロックb、c、sに格納されており、第Nストリーム#Nのフレーム#N−1、フレーム#N−Mは、それぞれ共有メモリ領域28のブロックh、zに格納されている。
Similarly, frames # 2-1, # 2-2, and # 2-M of the
共有メモリ領域28においてフレームが格納されたブロックはそのフレームの再生が終わると無効化されて空きブロックとなる。空きブロックは他のストリームのフレームを保持するために使われる。
The block in which the frame is stored in the shared
ビデオデコーダ20は、フレームバッファ26の共有メモリ領域28の空きブロックに各ストリームから復号されたフレームを書き込む。このとき、ビデオデコーダ20は、共有メモリ領域28内のフレームの格納位置に関する情報、フレームの再生順序に関する情報、およびフレームの属性をストリーム毎にバッファ管理テーブル24に記録する。
The
図3は、バッファ管理テーブル24のデータ構造を説明する図である。バッファ管理テーブル24は、共有メモリ領域28の空きブロック情報と、復号対象であるストリーム#1〜#Nの管理情報とを格納する。空きブロック情報は、共有メモリ領域28においてフレームの再生が終了して無効化された空きブロック(同図の例では、ブロックj、k、m、p)のバイト位置のリストである。空きブロック情報は、ブロック数分の無効フラグの配列に空きであるかどうかを示すバイナリデータを保持することで管理してもよい。ビデオデコーダ20は、バッファ管理テーブル24の空きブロック情報を参照して、各ストリームから復号されたフレームをGOP単位で空きブロックに書き込む。
FIG. 3 is a diagram for explaining the data structure of the buffer management table 24. The buffer management table 24 stores free block information of the shared
各ストリーム#1〜#Nの管理情報は、共有メモリ領域28に再生待ちの状態で格納されている復号されたフレームの格納先ブロックとフレーム属性を含む。たとえば、図2の共有メモリ領域28の例に対応して、ストリーム#1の管理情報は、GOPを構成するフレームのフレーム番号1、2、3、…、Mに格納先ブロックa、e、i、…、tのバイト位置を対応づけたものであり、各フレームがIピクチャ、Pピクチャ、Bピクチャのいずれであるかを示す属性も合わせて対応づけられる。フレーム番号は再生順序を示しており、各ストリームについてフレーム番号の順にフレーム番号に対応づけられた格納先ブロックからフレームを読み出して表示することで、各ストリームを動画として再生することができる。
The management information of each
表示制御部30は、バッファ管理テーブル24を参照して、各符号化ストリームから復号されたフレームの再生順序と格納位置に関する情報を取得する。そして、表示制御部30は、ディスプレイ110の垂直同期信号(VSYNC;vertical synchronizing signal)に同期してフレームバッファ26の共有メモリ領域28から各ストリームのフレームを1枚ずつ読み出し、ディスプレイ110の画面に各ストリームの動画サムネイルを同時に表示する制御を行う。表示制御部30は、垂直同期信号によって指示される垂直同期周波数でフレームバッファ26から各ストリームの次のフレームを読み出し、画面に表示された各ストリームの動画サムネイルをリフレッシュする。表示制御部30は、2回の垂直同期信号(2VSYNC)毎に動画サムネイルをリフレッシュしてもよい。たとえば、プログレッシブ方式の場合、(1/60)秒の周期で与えられる垂直同期信号毎に画面を1回リフレッシュするが、インタレース方式の場合、2回の垂直同期信号毎、すなわち(1/30)秒の周期で1回、偶数番号の走査ラインからなるフィールドまたは奇数番号の走査ラインからなるフィールドを交互にリフレッシュする。
The
ここで、各ストリームのフレームレートに違いがある場合は、表示制御部30は、各ストリームのフレームレートに応じた周期でフレームバッファ26の共有メモリ領域28から各ストリームのフレームを1枚ずつ読み出し、ディスプレイ110のVRAMなどに書き込むことで、各ストリームのフレームレートで動画をディスプレイ110に表示することができる。これにより、たとえば、24フレーム/秒のストリームと30フレーム/秒のストリームが混合している場合にも対応することができる。なお、この場合でも、VRAMなどのフレームメモリからピクセルデータが読み出されて、ディスプレイ110に出力されるタイミング、すなわちリフレッシュレートは、前述の垂直同期信号で制御される。
Here, when there is a difference in the frame rate of each stream, the
表示制御部30は、各ストリームについて表示が終了したフレームについてはバッファ管理テーブル24のフレーム番号を各ストリームの管理情報から消去し、そのフレーム番号に対応づけられた格納先ブロックを空きブロックに変更してバッファ管理テーブル24の空きブロック情報にその空きブロックを追加する。
The
表示制御部30の動作により、フレームバッファ26の共有メモリ領域28から垂直同期信号のタイミングで各ストリーム#1〜#Nの次に表示すべきフレームが1枚ずつ読み出され、各ストリームのフレームが格納されていたブロックが空きブロックになる。すなわち、同時に動画サムネイルとして表示されるストリーム数(「同時表示ストリーム数」)Nと同じ数のフレームが同時に共有メモリ領域28から読み出され、N個の空きブロックが生じる。
By the operation of the
同時表示ストリーム数Nが、GOPフレーム数M以上であれば、表示制御部30が垂直同期信号に同期して動画をリフレッシュの度に、共有メモリ領域28には1GOP内のフレームを格納するだけの空きブロックが生じることになり、ビデオデコーダ20はあるストリームからGOP単位で復号されたフレームの集合をこれらの空きブロックに書き込むことができる。同時表示ストリーム数NがGOPフレーム数Mの半分であれば、表示制御部30が2回リフレッシュすると、ビデオデコーダ20は1GOPのフレーム集合を空きブロックに書き込むことができる。
If the number N of simultaneous display streams is equal to or greater than the number M of GOP frames, the
このように、表示制御部30が複数のストリームから復号される動画を同時に画面にサムネイル表示することから、フレームバッファ26からは各ストリームのフレームが1枚ずつ消費され、同時に複数の空きブロックが生じる。この点に着目して、本実施の形態では、フレームバッファ26に共有メモリ領域28を設け、同時に表示されるストリーム間で共有するようにし、いずれのストリームのフレームでも格納位置の制約を受けることなく、書き込むことができるようにした。これにより、同時に表示されるストリームを並列に復号処理をする代わりに、単一のビデオデコーダ20が切替部14により選択された一つのストリームについてのみGOP単位の復号処理を行っていても、同時に表示されるストリームの動画サムネイルが一斉にリフレッシュされるのを受けて、選択されたストリームから復号された1GOP内のフレーム集合を共有メモリ領域28の空きブロックに一気に書き込むことができ、ビデオデコーダ20は次のストリームに切り替えてGOP単位の復号処理を続けることができる。
As described above, since the
共有メモリ領域28を中心に見れば、表示制御部30は、各ストリームの次のフレームを共有メモリ領域28から読み出す処理を行い、ビデオデコーダ20は、切替部14により選択されたストリームについてGOP単位で復号されたフレームを共有メモリ領域28の空きブロックに書き込む処理を行う。表示制御部30による共有メモリ領域28からの読み出し処理と、ビデオデコーダ20による共有メモリ領域28への書き込み処理は非同期に行われる。
Looking at the shared
表示制御部30は、垂直同期信号が与えられる周期で各ストリームのフレームを読み出す一方、ビデオデコーダ20は、共有メモリ領域28に1GOP分の空きブロックがないときは、1GOP分の空きブロックが生じるまで復号処理をサスペンドする。表示制御部30は、画面に表示している動画サムネイルの本数分のストリームのフレームを同時に共有メモリ領域28から読み出すため、共有メモリ領域28には1GOP分の空きブロックがすぐに生じる。ビデオデコーダ20は、1GOP分の空きブロックが生じると直ちに既に復号した1GOP分のフレームを書き込み、サスペンドしていたプロセスをレジュームし、その後の他のストリームの復号処理に移行する。
The
もっとも、実装上は、ビデオデコーダ20は自身で内部バッファをもつため、フレームバッファ26の共有メモリ領域28に1GOP分の空きブロックがないときでも、プロセスをサスペンドせずにビデオデコーダ20は復号処理を進め、復号されたフレームを内部バッファに蓄積しておくことができる。また、共有メモリ領域28に1GOP分の空きブロックがなくても、ビデオデコーダ20は復号されたフレームを可能な限り、内部バッファから共有メモリ領域28の空きブロックに移すことができる。1GOPに含まれるフレームの枚数は実際に復号してみないとわからないため、ビデオデコーダ20は共有メモリ領域28の空きブロックの数に関係なく、可能な限りデコード処理を進めることが効率的であり、システムリソースを有効に用いることができる。以下の図4A〜図4Fでは、説明が必要以上に煩雑にならないように、このような実装上の工夫に直接触れることなく、動作を説明するが、図4A〜図4Fにおいて、ここで述べた実装上の工夫を加えれば、さらに効率を上げることができることに留意する。
However, since the
表示制御部30は、GOP単位で復号されたフレームを全部読み出して再生が終わると、次のGOPのフレームデータを必要とする。ビデオデコーダ20は、表示制御部30が次のGOPに移る前に、画面に同時に表示されているすべてのストリームについて次のGOPの復号を完了して、共有メモリ領域28にフレームデータを書き込んでいなければならない。
When all the frames decoded in units of GOP are read and reproduced, the
同時表示ストリーム数がN、GOPフレーム数がMのとき、表示制御部30がM枚のフレームをリフレッシュする時間、たとえば、垂直同期信号の周期がL秒であるとすると、LM秒の間に、ビデオデコーダ20は、N本の符号化ストリームのすべてについて次の1GOP分の復号処理、すなわち合計MN個のフレームの復号を完了し、共有メモリ領域28に書き込んでいないといけない。すなわち、ビデオデコーダ20には、LM秒でMN個、すなわちL秒でN個のフレームを復号する性能が要求される。たとえば、同時表示動画サムネイル数Nが10、垂直同期信号の周期Lが33ミリ秒であるとすると、1秒で約300枚のフレームを復号する性能が要求される。
When the number of simultaneous display streams is N and the number of GOP frames is M, if the
ビデオデコーダ20は、上記の性能が保証される限り、ハードウェアもしくはソフトウェア、あるいは両者の組合せのいずれで実現されてもよい。たとえば、ビデオデコーダ20は、高性能なCPUもしくはマルチプロセッサ、あるいは複数のプロセッサコアを一つのパッケージに集積したマルチコアプロセッサ上で実行されるプログラムであってもよい。あるいは、ビデオデコーダ20は、MPEGなどの規格にしたがって復号処理を行う専用回路であってもよい。
The
図4A〜図4Fは、共有メモリ領域28に対してフレームが読み書きされる様子を時系列順に説明する図である。これらの図を参照して、ビデオデコーダ20によって共有メモリ領域28に各符号化ストリームから復号されたフレームが書き込まれ、表示制御部30によって共有メモリ領域28からフレームが読み出されて再生される手順を説明する。ここでは、簡単のため、同時表示ストリーム数Nは3、GOPフレーム数Mは4または5であるとして説明する。
FIG. 4A to FIG. 4F are diagrams for explaining how frames are read from and written to the shared
図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に格納される。
FIG. 4A is a diagram showing a state in which the frames constituting the GOP of each stream are written in the shared
図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から読み出す構成であれば、これらのブロックを空きブロックとしなくてもよい。次のリフレッシュのタイミングでフレームデータが不要となるブロックだけを空きブロックとすればよい。
FIG. 4B is a diagram showing a state in which the first frame of each stream is read and displayed one by one from the shared
図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も空きブロックとなる。
FIG. 4C is a diagram illustrating a state in which the second frame of each stream is read and displayed one by one from the shared
図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に格納する。
FIG. 4D is a diagram illustrating a state in which a frame constituting the next GOP of the
図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つのブロックが空き状態になる。
FIG. 4E is a diagram illustrating a state in which the third frame of each stream is read out and displayed one by one from the shared
図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に格納される。
FIG. 4F is a diagram showing a state in which a frame constituting the next GOP of the
ここで、実装上の工夫について触れると、復号するまではGOPを構成するフレーム数はわからないから、ビデオデコーダ20は、第2ストリーム#2について次のGOPの復号を進め、少なくとも最初の4枚のフレームについては共有メモリ領域28の4個の空きブロックに順次格納していく。仮に復号の結果、GOPを構成するフレームが4枚でなく、5枚であったという場合でも、最初の4枚のフレームについては復号して共有メモリ領域28にバッファリングすることができる。また、ビデオデコーダ20内部にもバッファがあるから、共有メモリ領域28に空きがなくても、ビデオデコーダ20は、1GOP分の復号を終え、内部バッファに格納しておくこともできる。
Here, touching on the ingenuity on implementation, since the number of frames constituting the GOP is not known until decoding, the
また、ビデオデコーダ20の復号処理のサスペンドとレジュームを制御する機構として、共有メモリ領域28内の空きブロック数と、復号されたGOPを構成するフレーム数を比較し、空きブロック数がGOPフレーム数よりも大きい場合には、GOPを構成するフレームをすべて共有メモリ領域28に書き込んで、次のストリームの復号処理に切り替え、空きブロック数がGOPフレーム数よりも小さい場合には、空きブロック数がGOPフレーム数に達するまでそれ以降の復号処理をサスペンドする制御部を設けてもよい。
Further, as a mechanism for controlling the suspend and resume of the decoding process of the
このように、表示制御部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を構成するフレームを格納するだけの空きブロックが生じるまでは復号処理を中断し、待ち状態になる。
Thus, when the
本実施の形態では、フレームバッファ26において複数のストリームで共有される共有メモリ領域28を設け、いずれのストリームから復号されたフレームであっても区別することなく、任意の空きブロックに格納されるように構成した。画面に同時に複数の動画サムネイルを表示することにより、動画サムネイルがリフレッシュされる度に複数のフレームが同時に共有メモリ領域28から読み出され、共有メモリ領域28に複数の空きブロックが不連続に発生する。ビデオデコーダ20は、復号されたGOP単位のフレームをこの空きブロックに非同期に書き込んで、次の符号化ストリームのGOPの復号処理を進めることができる。
In the present embodiment, a shared
ここで、フレームバッファ26内に共有メモリ領域28を設けた意義をより良く理解するため、図5A〜図5Dを参照して、フレームバッファ26内に共有メモリ領域28を設けず、ストリーム毎に独立した専用メモリ領域を設けた場合のフレームの読み書きの手順を時系列順に説明する。この場合、フレームバッファ26において、ストリーム毎にメモリ領域が区分けされ、あるストリーム用に割り当てられたメモリ領域は、そのストリームから復号されたフレームのみを格納し、他のストリームから復号されたフレームを格納することはできないという制約が設けられる。
Here, in order to better understand the significance of providing the shared
図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を含み、これらのブロックは、それぞれのストリームのフレームだけを格納するために用いられ、他のストリームのフレームを格納することはできない。
FIG. 5A is a diagram showing a state in which frames constituting the GOP of each stream are written in a dedicated memory area provided independently for each stream. In the
第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に格納される。
The five frames # 1-1 to # 1-5 constituting the GOP of the
図5Bは、最初の垂直同期信号に同期して図5Aに示した状態の各専用メモリ領域29a、29b、29cから各ストリームの最初のフレームが1枚ずつ読み出されて表示された状態を示す図である。最初の垂直同期信号に同期して各専用メモリ領域29a、29b、29cから最初のフレーム#1−1、#2−1、#3−1が読み出され、画面に動画サムネイル111、112、113が表示される。このとき、各専用メモリ領域29a、29b、29cにはそれぞれ一つの空きブロック1a、2a、3aが生じる。
FIG. 5B shows a state in which the first frame of each stream is read out and displayed one by one from each
図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が生じる。
FIG. 5C shows a state in which the second frame of each stream is read and displayed one by one from each
この時点で、第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は待ち状態となり、次のストリームの復号処理に進むことができない。
At this point, it is assumed that the five frames # 1-6 to # 1-10 constituting the next GOP of the
図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は次の符号化ストリームの復号処理を進めることができるようになる。
FIG. 5D is a diagram illustrating a state in which all the remaining frames of each stream are read from the
しかし、この時点で第2、第3ストリーム#2、#3についてはまだ次のGOPの復号処理が行われていないため、第2、第3専用メモリ領域29b、29cには表示すべきフレームがバッファリングされていない。6回目の垂直同期信号のタイミングで動画サムネイルを更新するとき、第1ストリーム#1については画像を更新できるが、第2、第3ストリーム#2、#3については画像を更新することができず、フレームが欠落する。
However, since the next GOP decoding process has not yet been performed for the second and
このように、フレームバッファ26にストリーム毎に別々に独立した専用メモリ領域を設けると、専用メモリ領域に1GOPのフレームを格納できるたけの空き領域が生じるまでに時間がかかり、その間、ビデオデコーダ20の復号処理が停止し、次のストリームに切り替えて復号処理を進めることができないから、複数の動画サムネイルを同時にフレーム落ちさせることなく表示することが難しくなる。そこで、本実施の形態では、フレームバッファ26内に共有メモリ領域28を設けて、複数の符号化ストリームの間で区別することなくフレームを空きブロックに書き込むことができるように構成し、同時に複数の動画サムネイルをフレーム落ちさせることなく表示することを可能にした。
As described above, when the dedicated buffer memory area is provided separately for each stream in the
なお、本実施の形態のフレームバッファ26は、複数のストリームの各々から復号された1GOP分のフレームデータを蓄積しておくための「バッファプール」を意味し、ディスプレイに表示されるピクセルデータを保持するVRAM(Video Random Access Memory)とは異なる意味であることに留意する。ディスプレイ110にピクセルデータを出力するためのVRAMなどのフレームメモリがフレームバッファ26とは別途設けられもよく、あるいは、フレームバッファ26がディスプレイ110にピクセルデータを出力するためのフレームメモリとして流用されてもよい。
The
また、ビデオデコーダ20はそれ自身で復号処理のためのバッファを内部にもっており、フレーム間予測符号化されたフレームの復号に必要な参照フレームのデータをその内部バッファに保持することができる。したがって、ビデオデコーダ20は、クローズドGOPであるかオープンGOPであるかを問わず、復号することができる。オープンGOP、すなわち他のGOPのフレームの参照が必要なGOPの場合、ビデオデコーダ20は、復号の際に参照が必要なフレームをデコーダ内部のバッファに残しておいて、次のGOPの復号に利用すればよい。
In addition, the
ただし、本実施の形態のビデオデコーダ20は、GOP単位でストリームを切り替えて復号する構成であるため、オープンGOPの場合に、あるストリームについて次のGOPの復号で参照すべきフレームをデコーダ内部のバッファに保持すると、ストリームの切り替えが一巡して、当該ストリームに戻るまでその参照フレームをバッファ内に保持し続けなければならない。ビデオデコーダ20の内部バッファの容量に制限がある場合、あるストリームの次回のGOPの復号に用いられる参照フレームを、ストリームの切り替えが一巡するまでバッファリングすることはメモリ容量の面では得策ではない。
However, since the
そこで、あるストリームについて次のGOPの復号に用いられる参照フレームは、ビデオデコーダ20の内部バッファではなく、フレームバッファ26内に残し、ストリームの切り替えが一巡して、当該ストリームに戻ったときに、ビデオデコーダ20がその参照フレームをフレームバッファ26から読み出して復号に利用するように構成してもよい。ビデオデコーダ20の内部バッファよりも、複数のストリームのフレームデータを蓄積可能なフレームバッファ26の方がメモリ容量を大きく設計するのが普通である。フレームバッファ26に参照フレームを保持して、ビデオデコーダ20がフレームバッファ26を参照する構成は、システムのメモリ設計の面で有利である。
Therefore, the reference frame used for decoding the next GOP for a certain stream remains in the
ここで、表示制御部30による動画サムネイルの表示制御と、優先制御部16による復号対象の複数の符号化ストリームの優先制御について、いくつかの具体例を挙げながら説明する。
Here, the display control of the moving image thumbnail by the
図6(a)〜(c)は、動画サムネイルの表示制御の例を説明する図である。表示制御部30は、ディスプレイ110の画面に動画サムネイルを上下に配列して表示し、上下のスクロール操作により画面に表示される動画サムネイルを切り替えるように制御する。この場合、画面に表示されていない動画サムネイルであっても、上下のスクロール操作によって表示対象となることがあるから、ビデオデコーダ20は、上下のスクロール操作により表示される可能性があるストリームについても復号処理を実行し、共有メモリ領域28に書き込む。表示制御部30は、画面に動画サムネイルとして表示されているストリームについてのみ共有メモリ領域28からフレームを読み出して表示する。
6A to 6C are diagrams illustrating an example of display control of a moving image thumbnail. The
図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についてはオーディオを復号してビデオに同期して再生する。
In the example of FIG. 6A, among the nine
ユーザは矢印キーなどを操作することで画面を上下にスクロールさせて中央に表示される動画サムネイルを切り替えることができる。たとえば、画面上で動画サムネイル列が上向きにシフトするようにスクロール操作を行うと、図6(b)のように、それまで中央にあったストリーム#5の動画サムネイル123は一つ上の位置に移動し、すぐ下の位置にあったストリーム#6の動画サムネイル124が中央に移動して大きく表示される。このとき、図6(a)において画面の外側にあったストリーム#8が新たに画面の最下端の位置に動画サムネイル126として表示され、図6(a)において画面の最上端の位置に表示されていたストリーム#3の動画サムネイル121は画面の外側に出るため、それ以降は表示されなくなる。
The user can switch the moving image thumbnail displayed in the center by scrolling the screen up and down by operating an arrow key or the like. For example, when the scroll operation is performed so that the moving image thumbnail row is shifted upward on the screen, the moving
ビデオデコーダ20は、図6(a)において画面の外側にあるストリーム#1、#2、#8、#9についても復号し、共有メモリ領域28にフレームを格納しているため、ユーザがスクロール操作を行っても画面に新たに現れるストリームを動画サムネイルとして直ちに表示することができる。図6(a)の例では、上下に動画サムネイル2つ分スクロールさせても、画面には動画サムネイルが遅延なく表示される。
Since the
優先制御部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については再生時間に間に合うように復号処理を確実に行うことができる。
The
優先制御部16は、図6(a)において画面の中央に表示されているストリーム#5の優先度を最も高くしてもよい。また、画面の中央に近いストリームほど優先度を高くしてもよい。たとえば、#5、#4、#6、#3、#7、#2、#8、#1、#9の順に優先度が下がるようにストリームの優先順位を設定してもよい。
The
画面のスクロール操作により図6(b)の状態になると、切替部14は、復号対象のストリームを入れ替え、図6(c)のように、最上端のストリーム#1は復号対象から外し、最下端にストリーム#10を新たに復号対象に含める。これにより、新たな9本のストリーム#2〜#10がビデオデコーダ20の復号対象となる。このように画面のスクロール操作に応じて復号対象となるストリームを入れ替えることで画面のスクロールにリアルタイムに適応して、動画サムネイルをいつでもスムーズに表示させることができる。
When the screen scroll operation results in the state of FIG. 6B, the switching
表示制御部30による表示制御と優先制御部16による優先制御にはいろいろなバリエーションが考えられる。上記の例では、表示制御部30は、画面の中央にある動画サムネイルを大きく表示させ、画面をスクロールさせることにより注目したい動画サムネイルを中央に移動させるユーザインタフェースを提供した。表示制御部30は、動画サムネイルを一覧表示し、ユーザが矢印キーなどでカーソルを移動させて注目したい動画サムネイルを選択させるインタフェースを提供し、選択された動画サムネイルを大きく表示させてもよい。
Various variations are conceivable for the display control by the
また、ユーザが注目している動画サムネイルを強調表示する他の方法として、表示制御部30は、注目している動画サムネイルは、それ以外の動画サムネイルよりも高いフレームレートで再生したり、あるいは、注目している動画サムネイルは通常のフレームレートで復号し、それ以外の動画サムネイルはフレームレートを落として再生することで、注目している動画サムネイルの品質を相対的に高めてもよい。
As another method of highlighting the video thumbnail that the user is paying attention to, the
優先制御部16による優先制御のバリエーションを以下にまとめて説明する。これらの優先制御のバリエーションは単独もしくは組み合わせて用いることができる。
Variations of priority control by the
(a)優先制御部16は、各ストリームのGOPフレーム数に依存した優先順位を設定する。たとえば、GOPフレーム数が小さいストリームほど優先度を高く設定する。GOP内のフレーム枚数が少ないストリームほど、早いタイミングで再生が終わるため、フレームバッファ26の共有メモリ領域28内のフレームが早く消費されてなくなる。GOPフレーム数が小さいストリームを優先して復号することで、再生に必要なフレームが共有メモリ領域28内で枯渇するのを防ぎ、フレーム落ちを防ぐことができる。
(A) The
(b)優先制御部16は、バッファ管理テーブル24を参照して、フレームバッファ26の共有メモリ領域28内で再生されずに残存するフレームの枚数をストリーム毎に調べ、残存するフレームの枚数に依存した優先順位を設定する。たとえば、共有メモリ領域28内に残存するフレームの枚数が少ないストリームほど優先度を高くする。これにより、複数のストリーム間でフレームの残存数を平均化することができ、再生に必要なフレームが枯渇してフレーム落ちが発生する状況を未然に防ぐことができる。
(B) The
(c)優先制御部16は、各ストリームのフレームレートに依存した優先順位を設定する。高フレームレートのストリームほど共有メモリ領域28からフレームが速く消費されるため、優先度を高くする。これにより、高フレームレートのストリームについて、フレームデータが再生時間に間に合うように復号され、共有メモリ領域28にバッファリングされる。
(C) The
(d)画面に現時点で表示されているストリーム以外にも近い将来表示される可能性のあるストリームをあらかじめ復号しておくことがある。表示される可能性のあるストリームを前もって復号する例として、図6(a)〜(c)で説明したスクロール操作による場合以外に、ある動画サムネイルに他のストリームがリンクづけされており、ユーザの操作によりリンク先のストリームの動画サムネイルを表示する場合などがある。そのような場合、優先制御部16は、画面に表示されるストリームを画面に表示されないストリームよりも優先する優先順位を設定する。これにより、画面に表示されるストリームをより確実に復号してフレームバッファ26に格納しておくとともに、画面に表示される可能性のある符号化ストリームを低い優先度で復号してフレームバッファ26に格納し、再生の潜在的な可能性に備えることができる。
(D) In addition to the stream currently displayed on the screen, a stream that may be displayed in the near future may be decoded in advance. As an example of decoding a stream that may be displayed in advance, in addition to the case of the scroll operation described with reference to FIGS. In some cases, an operation displays a video thumbnail of a link destination stream. In such a case, the
(e)表示制御部30が画面に表示する複数の動画サムネイルの再生品質を異ならせる制御を行う場合、優先制御部16は、動画サムネイルの再生品質に応じた優先順位を設定する。たとえば、動画サムネイルの再生品質が高いストリームほど優先度が高くなる優先順位を設定し、再生品質要求の高いストリームを他のストリームよりも優先的に復号することで、再生品質要求の高いストリームについては高フレームレートや高解像度で再生するといった強調表示が可能になる。
(E) When the
以上述べたように、本実施の形態の復号装置100によれば、単一のビデオデコーダ20が、複数のストリームを切り替えながらGOP単位で復号して共有メモリ領域28にバッファリングし、表示制御部30は、共有メモリ領域28から表示すべき複数のストリームのフレームを読み出して画面に同時に動画像として表示することができる。ビデオデコーダ20は表示制御部30とは非同期に動作し、共有メモリ領域28にGOP単位で復号されたフレームを格納するための空き領域がなければ、復号処理をいったん停止する。そのため、共有メモリ領域28以上の容量を設ける必要がなく、メモリ量を節約できる。
As described above, according to the
表示制御部30は、同時に複数のストリームを表示するため、動画のリフレッシュの度に共有メモリ領域28には同時表示ストリーム数のフレーム分の空き領域が生じる。共有メモリ領域28に1GOP分のフレームを格納するための空き領域が生じれば、ビデオデコーダ20は直ちに1GOP分のフレームを空き領域に書き込み、速やかに次のストリームの復号処理に移ることができるから、共有メモリ領域28にフレームデータが枯渇してフレーム落ちが発生することがない。
Since the
本実施の形態の復号装置100では、多重化分離部18およびビデオデコーダ20を一つだけ用意して複数のストリームを復号するため、ハードウェアで実装する場合、複数の多重化分離部18およびビデオデコーダ20を用いる構成に比べて、回路規模を小さくすることができる。ソフトウェアで実装する場合でも、多重化分離部18およびビデオデコーダ20のインスタンスを1つだけ実行させればよいから、システム制御プログラムを軽量化することができ、また、同時表示ストリーム数に応じてスケーラブルなソフトウェア構成を取ることができる。さらに、必然的にメモリやCPUなどの計算資源の使用率も低減される。システム性能やシステムリソースに応じて、ビデオデコーダ20のインスタンスを2つ以上設けてもかまわない。いずれにしても、極力少ない数のビデオデコーダ20のインスタンスにより、多数のストリームを実質的に並列に復号して、多数の動画を同時に再生できる点に利点がある。
In the
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。 The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. . Such a modification will be described.
上記の実施の形態では、複数の符号化ストリームを復号して同時に動画サムネイルとして一覧表示する例をもとに本発明を説明したが、本発明は、複数の符号化ストリームを復号して同時に再生する他の用途にも同様に適用することができる。たとえば、コンピュータグラフィックスで生成された仮想空間の画面に複数の動画を貼り付けて表示する場合にも本発明を適用して、単一のデコーダで複数の動画を効率良く同時再生することができる。 In the above embodiment, the present invention has been described based on an example in which a plurality of encoded streams is decoded and displayed as a list of moving image thumbnails at the same time. However, the present invention decodes a plurality of encoded streams and reproduces them simultaneously. It can be applied to other uses as well. For example, even when a plurality of moving images are pasted and displayed on a virtual space screen generated by computer graphics, the present invention can be applied to efficiently reproduce a plurality of moving images simultaneously with a single decoder. .
また、実施の形態では、ビデオの復号を説明したが、本発明は原理的にはオーディオの復号にも適用できる。オーディオにもビデオと同様にオーディオフレームと呼ばれる符号化および復号の単位があり、ビデオストリームの場合と同様、複数のオーディオストリームを切り替えながら、ビデオのGOPに対応した最小復号単位でオーディオフレームの集合を復号してもよい。本発明を適用して複数のオーディオを同時に再生するニーズとして、たとえば、次のようなアプリケーションが考えられる。コンピュータグラフィックスにより生成される仮想空間において、場所によって異なる音声や音楽が聞こえてくる環境を実現し、ユーザが操作するキャラクタがその場所に近づくと音が大きく聞こえ、遠ざかると音が小さく聞こえるように構成する。このような仮想空間環境において、ユーザのキャラクタの周辺から各場所の音声または音楽が同時に聞こえてくるように複数のオーディオストリームを同時に再生する。 In the embodiments, video decoding has been described. However, the present invention is also applicable to audio decoding in principle. Similarly to video, audio has a unit of encoding and decoding called an audio frame. As in the case of a video stream, a plurality of audio streams are switched, and a set of audio frames is set in a minimum decoding unit corresponding to a video GOP. You may decode. As a need for reproducing a plurality of audios simultaneously by applying the present invention, for example, the following applications can be considered. In a virtual space generated by computer graphics, an environment where different voices and music can be heard depending on the location is realized, and when the character operated by the user approaches the location, the sound can be heard loudly, and the sound can be heard quietly when moving away. Constitute. In such a virtual space environment, a plurality of audio streams are simultaneously reproduced so that the voice or music of each place can be heard simultaneously from around the user's character.
実施の形態では、符号化ストリームがフレーム間予測符号化されていることを前提として最小復号単位であるGOP単位で切り出して復号する例を説明したが、Motion−JPEGのようなフレーム間予測符号化を行わない規格で符号化された動画ストリームについては、たとえば同時に表示されるストリームの本数に応じて設計されるフレーム数で切り出して複数のストリームを切り替えて復号してもよい。 In the embodiment, the example in which the coded stream is cut out and decoded in units of GOP which is the minimum decoding unit on the assumption that the encoded stream is subjected to inter-frame predictive coding has been described. However, inter-frame predictive coding such as Motion-JPEG is described. For example, a moving image stream encoded according to a standard that does not perform the extraction may be cut out with the number of frames designed according to the number of simultaneously displayed streams, and a plurality of streams may be switched and decoded.
10 ストレージ、 12 ストリームバッファ、 14 切替部、 16 優先制御部、 18 多重化分離部、 20 ビデオデコーダ、 22 オーディオデコーダ、 24 バッファ管理テーブル、 26 フレームバッファ、 28 共有メモリ領域、 30 表示制御部、 100 復号装置、 110 ディスプレイ。 10 storage, 12 stream buffer, 14 switching unit, 16 priority control unit, 18 demultiplexing unit, 20 video decoder, 22 audio decoder, 24 buffer management table, 26 frame buffer, 28 shared memory area, 30 display control unit, 100 Decoding device, 110 display.
Claims (12)
前記切替部により選択された前記符号化ストリームの符号化データを復号してフレームを生成するデコーダと、
各符号化ストリームから復号されたフレームを一時的にバッファするフレームバッファとを含み、
前記フレームバッファは、前記複数の符号化ストリームの間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域を含み、いずれの符号化ストリームから復号されたフレームであっても、当該共有メモリ領域内の格納位置の制限を受けることなく、いずれの空き領域にも格納可能に構成されることを特徴とする復号装置。 When a plurality of encoded streams in which a frame of a moving image is encoded are given, a switching unit that switches to any one of the plurality of encoded streams and reads out the encoded data of the encoded stream;
A decoder that decodes encoded data of the encoded stream selected by the switching unit to generate a frame;
A frame buffer that temporarily buffers frames decoded from each encoded stream;
The frame buffer is a single memory area shared between the plurality of encoded streams, and temporarily stores a predetermined number of frames decoded from each of the plurality of encoded streams. Any frame including a shared memory area and decoded from any encoded stream can be stored in any free area without being limited by the storage position in the shared memory area. A characteristic decoding apparatus.
前記デコーダは、前記表示制御部が少なくとも一つ以上の符号化ストリームを動画像として同時に表示させることによって、前記切替部により選択された前記符号化ストリームから復号された所定枚数のフレームを書き込むための空き領域が前記共有メモリ領域に生じたことを契機に、前記所定枚数のフレームをその空き領域に書き込み、前記切替部により次に選択される符号化ストリームの復号処理に進むことを特徴とする請求項1に記載の復号装置。 A display control unit that reads a frame decoded from at least one of the plurality of encoded streams from the shared memory area and simultaneously displays the frame as a moving image on a screen;
The decoder is configured to write a predetermined number of frames decoded from the encoded stream selected by the switching unit by causing the display control unit to simultaneously display at least one encoded stream as a moving image. When the free area is generated in the shared memory area, the predetermined number of frames are written in the free area, and the process proceeds to the decoding process of the next selected encoded stream by the switching unit. Item 4. The decoding device according to Item 1.
前記表示制御部は、前記バッファ管理テーブルの前記格納位置に関する情報と前記再生順序に関する情報を参照して、前記複数の符号化ストリームの内、少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出すことを特徴とする請求項2に記載の復号装置。 For each frame decoded from each of the plurality of encoded streams stored in the shared memory area, information on the storage position of the frame in the shared memory area and information on the playback order of the frames are held for each encoded stream. A buffer management table for
The display control unit refers to information on the storage position and information on the playback order in the buffer management table, and displays frames decoded from at least one of the plurality of encoded streams. The decoding device according to claim 2, wherein reading is performed from the shared memory area.
読み出された前記符号化ストリームの符号化データを復号してフレームを生成するステップと、
前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するステップとを含む復号方法。 When a plurality of encoded streams in which a frame of a moving image is encoded are given, a step of switching to any one of the plurality of encoded streams and reading the encoded data of the encoded stream;
Decoding encoded data of the read encoded stream to generate a frame;
A single memory area shared between the plurality of encoded streams, each of which is a shared memory area for temporarily holding a predetermined number of frames decoded from each of the plurality of encoded streams; Storing a frame decoded from the encoded stream in any empty position without limiting the storage position in the shared memory area, regardless of which encoded stream is used for decoding. Including decryption method.
前記切替機能により選択された前記符号化ストリームの符号化データを復号してフレームを生成する復号機能と、
前記複数の符号化ストリーム間で共有される単一のメモリ領域であって、前記複数の符号化ストリームの各々から復号された所定枚数のフレームを一時的に保持するための共有メモリ領域に、各符号化ストリームから復号されたフレームを、いずれの符号化ストリームから復号されたものであっても、当該共有メモリ領域内の格納位置を制限せずに、いずれかの空き位置に格納するバッファリング機能とをコンピュータに実現させることを特徴とするプログラム。 When a plurality of encoded streams in which a frame of a moving image is encoded are given, a switching function of switching to any one of a plurality of encoded streams and reading the encoded data of the encoded stream;
A decoding function for decoding the encoded data of the encoded stream selected by the switching function to generate a frame;
A single memory area shared between the plurality of encoded streams, each of which is a shared memory area for temporarily holding a predetermined number of frames decoded from each of the plurality of encoded streams; A buffering function for storing frames decoded from an encoded stream in any empty position without restricting the storage position in the shared memory area, regardless of which encoded stream is used for decoding. A program characterized by causing a computer to realize the above.
前記バッファ管理テーブルの前記格納位置に関する情報と前記再生順序に関する情報を参照して、前記複数の符号化ストリームの内、少なくとも一つ以上の符号化ストリームから復号されたフレームを前記共有メモリ領域から読み出して画面に動画像として同時に表示させる表示制御機能とをさらにコンピュータに実現させることを特徴とする請求項11に記載のプログラム。 For frames decoded from the plurality of encoded streams stored in the shared memory area, information on the storage position of the frames in the shared memory area and information on the reproduction order of the frames are buffered for each of the plurality of encoded streams. A buffer management function held in the management table;
With reference to the information about the storage position and the information about the playback order in the buffer management table, a frame decoded from at least one of the plurality of encoded streams is read from the shared memory area. The program according to claim 11, further causing a computer to realize a display control function for simultaneously displaying a moving image on a screen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006248237A JP4476261B2 (en) | 2006-09-13 | 2006-09-13 | Decoding device and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006248237A JP4476261B2 (en) | 2006-09-13 | 2006-09-13 | Decoding device and decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008072336A true JP2008072336A (en) | 2008-03-27 |
JP4476261B2 JP4476261B2 (en) | 2010-06-09 |
Family
ID=39293550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006248237A Active JP4476261B2 (en) | 2006-09-13 | 2006-09-13 | Decoding device and decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4476261B2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008191241A (en) * | 2007-02-01 | 2008-08-21 | Sharp Corp | Video display device and image display method |
JP2010074787A (en) * | 2008-09-22 | 2010-04-02 | Sony Corp | Device and method for display control and program |
JP2010283750A (en) * | 2009-06-08 | 2010-12-16 | Canon Inc | Image editing apparatus, control method thereof and program |
JP2011072029A (en) * | 2010-12-09 | 2011-04-07 | Sony Corp | Device and method for display control, and program |
US20140079139A1 (en) * | 2012-09-20 | 2014-03-20 | Casio Computer Co., Ltd. | Moving image processing apparatus that processes a plurality of moving image data sets |
JP2015517777A (en) * | 2012-05-24 | 2015-06-22 | サムスン エレクトロニクス カンパニー リミテッド | Multiple video playback method and apparatus |
JP2017034402A (en) * | 2015-07-30 | 2017-02-09 | キヤノン株式会社 | Information processor and control method and program thereof |
WO2020017317A1 (en) * | 2018-07-17 | 2020-01-23 | ソニー株式会社 | Signal processing device, signal processing method, and signal processing program |
CN111913523A (en) * | 2020-06-19 | 2020-11-10 | 国网河南省电力公司焦作供电公司 | Double-buffer IRIG-B code generation method |
CN112637634A (en) * | 2020-12-24 | 2021-04-09 | 北京睿芯高通量科技有限公司 | High-concurrency video processing method and system for multi-process shared data |
CN113271468A (en) * | 2020-02-14 | 2021-08-17 | 北京灵汐科技有限公司 | SoC video decoding and buffering method and device based on GOP |
CN113994707A (en) * | 2019-07-05 | 2022-01-28 | 蒂莱德梅迪亚有限责任公司 | Method and apparatus for rendering video on a display |
CN114697675A (en) * | 2020-12-25 | 2022-07-01 | 扬智科技股份有限公司 | Decoding display system and memory access method thereof |
CN115858081A (en) * | 2023-02-24 | 2023-03-28 | 深圳市东微智能科技股份有限公司 | UI (user interface) media resource display method, device and equipment and storage medium |
-
2006
- 2006-09-13 JP JP2006248237A patent/JP4476261B2/en active Active
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008191241A (en) * | 2007-02-01 | 2008-08-21 | Sharp Corp | Video display device and image display method |
US9191714B2 (en) | 2008-09-22 | 2015-11-17 | Sony Corporation | Display control device, display control method, and program |
JP4683103B2 (en) * | 2008-09-22 | 2011-05-11 | ソニー株式会社 | Display control apparatus, display control method, and program |
US8484682B2 (en) | 2008-09-22 | 2013-07-09 | Sony Corporation | Display control device, display control method, and program |
JP2010074787A (en) * | 2008-09-22 | 2010-04-02 | Sony Corp | Device and method for display control and program |
JP2010283750A (en) * | 2009-06-08 | 2010-12-16 | Canon Inc | Image editing apparatus, control method thereof and program |
JP2011072029A (en) * | 2010-12-09 | 2011-04-07 | Sony Corp | Device and method for display control, and program |
JP2015517777A (en) * | 2012-05-24 | 2015-06-22 | サムスン エレクトロニクス カンパニー リミテッド | Multiple video playback method and apparatus |
CN103686180A (en) * | 2012-09-20 | 2014-03-26 | 卡西欧计算机株式会社 | Moving image processing apparatus, moving image processing method, and program |
US20140079139A1 (en) * | 2012-09-20 | 2014-03-20 | Casio Computer Co., Ltd. | Moving image processing apparatus that processes a plurality of moving image data sets |
KR101570907B1 (en) * | 2012-09-20 | 2015-11-20 | 가시오게산키 가부시키가이샤 | Moving image processing apparatus and moving image processing method |
JP2014064124A (en) * | 2012-09-20 | 2014-04-10 | Casio Comput Co Ltd | Video processing device, video processing method, and program |
JP2017034402A (en) * | 2015-07-30 | 2017-02-09 | キヤノン株式会社 | Information processor and control method and program thereof |
WO2020017317A1 (en) * | 2018-07-17 | 2020-01-23 | ソニー株式会社 | Signal processing device, signal processing method, and signal processing program |
CN113994707A (en) * | 2019-07-05 | 2022-01-28 | 蒂莱德梅迪亚有限责任公司 | Method and apparatus for rendering video on a display |
CN113271468A (en) * | 2020-02-14 | 2021-08-17 | 北京灵汐科技有限公司 | SoC video decoding and buffering method and device based on GOP |
CN111913523B (en) * | 2020-06-19 | 2024-05-07 | 国网河南省电力公司焦作供电公司 | Dual-buffer IRIG-B code generation method |
CN111913523A (en) * | 2020-06-19 | 2020-11-10 | 国网河南省电力公司焦作供电公司 | Double-buffer IRIG-B code generation method |
CN112637634A (en) * | 2020-12-24 | 2021-04-09 | 北京睿芯高通量科技有限公司 | High-concurrency video processing method and system for multi-process shared data |
CN114697675B (en) * | 2020-12-25 | 2024-04-05 | 扬智科技股份有限公司 | Decoding display system and memory access method thereof |
CN114697675A (en) * | 2020-12-25 | 2022-07-01 | 扬智科技股份有限公司 | Decoding display system and memory access method thereof |
CN115858081A (en) * | 2023-02-24 | 2023-03-28 | 深圳市东微智能科技股份有限公司 | UI (user interface) media resource display method, device and equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4476261B2 (en) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4476261B2 (en) | Decoding device and decoding method | |
CN100556117C (en) | Reproducing device, playback method and playback programs | |
JP4516682B2 (en) | Video recording / playback device | |
EP1440574A1 (en) | Trick play using an information file | |
JP2007510230A (en) | Annotating media content using user-specified information | |
JP2007235690A (en) | Reproducing apparatus, method, and program | |
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 | |
JP2001086462A (en) | Moving image recording device and moving image reproducing device | |
JPWO2009060682A1 (en) | Video information recording method and video information reproducing apparatus | |
JP2005117660A (en) | Information storage medium with av data containing non-multiplexed streams recorded thereon, and method and apparatus for reproducing the same | |
WO2008035459A1 (en) | Dynamic image reproducing method and device | |
US6999090B2 (en) | Data processing apparatus, data processing method, information storing medium, and computer program | |
KR101302869B1 (en) | Reproduction apparatus and reproduction method | |
JP2006287578A (en) | Video processing system, video processor, video processing method and computer program | |
US20090109810A1 (en) | Recording/reproduction apparatus | |
JP4591549B2 (en) | Reproduction processing apparatus, reproduction processing method, and program | |
JP3704356B2 (en) | Decoded video signal decoding apparatus and storage decoding apparatus using the same | |
JP2013046357A (en) | Image reproduction apparatus, image reproduction method, and image reproduction program | |
JP5188209B2 (en) | Display control apparatus, method, and program | |
JP2012100162A (en) | Image decoding apparatus and decoding program | |
JP4048809B2 (en) | Data processing apparatus and method, recording medium, and program | |
JP5355176B2 (en) | Movie storage device and control method thereof | |
JP2014064124A (en) | Video processing device, video processing method, and program | |
JP2006050192A (en) | Multiplexing method, information recording medium, and data reproducing method |
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 |