JP5321895B2 - Information processing apparatus and method - Google Patents
Information processing apparatus and method Download PDFInfo
- Publication number
- JP5321895B2 JP5321895B2 JP2009127244A JP2009127244A JP5321895B2 JP 5321895 B2 JP5321895 B2 JP 5321895B2 JP 2009127244 A JP2009127244 A JP 2009127244A JP 2009127244 A JP2009127244 A JP 2009127244A JP 5321895 B2 JP5321895 B2 JP 5321895B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- decoding
- code stream
- division
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、情報処理装置および方法に関し、特に、復号処理の遅延時間をより低減させることができるようにした情報処理装置および方法に関する。 The present invention relates to an information processing apparatus and method, and more particularly, to an information processing apparatus and method that can further reduce a delay time of decoding processing.
従来、MPEG(Moving Picture Experts Group)と呼ばれる符号化方式により動画像を符号化して得られた符号化ストリームを復号する復号装置がある。規格化されてきたMPEGシリーズの中ではMPEG2が一般的ではある。最近では圧縮率を高めたMPEG4や、AVC(Advanced Video Coding)といった圧符号化方式も規格化されている。 2. Description of the Related Art Conventionally, there is a decoding device that decodes an encoded stream obtained by encoding a moving image using an encoding method called MPEG (Moving Picture Experts Group). MPEG2 is common in the MPEG series that has been standardized. Recently, pressure coding schemes such as MPEG4 with a higher compression rate and AVC (Advanced Video Coding) have also been standardized.
パーソナルコンピュータにおいてこのような符号化ストリームを復号する場合、例えば拡張ボード等によってパーソナルコンピュータに増設された、ハードウェアで構成される復号器を用いて復号する方法がある。 When decoding such an encoded stream in a personal computer, there is a method of decoding using a hardware decoder added to the personal computer by an expansion board or the like, for example.
この様な場合、パーソナルコンピュータは、符号化ストリームを復号する必要が生じたときに、その符号化ストリームを復号器に供給する。復号器は、パーソナルコンピュータから符号化ストリームを取得するとそれを復号し、ベースバンドのデータをパーソナルコンピュータに返す。したがって、パーソナルコンピュータが復号器に符号化ストリームを供給してからその符号化結果を得るまでの遅延時間(レイテンシ)が大きいと、パーソナルコンピュータが実行する処理全体の処理時間が大きくなる問題があった。 In such a case, when it becomes necessary to decode the encoded stream, the personal computer supplies the encoded stream to the decoder. When the decoder acquires the encoded stream from the personal computer, the decoder decodes the encoded stream and returns baseband data to the personal computer. Therefore, if the delay time (latency) from when the personal computer supplies the encoded stream to the decoder until the encoded result is obtained, the processing time of the entire processing executed by the personal computer increases. .
特に一般的な変換、エフェクトを行うアプリケーションソフトのコーデックI/Fは、1フレームずつ復号する事を前提としているので、動画像データ全体のレイテンシがさらに大きくなることになる。 In particular, since the codec I / F of application software that performs general conversion and effects is premised on decoding one frame at a time, the latency of the entire moving image data is further increased.
例えば映画製作などの非圧縮映像を扱ってきた分野では画像が4k x2kなど高精細化になる方向にあり、データの符号化はさらに重要になってきている。 For example, in the field of handling uncompressed video such as movie production, the image is in the direction of higher definition such as 4k x 2k, and data encoding is becoming more important.
しかしながら、復号処理のレイテンシが大きくなると、編集時間が増大し、現実的に不可能となってしまう恐れがあった。 However, when the decoding latency increases, the editing time increases, which may be impossible in practice.
MPEG2ではデコードをより低レイテンシで行う手法もあるが、MPEG2はフレーム間圧縮のため、それでもレイテンシが大きかった。また、圧縮率が高くフレーム内圧縮のMPEG4 Simple Studio Profile(以下SStPと称する)がある(例えば、特許文献1参照)。 MPEG2 has a method of decoding with lower latency, but MPEG2 still has a large latency due to inter-frame compression. In addition, there is an MPEG4 Simple Studio Profile (hereinafter referred to as SStP) with a high compression rate and intra-frame compression (see, for example, Patent Document 1).
しかしながら、MPEG4 SStPを用いて低レイテンシな復号処理を行う方法は無かった。例えば、MPEG2ではストリーム中にラインの始まりを示す部分が存在するが、MPEG4では存在しないため、従来手法を適用することは困難であった。 However, there has been no method for performing low-latency decoding using MPEG4 SStP. For example, in MPEG2, there is a portion indicating the beginning of a line in the stream, but in MPEG4, it is difficult to apply the conventional method.
本発明は、このような状況に鑑みて提案されたものであり、復号処理の遅延時間をより低減させることを目的とする。 The present invention has been proposed in view of such a situation, and an object thereof is to further reduce the delay time of decoding processing.
本発明の一側面は、画像データが符号化されたコードストリームを伝送中に分析して、前記コードストリームのスライススタートコードを検出し、前記スライススタートコード直後のマクロブロック番号に基づいて、ライン先頭のマクロブロックを検索することにより、前記画像データの画像の1ラインを特定する分析手段と、前記分析手段による分析の結果に基づいて、前記画像データの前記マクロブロックのライン数を単位として前記コードストリームの分割位置を決定する分割位置決定手段と、前記分割位置決定手段により決定された前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する復号手段とを備える情報処理装置である。 According to an aspect of the present invention, a code stream in which image data is encoded is analyzed during transmission to detect a slice start code of the code stream, and based on a macroblock number immediately after the slice start code, An analysis means for specifying one line of an image of the image data by searching for the macroblock of the image data, and the code based on the number of lines of the macroblock of the image data based on a result of analysis by the analysis means Dividing position determining means for determining a dividing position of the stream, and decoding means for decoding in parallel the code streams of a plurality of dividing units obtained by dividing the code stream at the dividing position determined by the dividing position determining means Is an information processing apparatus.
前記コードストリームを取得する取得手段と、前記取得手段により取得された前記コードストリームを記憶する記憶手段とをさらに備え、前記分析手段は、前記取得手段により取得された前記コードストリームを、前記記憶手段に記憶させながら分析することができる。 The information processing apparatus further comprises acquisition means for acquiring the code stream, and storage means for storing the code stream acquired by the acquisition means, wherein the analysis means stores the code stream acquired by the acquisition means as the storage means. You can analyze while memorizing.
前記分割位置決定手段は、前記記憶手段のバースト境界に合わせて前記分割位置を決定することができる。 The division position determining means can determine the division position in accordance with a burst boundary of the storage means.
前記復号手段による復号処理の結果を、バースト転送により前記記憶手段に供給して記憶させる制御手段と、前記記憶手段により記憶されている前記復号処理の結果を、前記バースト転送により前記記憶手段から読み出し、出力する出力手段とをさらに備えることができる。 A control means for supplying a result of decoding processing by the decoding means to the storage means by burst transfer and storing it, and a result of the decoding process stored by the storage means is read from the storage means by burst transfer. And an output means for outputting.
本発明の一側面は、また、分析手段は、画像データが符号化されたコードストリームを伝送中に分析して、前記コードストリームのスライススタートコードを検出し、前記スライススタートコード直後のマクロブロック番号に基づいて、ライン先頭のマクロブロックを検索することにより、前記画像データの画像の1ラインを特定し、分割位置決定手段は、分析の結果に基づいて、前記画像データの前記マクロブロックのライン数を単位として前記コードストリームの分割位置を決定し、復号手段は、前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する情報処理方法である。 According to an aspect of the present invention, the analyzing unit analyzes a code stream encoded with image data during transmission to detect a slice start code of the code stream, and detects a macroblock number immediately after the slice start code. based on, by searching the lines starting macroblock to identify a line of image of the image data, the division position determining means, based on the results of the analysis, the number of lines of the macroblock of the image data The code stream division position is determined using the unit as a unit, and the decoding means is an information processing method for decoding in parallel the code streams of a plurality of division units obtained by dividing the code stream at the division position.
本発明の一側面においては、画像データが符号化されたコードストリームが伝送中に分析されて、コードストリームのスライススタートコードが検出され、そのスライススタートコード直後のマクロブロック番号に基づいて、ライン先頭のマクロブロックが検索されることにより、画像データの画像の1ラインが特定され、分析の結果に基づいて、画像データのマクロブロックのライン数を単位としてコードストリームの分割位置が決定され、分割位置においてコードストリームが分割されて得られる複数の分割単位のコードストリームが並列的に復号される。 In one aspect of the present invention, a code stream in which image data is encoded is analyzed during transmission to detect a slice start code of the code stream, and based on a macroblock number immediately after the slice start code, Are searched, one line of the image data image is identified , and the code stream division position is determined based on the number of macroblock lines of the image data based on the analysis result. A code stream of a plurality of division units obtained by dividing the code stream is decoded in parallel.
本発明によれば、情報を処理することができる。特に、復号処理の遅延時間をより低減させることができる。 According to the present invention, information can be processed. In particular, the delay time of the decoding process can be further reduced.
以下、発明を実施するための形態(以下実施の形態とする)について 説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(低遅延復号処理)
2.第2の実施の形態(パーソナルコンピュータ)
Hereinafter, modes for carrying out the invention (hereinafter referred to as embodiments) will be described. The description will be given in the following order.
1. First embodiment (low delay decoding process)
2. Second embodiment (personal computer)
<1.第1の実施の形態>
[デバイスの構成]
図1は、本発明を適用した情報処理システムの構成例を示すブロック図である。
<1. First Embodiment>
[Device Configuration]
FIG. 1 is a block diagram showing a configuration example of an information processing system to which the present invention is applied.
図1に示される情報処理システム100は、パーソナルコンピュータ101が、画像データが符号化されたコードストリームを、バス103を介して復号処理ユニット102に供給して復号させ、バス103を介して復号結果を取得するシステムである。
In the information processing system 100 illustrated in FIG. 1, the
コードストリームは、画像データが、MPEG4 Simple Studio Profile(以下SStPと称する)により符号化されたものである。すなわち、復号処理ユニット102は、コードストリームを、フレーム内圧縮(Intra)であるMPEG4 SStP方式で低レイテンシに復号する。
The code stream is obtained by encoding image data using the MPEG4 Simple Studio Profile (hereinafter referred to as SStP). That is, the
パーソナルコンピュータ101は、CPU(Central Processing Unit)111、主記憶部112、チップセット113、ホストバスアダプタ114、および補助記憶部115を有する。
The
CPU111は、補助記憶部115に記憶されているプログラムやデータを読み出して主記憶部112にロードして実行し、演算や制御処理を行う。主記憶部112は、例えばDRAM(Dynamic Random Access Memory)等の半導体メモリ等により構成され、各種情報を一時的に保持する。
The
チップセット113は、CPU111のバスインタフェース等の処理を行う。ホストバスアダプタ114は、補助記憶部115等の記憶媒体やドライブ等を接続するバスのインタフェースである。補助記憶部115は、例えば、ハードディスクやフラッシュメモリ等により構成される大容量の記憶媒体である。
The
復号処理ユニット102は、制御部121、記憶部122、および復号部123を有する。制御部121は、例えばCPU等により構成され、復号処理ユニット102の各部を制御する。記憶部122は、例えばDRAM等の半導体メモリ等により構成され、各種情報を一時的に保持する。復号部123は、符号化データをMPEG4 SStP方式で復号して動画像データを得る復号処理を行う。
The
パーソナルコンピュータ101の補助記憶部115は、動画像データがMPEG4 SStP方式で符号化されたコードストリームを記憶する。CPU111は、チップセット113およびホストバスアダプタ114を介して補助記憶部115からそのコードストリームを読み出し、主記憶部112に保持させる。
The
CPU111は、主記憶部112に保持させたコードストリームを読み出し、チップセット113、およびバス103を介して復号処理ユニット102に供給する。復号処理ユニット102の制御部121は、そのコードストリームを取得すると、それを記憶部122に一旦保持させる。
The
制御部121は、所定のタイミングで記憶部122からコードストリームを読み出し、復号部123に供給し、復号処理させる。制御部121は、復号部123から復号結果の画像データを得ると、それを記憶部122に一旦格納する。制御部121は、所定のタイミングで記憶部122から動画像データを読み出し、バス103を介してパーソナルコンピュータ101に供給する。
The
パーソナルコンピュータ101のCPU111は、チップセット113を介してその動画像データを取得すると、それを主記憶部112に保持させ、必要に応じて読み出して、変換処理や画像処理等を行う。また、CPU111は、必要に応じて主記憶部112に保持されている動画像データを補助記憶部115に供給し、記憶させる。
When the
映画製作などの非圧縮映像を扱ってきた分野では画像が4k x2kなど高精細化になる方向であり、補助記憶部115の転送帯域が不足するため圧縮を用いる必要が出てくるが、復号処理ユニット102における復号処理のレイテンシ(遅延時間)を削減しないとその編集時間が膨大になり現実的でなくなってしまう。
In fields that have dealt with uncompressed video such as movie production, the image is in the direction of higher definition such as 4k x 2k, and it is necessary to use compression because the transfer bandwidth of the
MPEG2はフレーム間圧縮のためレイテンシが大きすぎる。そのため、パーソナルコンピュータ101は、圧縮率が高くフレーム内圧縮のMPEG 4SStPを用いる。ここで復号部123は、複数の復号処理を並行して実行することができる。
MPEG2 has too high latency due to inter-frame compression. Therefore, the
制御部121は、レイテンシの低減のために、コードストリームを所定のデータ単位で分割し、それぞれを復号部123に互いに並列的に復号させる。
The
ただし、MPEG 4SStPの場合、コードストリーム中にラインの始まりを示す部分が存在しないため、MPEG2に用いる手法を適用することができない。 However, in the case of MPEG 4SStP, the portion used to indicate the beginning of a line does not exist in the code stream, so the method used for MPEG 2 cannot be applied.
また、コードストリームを分割して各コーデックでデコードした結果は、一旦記憶部122に格納し、所定のタイミングで読み出されてパーソナルコンピュータ101に転送される。このとき、記憶部122へのデータの入出力は、バースト転送で行うのが望ましい。そのためには、分割単位の画像データのデータ量が、記憶部122のバースト境界に対応する必要がある。分割単位の画像データのデータ量がバースト境界に一致しないと、バースト転送を行うことができないため、逆にレイテンシが増加してしまう恐れがあった。
The result of dividing the code stream and decoding by each codec is temporarily stored in the
そこで、復号処理ユニット102の制御部121は、MPEG 4SStPのコードストリームから、ラインの始まりを検出し、その1ラインを単位としてコードストリームの分割位置を決定する。また、制御部121は、バースト境界も考慮しながらコードストリームの分割位置を決定する。
Therefore, the
図2は、図1の復号処理ユニットの詳細な構成例を示すブロック図である。 FIG. 2 is a block diagram showing a detailed configuration example of the decoding processing unit in FIG.
図2に示されるように、復号処理ユニット102の制御部121は、取得部131、分析部132、分割位置決定部133、分割部134、復号制御部135、および転送部136を有する。取得部131は、パーソナルコンピュータ101から供給されるコードストリームを取得し、それを分析部132に供給する。
As illustrated in FIG. 2, the
分析部132は、コードストリームを分析し、例えば、そのコードストリームの画像の画サイズを示す画サイズ情報や、マクロブロックの位置や大きさ等の情報を含むマクロブロック情報等、各種情報を取得し、それらを分割位置決定部133に通知する。また、分析部132は、画像とマクロブロックのサイズからラインの先頭位置を特定し、それを分割位置決定部133に通知する。分析部132は、コードストリームを記憶部122に記憶させながらこの分析を行う。すなわち、分析部132は、コードストリームの伝送中にこの分析を行う。したがって、分析部132は、この分析処理による遅延時間の増大を抑制することができる。
The
分割位置決定部133は、分析部132から供給される各種情報に基づいて、コードストリームの分割位置(分割単位の大きさ)を決定する。このとき、分割位置決定部133は、さらに記憶部122のバースト境界も考慮して分割位置を決定する。分割位置決定部133は、決定した分割位置(分割単位)を分割部134に通知する。
The division position determination unit 133 determines a code stream division position (size of a division unit) based on various information supplied from the
分割部134は、分割位置決定部133から供給される情報に基づいて、記憶部122からコードストリームをその分割単位ごとに読み出す(分割位置で分割するように読み出す)ことにより、コードストリームを分割する。分割部134は、読み出したコードストリームを順次、復号制御部135に供給する。
Based on the information supplied from the division position determination unit 133, the
復号制御部135は、分割部134により読み出された分割単位のコードストリームを、復号部123の復号処理実行部151乃至復号処理実行部153に分配し、それぞれにおいて復号させ、それぞれの復号結果を取得する。復号制御部135は、取得した各復号処理実行部の復号結果を、整列させるように記憶部122の所定のアドレスに記憶させる。また、復号制御部135は、復号結果を記憶部122に保持させたことを転送部136に通知する。
The
転送部136は、記憶部122から復号結果である画像データを分割単位ごとに読み出し、パーソナルコンピュータ101に転送する。
The
記憶部122は、パーソナルコンピュータ101から供給されたコードストリームを記憶する領域141と、復号制御部135から供給された復号結果である画像データを記憶する領域142とを有する。図2に示されるように、領域141には、パーソナルコンピュータ101から供給されるコードストリームがその供給順に並べられて格納される。また、領域142には、復号部123から供給された画像データが、分割前と同順に並べられて格納される。つまり、転送部136が領域142から各画像データをアドレス順に読み出すことにより分割単位の画像データが互いに合成される。
The
復号部123は、復号処理実行部151乃至復号処理実行部153を有する。復号処理実行部151乃至復号処理実行部153は、それぞれ、コードストリームをMPEG 4SStP方式で復号する。復号処理実行部151乃至復号処理実行部153は、互いに並行して(並列的に)復号処理を実行することができる。
The
ここで、「並行して」や「並列的に」とは、各復号処理実行部の復号処理実行期間が重複することを示す。例えば、あるタイミングにおいて複数の復号処理実行部において復号処理が実行されている場合があるということである。つまり、各復号処理実行部の復号処理の開始や終了のタイミングが互いに揃っているとは限らない。 Here, “in parallel” and “in parallel” indicate that the decoding process execution periods of the decoding process execution units overlap. For example, the decoding process may be executed in a plurality of decoding process execution units at a certain timing. That is, the start and end timings of the decoding processes of the respective decoding process execution units are not always aligned with each other.
以上のように最大3つの復号処理を並行して実行することができるので、復号部123は、復号処理実行部1つと比べて、最大3倍の処理能力を有する。したがって、復号部123は、より低遅延に復号処理を行うことができる。なお、復号部123が有する復号処理実行部の数は任意であり、2つ以下であってもよいし、4つ以上であっても良い。ただし、復号部123の復号処理能力は高いほど望ましい(より高速に動作するか、若しくは、より多くの復号処理を並列的に実行することができることが望ましい)。
As described above, since a maximum of three decoding processes can be executed in parallel, the
また、復号部123が制御部121と異なるユニット(別体)として構成されるようにしてもよい。もちろん、復号処理実行部同士が互いに同一のユニットに構成される必要は無い。
Further, the
[処理の流れ]
次に、以上のような構成の復号処理ユニット102により実行される各種処理について説明する。パーソナルコンピュータ101からコードストリームが供給されると、復号処理ユニット102の制御部121は、コードストリーム取得処理を実行し、上述したように、そのコードストリームを記憶部122に記憶させる。
[Process flow]
Next, various processes executed by the
図3のフローチャートを参照して、コードストリーム取得処理の流れの例を説明する。 An example of the flow of the code stream acquisition process will be described with reference to the flowchart of FIG.
コードストリーム取得処理が開始されると、制御部121の取得部131は、ステップS101において、記憶部122の領域141の空き容量を確認する。ステップS102において、取得部131は、確認した空き容量の分、パーソナルコンピュータ101からコードストリームを取得する。
When the code stream acquisition process is started, the
ステップS103において、分析部132は、取得したコードストリームの分析を行い、画像のラインの先頭を特定する。ステップS104において、分割位置決定部133は、分析結果に基づいてコードストリームの分割単位を決定する。
In step S103, the
より具体的には、分割位置決定部133は、データ量が記憶部122のバースト境界の整数倍となるライン数を算出し、それを分割単位としてコードストリームの分割位置を決定する。
More specifically, the division position determination unit 133 calculates the number of lines whose data amount is an integral multiple of the burst boundary of the
分割位置決定部133は、ライン単位で分割位置を決定する。ただし、マクロブロックの垂直方向のサイズが16pixelであるので、実際には、分析部132は、16ラインを単位として分割位置を決定する。
The division position determination unit 133 determines the division position for each line. However, since the size of the macroblock in the vertical direction is 16 pixels, the
一般的に、復号結果の画像データを格納する記憶部122には原画像の大きさからDIMM(Dual Inline Memory Module)などDRAMが用いられるが、DRAMへの入出力は、バースト転送で行わないと転送に時間がかかる。つまりデータ入出力のレイテンシ(遅延時間)が大きくなる。
Generally, a DRAM such as a DIMM (Dual Inline Memory Module) is used for the
記憶部122に対するデータの読み書きの単位(データ量)が、記憶部122のバースト境界に合っていない場合、同一バースト境界内部を次の書き込みで上書きしてしまう恐れがあるので、バーストアクセスを行うことができなくなり、レイテンシが増大する恐れがある。また、実現回路も複雑で高価なものになる恐れがある。
When the unit of reading / writing data (data amount) with respect to the
つまり、レイテンシの増大やコストの増大を抑制するために、この記憶部122への読み書きは、記憶部122のバースト境界に合わせた単位で行うのが望ましい。ところで、複数の復号処理実行部から出力された画像データは、一旦記憶部122に格納される。より具体的には、復号制御部135や転送部136は、分割単位の画像データを読み書きする。
In other words, in order to suppress an increase in latency and an increase in cost, it is desirable to read / write data from / to the
したがって、分割位置決定部133は、この分割単位の画像データのデータ量が記憶部122のバースト境界に合うように分割位置を決定する。
Therefore, the division position determination unit 133 determines the division position so that the data amount of the image data of this division unit matches the burst boundary of the
例えば、記憶部122が16バースト、データビット幅(Data bit幅)の合計が128bitとする。そのバースト境界は128[bit]/8×16=256[byte]となる。
For example, the
また、復号結果として得られる画像データの画像が、例えば、画像水平サイズが2048[pixel]で、YCbCr=4:4:4フォーマットで、階調が10ビットの画像であるとする。 In addition, it is assumed that an image of image data obtained as a decoding result is, for example, an image with a horizontal size of 2048 [pixel], a YCbCr = 4: 4: 4 format, and a gradation of 10 bits.
この場合、画像がYCbCr=4:4:4フォーマット、かつ、10ビット階調であることから、4[byte]中にYCbCr各10[bit]を格納することになる。したがって、1ラインのデータ量は、2048[pixel]×4[byte/pixel]=7680[byte]となり、バースト境界256[byte]の整数倍である。したがってこの場合、分割位置決定部133が、16ラインを分割単位とすることができる。換言すれば、分割位置決定部133が16ラインを分割単位とすることにより、復号制御部135および転送部136による記憶部122へのアクセスを全てバーストアクセスとすることができる。
In this case, since the image has a YCbCr = 4: 4: 4 format and a 10-bit gradation, 10 [bits] of YCbCr are stored in 4 [bytes]. Therefore, the data amount of one line is 2048 [pixel] × 4 [byte / pixel] = 7680 [byte], which is an integral multiple of the burst boundary 256 [byte]. Therefore, in this case, the division position determination unit 133 can set 16 lines as a division unit. In other words, when the division position determination unit 133 uses 16 lines as a division unit, all accesses to the
これに対して、復号結果として得られる画像データの画像が、例えば、画像水平サイズが2048[pixel]で、YCbCr=4:2:2フォーマットで、階調が10ビットの画像であるとする。 On the other hand, it is assumed that the image of the image data obtained as a decoding result is, for example, an image with an image horizontal size of 2048 [pixel], a YCbCr = 4: 2: 2 format, and a gradation of 10 bits.
この場合、画像がYCbCr=4:2:2フォーマット、かつ、10ビット階調であることから、8[byte]中にYCbCr合計20[bit]を3[pixel]格納することになる。したがって、1ラインのデータ量は、2048[pixel]×8/3[byte/pixel]=16384/3[byte]となり、バースト境界256[byte]の整数倍とならない。この場合、16ライン分でもバースト境界の整数倍とならない。したがって、分割位置決定部133が16ラインを分割単位とすることにより、復号制御部135および転送部136による記憶部122へのアクセスを全てバーストアクセスとすることができなくなり、遅延時間が増大する恐れがある。
In this case, since the image has a YCbCr = 4: 2: 2 format and 10-bit gradation, a total of 20 [bits] of YCbCr is stored in 3 [pixels] in 8 [bytes]. Therefore, the data amount of one line is 2048 [pixel] × 8/3 [byte / pixel] = 16384/3 [byte], which is not an integral multiple of the burst boundary 256 [byte]. In this case, even 16 lines are not an integral multiple of the burst boundary. Therefore, when the division position determination unit 133 uses 16 lines as a division unit, all accesses to the
ただし、例えば144ライン分であれば、144=48×3であるので、データ量は、16384/3×144[byte]=786432[byte]となり、バースト境界256[byte]の整数倍となる。つまり、復号制御部135および転送部136による記憶部122へのアクセスを全てバーストアクセスとすることができる。
However, for 144 lines, for example, 144 = 48 × 3, so the data amount is 16384/3 × 144 [bytes] = 786432 [bytes], which is an integral multiple of the burst boundary 256 [bytes]. That is, all accesses to the
この場合、もちろん、分割位置決定部133は、48(16×3)ラインを分割単位とすることもできるし、96(32×3)ラインを分割単位とすることもできる。さらに、192(64×3)ラインを分割単位とすることもできる。 In this case, of course, the division position determination unit 133 can also use 48 (16 × 3) lines as a division unit or 96 (32 × 3) lines as a division unit. Furthermore, 192 (64 × 3) lines can be used as a division unit.
以上のように、分割位置(分割単位)が決定されると、ステップS105に進む。 As described above, when the division position (division unit) is determined, the process proceeds to step S105.
ステップS105において記憶部122は、分析部132から供給されるコードストリームを取得し、保持する。
In step S <b> 105, the
以上のように、分析部132は、コードストリームを記憶部122に記憶させながら(伝送中に)分析する。分割位置決定部133は、必要な情報が得られ次第、分割位置を決定する。つまり、ステップS103乃至ステップS105の各処理は互いに並行して実行されることも可能である。また、既に分割位置(分割単位)が決定されており、その位置を更新する必要が無い場合、ステップS104の処理は省略される。
As described above, the
ステップS106において、分割位置決定部133は、分析部132から供給される分析結果に基づいて、分割単位分のコードストリームが記憶部122に保持されたか否かを判定する。分割単位分のコードストリームが記憶部122に保持されていないと判定された場合、ステップS101に戻り、それ以降の処理が繰り返される。ステップS106において、分割単位分のコードストリームが記憶部122に保持されたと判定された場合、ステップS107に進む。
In step S <b> 106, the division position determination unit 133 determines whether the code stream for the division unit is held in the
ステップS107において、分割位置決定部133は、分割部134に対して、分割単位分のコードストリームが保持された旨を通知する。通知が終了すると、コードストリーム取得処理が終了する。
In step S107, the division position determination unit 133 notifies the
次に、図4のフローチャートを参照して、図3のステップS103において実行される分析処理の流れの例を説明する。必要に応じて図5を参照して説明する。 Next, an example of the flow of analysis processing executed in step S103 of FIG. 3 will be described with reference to the flowchart of FIG. This will be described with reference to FIG. 5 as necessary.
分析処理が開始されると、分析部132は、ステップS121において、コードストリームを分析し、その画像の画サイズ情報を取得し、分割位置決定部133に通知する。ステップS122において、分析部132は、コードストリームを分析し、そのマクロブロックサイズ情報を取得し、分割位置決定部133に通知する。
When the analysis process is started, the
コードストリームは、原動画像の水平ライン単位で分割するが、MPEG4 SStPのコードストリーム内には、MPEG2の様なラインを示す部分は存在しない。そこで、マクロブロック番号(macro block number)を用いて各ラインを特定する(つまりラインの先頭位置を特定する)。 The code stream is divided in units of horizontal lines of the original moving image, but the MPEG4 SStP code stream does not have a portion indicating a line like MPEG2. Therefore, each line is specified using a macro block number (that is, the head position of the line is specified).
図5は、コードストリームの構造例を示す図である。図5に示されるように、コードストリーム(Visual Object Sequence)は、階層構造となっており、下から3段目に示されるStudio Video Object Planeが1画面分のデータに相当する。 FIG. 5 is a diagram illustrating a structure example of a code stream. As shown in FIG. 5, the code stream (Visual Object Sequence) has a hierarchical structure, and the Studio Video Object Plane shown in the third row from the bottom corresponds to data for one screen.
このStudio Video Object Planeには、ヘッダ情報(Header)と、1つまたは複数のスライス(Studio Slice)が存在する。このヘッダ情報には、画像の画サイズを示す情報(vop_widthやvop_height)が含まれる。また、各スライスには、ヘッダ情報(Header)と、1つまたは複数のマクロブロック(Studio Macro Block)が含まれている。そのヘッダ情報には、スライスの先頭を意味するスライススタートコード(Slice_start_code)と、先頭のマクロブロックの識別番号を示すマクロブロック番号(macro block number)が含まれている。 This Studio Video Object Plane has header information (Header) and one or more slices (Studio Slice). This header information includes information (vop_width and vop_height) indicating the image size of the image. Each slice includes header information (Header) and one or more macro blocks (Studio Macro Block). The header information includes a slice start code (Slice_start_code) meaning the head of the slice and a macro block number (macro block number) indicating the identification number of the head macro block.
ここでマクロブロックのサイズが16[pixel]×16[pixel]とする。このとき、1ラインのサイズ(画素数)/16が1ライン当たりのマクロブロック数となる。もちろん、これは一例であり、マクロブロックのサイズは任意である。 Here, it is assumed that the size of the macroblock is 16 [pixel] × 16 [pixel]. At this time, the size (number of pixels) / 16 of one line is the number of macroblocks per line. Of course, this is an example, and the size of the macroblock is arbitrary.
ここで1ラインが1920[pixel]とすると、1ライン当たりのマクロブロック数は、1920/16=120個となる。MPEG4 SStPではスライス(Studio Slice)はラインをまたがないので、マクロブロック番号が120の整数倍であるスライスがラインの左端のスライスとなる。つまり、このスライスの先頭がラインの先頭となる。 Here, if one line is 1920 [pixel], the number of macroblocks per line is 1920/16 = 120. In MPEG4 SStP, since a slice (Studio Slice) does not cross a line, a slice whose macroblock number is an integer multiple of 120 is the leftmost slice of the line. That is, the head of this slice is the head of the line.
そこでまず、分析部132は、ステップS123において、コードストリーム中からスライススタートコード(Slice_start_code)を検索することによりスライス(Studio Slice)の先頭(ヘッダ情報(Header))を検索する。スライススタートコードは予め定められている固定値であり、(000001B7 h)であるが、他の値に変更になってもそれに合わせれば良い。
Therefore, first, in step S123, the
ステップS124において分析部132は、スライススタートコードが検出されたか否かを判定する。スライススタートコードが検出されていないと判定した場合、処理はステップS123に戻る。つまり、スライススタートコードの検索が継続される。また、ステップS124において、スライススタートコードが検出されたと判定された場合、ステップS125に進む。分析部132は、ステップS125において、直後のマクロブロック番号(macro block number)が、「水平方向の画サイズ(vop_width)/マクロブロックサイズ(例えば16pixel)」であるか否かを判定する。
In step S124, the
マクロブロック番号が、「水平方向の画サイズ/マクロブロックサイズ」に一致しないと判定された場合、ステップS123に戻る。つまり、スライススタートコードの検索が継続される。また、ステップS125において、マクロブロック番号が、「水平方向の画サイズ/マクロブロックサイズ」に一致すると判定された場合、ステップS126に進む。 If it is determined that the macroblock number does not match “horizontal image size / macroblock size”, the process returns to step S123. That is, the search for the slice start code is continued. If it is determined in step S125 that the macroblock number matches “horizontal image size / macroblock size”, the process proceeds to step S126.
ステップS126において、分析部132は、その位置をラインの先頭であると特定し、その位置を分割位置決定部133に通知する。
In step S126, the
以上のように、ラインの先頭位置が通知されると、分析処理が終了され、図3のステップS103に戻り、ステップS104以降の処理が実行される。つまり、分割位置決定部133は、分析部132からライン先頭の位置情報を分析結果として取得し、その位置情報に基づいて分割位置を決定する。
As described above, when the head position of the line is notified, the analysis process is terminated, the process returns to step S103 in FIG. 3, and the processes after step S104 are executed. That is, the division position determination unit 133 acquires the position information at the head of the line from the
図3のステップS107の処理により、分割単位のコードストリームが保持された旨が通知されると、分割部134は、復号制御処理を開始する。
When notified by the processing in step S107 in FIG. 3 that the code stream of the division unit is held, the
図6のフローチャートを参照して、分割部134および復号制御部135により実行される復号制御処理の流れの例を説明する。
An example of the flow of the decoding control process executed by the dividing
復号制御処理が開始されると、分割部134は、ステップS141において、記憶部122に記憶されているコードストリームを、分割位置決定部133により決定された分割単位で読み出す。ステップS142において、分割部134は、読み出した分割単位のコードストリームにヘッダ情報を付加する。ステップS143において、復号制御部135は、分割単位のコードストリームに復号処理実行部の割り当てを行う。
When the decoding control process is started, the dividing
ステップS144において、復号処理実行部151乃至復号処理実行部153は、それぞれ、割り当てられた分割単位のコードストリームを復号する。復号処理が終了すると、復号処理実行部151乃至復号処理実行部153は、得られた復号結果(画像データ)を、それぞれ、復号制御部135に返す。ステップS145において、復号制御部135は、供給された各分割単位の画像データに対して、記憶部122の格納先のアドレスを指定し、所定順に整列させて記憶部122に保持させる。このとき復号制御部135は、バースト転送により、分割単位の画像データを記憶部122に供給し、格納させる。
In step S144, the decoding
ステップS145の処理が終了すると、復号制御処理が終了される。 When the process of step S145 ends, the decoding control process ends.
図7は、分割の様子の例を説明する図である。図7に示されるように1フレーム分のコードストリーム201は、上述したように、バースト境界に合わせた分割位置で分割される。図7は、上述した計算例に対応しており144ラインを分割単位としてコードストリーム201が分割されている。
FIG. 7 is a diagram for explaining an example of the state of division. As shown in FIG. 7, the
分割された各コードストリームには、1フレーム分のコードストリームのときと同じように、Visual Object SequenceからStudio Video Object Planeまでの全てのヘッダ情報が付加される。そして、そのヘッダ情報が付加された分割単位の各コードストリームは、それぞれ、順に復号処理実行部151乃至復号処理実行部153のいずれかに割り当てられる。
All the header information from the Visual Object Sequence to the Studio Video Object Plane is added to each divided code stream, as in the case of the code stream for one frame. Each code stream of the division unit to which the header information is added is sequentially assigned to any one of the decoding
図7の例の場合、最初のコードストリーム211が復号処理実行部151に割り当てられ、次のコードストリーム212が復号処理実行部152に割り当てられ、その次のコードストリーム213が復号処理実行部153に割り当てられている。また、さらにその次のコードストリーム214は、また復号処理実行部151に割り当てられる。このように、各コードストリームは、所定順に復号処理実行部151乃至復号処理実行部153に割り当てられる。
In the example of FIG. 7, the
したがって、復号処理実行部151乃至復号処理実行部153は、それぞれ、供給されたコードストリームを、Visual Object Sequenceとして取り扱い、復号処理を行う。
Therefore, each of the decoding
以上のような復号制御処理を実行することにより、制御部121は、コードストリームをより低遅延に復号することができる。
By executing the decoding control process as described above, the
以上のような各処理と並行して、転送部136は転送処理を実行し、記憶部122に格納される画像データをパーソナルコンピュータ101に転送する。
In parallel with each process as described above, the
図8のフローチャートを参照して、転送処理の流れの例を説明する。 An example of the flow of transfer processing will be described with reference to the flowchart of FIG.
転送処理が開始されると、転送部136は、ステップS161において時系列順に次の分割単位の画像データ(次に転送すべき画像データ)が記憶部122に保持されたか否かを判定し、保持されたと判定されるまで待機する。次に転送すべき画像データが保持されたと判定された場合、ステップS162に進む。
When the transfer process is started, the
ステップS162において、転送部136は、処理対象とする画像データ、すなわち、次に転送すべき画像データを記憶部122から読み出して、パーソナルコンピュータ101に転送する。このとき、転送部136は、記憶部122から画像データをバースト転送で読み出す。
In step S <b> 162, the
転送が終了すると、転送処理が終了される。転送処理が終了すると、再度、転送処理が新たに実行される。この転送処理は、パーソナルコンピュータ101からのコードストリームの供給が停止されるまで繰り返し実行される。
When the transfer ends, the transfer process ends. When the transfer process ends, the transfer process is newly executed again. This transfer process is repeatedly executed until the code stream supply from the
以上のようにすることにより、転送部136は、記憶部122に保持される画像データを順次パーソナルコンピュータに提供することができる。
As described above, the
図9は、1フレーム分のデータ処理における遅延の様子の例を説明する図である。 FIG. 9 is a diagram illustrating an example of a delay state in data processing for one frame.
この図9には、原動画像が、画像サイズが1920[pixel]×1080[pixel]で、YCbCr=4:2:2フォーマットで、階調が10[bit]で、フレームレートが30[fps]のプログレッシブ画像であるときの、遅延の様子の例が示されている。 In FIG. 9, the source image has an image size of 1920 [pixel] × 1080 [pixel], YCbCr = 4: 2: 2 format, gradation of 10 [bit], and frame rate of 30 [fps]. An example of the state of delay when the progressive image is shown is shown.
なお、復号処理実行部151乃至復号処理実行部153がプログレッシブ方式60[fps]の復号能力を有し、パーソナルコンピュータ101との間のバス103にはPCI Express x8が用いられている。この場合、パーソナルコンピュータ101から復号処理ユニット102への1フレーム分のコードストリーム転送301、記憶部122から復号部123へのコードストリームの分割転送302乃至分割転送304、復号処理305、復号部123から記憶部122への画像データの分割転送306乃至分割転送308、並びに、復号処理ユニット102からパーソナルコンピュータ101への画像データ転送309の各処理は、図9に示される様に実行される。つまり、1フレームを約7[ms]という低レインテンシで復号することができる。
Note that the decoding
なお、復号処理実行処理部の数を増やせば、レイテンシをさらに抑制することができる。例えば、上述した復号処理実行部を6つ用い、バス103として、帯域を合わせたバス(PCI Express x16)などを用いた場合、約3.5[ms]のレイテンシになる。
Note that the latency can be further suppressed by increasing the number of decoding processing execution processing units. For example, when six decoding processing execution units described above are used and a bus (PCI Express x16) having a combined bandwidth is used as the
以上においては、1フレームだけを復号する場合について説明したが、これに限らず、ストリームを連続的にコンピュータから供給するパイプライン的なI/Fをもつアプリケーションを用いるなどして、原動画像の実時間の6倍速など、n倍速で復号するようにすることも、情報処理システム100の復号処理ユニット102は、容易に実現することができる。
In the above description, the case of decoding only one frame has been described. However, the present invention is not limited to this, and the actual moving image is actualized by using an application having a pipelined I / F that continuously supplies a stream from a computer. The
以上のように、汎用の符号化・復号方式であるMPEG4 SStP方式の復号処理実行部を複数個用い、また、MPEG4 SStPのストリームの仕組みを用いてストリームをパースし、複数に分割してデコード制御することで、低レイテンシで復号処理を行うことができる。 As described above, a plurality of MPEG4 SStP system decoding processing execution units, which are general-purpose encoding / decoding systems, are used, and the stream is parsed using the MPEG4 SStP stream mechanism, and the control is performed by dividing the stream into multiple parts. As a result, the decoding process can be performed with low latency.
またこの仕組みを用いて、低レイテンシと共に、実時間のn倍などリアルタイム以上の速度で復号することができる。 Also, using this mechanism, decoding can be performed at a speed higher than real time, such as n times the real time, with low latency.
<2.第2の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図10に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
<2. Second Embodiment>
[Personal computer]
The series of processes described above can be executed by hardware or can be executed by software. In this case, for example, a personal computer as shown in FIG. 10 may be configured.
図10において、パーソナルコンピュータ400のCPU401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM(Random Access Memory)403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 10, the
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
The
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
The input /
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
A drive 415 is connected to the input /
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、例えば、図10に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
For example, as shown in FIG. 10, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It is only composed of
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 The program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses).
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 In addition, in the above description, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit). Of course, a configuration other than that described above may be added to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
100 情報処理システム, 101 パーソナルコンピュータ, 102 復号処理ユニット, 121 制御部, 122 記憶部, 123 復号部, 131 取得部, 132 分析部, 133 分割位置決定部, 134 分割部, 135 復号制御部, 136 転送部, 151乃至153 復号処理実行部 DESCRIPTION OF SYMBOLS 100 Information processing system, 101 Personal computer, 102 Decoding processing unit, 121 Control part, 122 Storage part, 123 Decoding part, 131 Acquisition part, 132 Analysis part, 133 Division position determination part, 134 Division part, 135 Decoding control part, 136 Transfer unit, 151 to 153 Decoding process execution unit
Claims (5)
前記分析手段による分析の結果に基づいて、前記画像データの前記マクロブロックのライン数を単位として前記コードストリームの分割位置を決定する分割位置決定手段と、
前記分割位置決定手段により決定された前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する復号手段と
を備える情報処理装置。 Analyzing a code stream encoded with image data during transmission , detecting a slice start code of the code stream, and searching for a macro block at the head of a line based on a macro block number immediately after the slice start code Analyzing means for identifying one line of the image data image
Division position determining means for determining a division position of the codestream based on the result of analysis by the analysis means, with the number of lines of the macroblock of the image data as a unit ;
An information processing apparatus comprising: decoding means for decoding in parallel a code stream of a plurality of division units obtained by dividing the code stream at the division position determined by the division position determination means.
前記取得手段により取得された前記コードストリームを記憶する記憶手段と
をさらに備え、
前記分析手段は、前記取得手段により取得された前記コードストリームを、前記記憶手段に記憶させながら分析する
請求項1に記載の情報処理装置。 Obtaining means for obtaining the codestream;
Storage means for storing the codestream acquired by the acquisition means, and
The information processing apparatus according to claim 1, wherein the analysis unit analyzes the code stream acquired by the acquisition unit while being stored in the storage unit.
請求項2に記載の情報処理装置。 The division position determining means determines the division position according to a burst boundary of the storage means.
The information processing apparatus according to claim 2 .
前記記憶手段により記憶されている前記復号処理の結果を、前記バースト転送により前記記憶手段から読み出し、出力する出力手段と
をさらに備える請求項3に記載の情報処理装置。 Control means for supplying and storing the result of the decoding process by the decoding means to the storage means by burst transfer;
The information processing apparatus according to claim 3 , further comprising: an output unit that reads out and outputs the result of the decoding process stored in the storage unit from the storage unit by the burst transfer.
分割位置決定手段は、分析の結果に基づいて、前記画像データの前記マクロブロックのライン数を単位として前記コードストリームの分割位置を決定し、
復号手段は、前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する
情報処理方法。 The analysis means analyzes the code stream in which the image data is encoded during transmission , detects a slice start code of the code stream, and based on the macro block number immediately after the slice start code, To identify one line of the image data image ,
The division position determination means determines the division position of the code stream based on the result of the analysis, with the number of lines of the macroblock of the image data as a unit ,
The decoding means decodes a code stream of a plurality of division units obtained by dividing the code stream at the division position in parallel.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009127244A JP5321895B2 (en) | 2009-05-27 | 2009-05-27 | Information processing apparatus and method |
US12/783,846 US8737467B2 (en) | 2009-05-27 | 2010-05-20 | Information processing apparatus and method |
CN2010101842032A CN101902640A (en) | 2009-05-27 | 2010-05-20 | Messaging device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009127244A JP5321895B2 (en) | 2009-05-27 | 2009-05-27 | Information processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010278597A JP2010278597A (en) | 2010-12-09 |
JP5321895B2 true JP5321895B2 (en) | 2013-10-23 |
Family
ID=43220298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009127244A Expired - Fee Related JP5321895B2 (en) | 2009-05-27 | 2009-05-27 | Information processing apparatus and method |
Country Status (3)
Country | Link |
---|---|
US (1) | US8737467B2 (en) |
JP (1) | JP5321895B2 (en) |
CN (1) | CN101902640A (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685477B (en) * | 2011-03-10 | 2014-12-10 | 华为技术有限公司 | Method and device for obtaining image blocks for merging mode |
GB2534409A (en) * | 2015-01-23 | 2016-07-27 | Sony Corp | Data encoding and decoding |
JP6818618B2 (en) * | 2017-04-04 | 2021-01-20 | キヤノン株式会社 | Information processing equipment, information processing methods and computer programs |
JP2021145157A (en) * | 2018-06-14 | 2021-09-24 | ソニーグループ株式会社 | Image processing apparatus and image processing method |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4553996B2 (en) * | 1998-05-14 | 2010-09-29 | 三菱電機株式会社 | Information reproducing apparatus and information reproducing method |
CN1110205C (en) * | 1998-12-15 | 2003-05-28 | 国家科学技术委员会高技术研究发展中心 | Digital signal source decoder of parallel decoding |
US6750909B1 (en) * | 1999-03-26 | 2004-06-15 | Texas Instruments Incorporated | Image buffer between burst memory and data processor with multiple access modes set by the data processor |
JP4560694B2 (en) * | 2000-04-05 | 2010-10-13 | ソニー株式会社 | Encoding apparatus and method thereof |
US6647061B1 (en) * | 2000-06-09 | 2003-11-11 | General Instrument Corporation | Video size conversion and transcoding from MPEG-2 to MPEG-4 |
CN1245839C (en) * | 2001-07-04 | 2006-03-15 | 矽统科技股份有限公司 | Decode system and method for distributed video data stream |
JP2003319389A (en) * | 2002-04-26 | 2003-11-07 | Matsushita Electric Ind Co Ltd | Image data decoding apparatus and structure of image data |
US7583732B2 (en) * | 2002-12-06 | 2009-09-01 | Broadcom Corporation | Managing bursts of data |
US7436328B2 (en) * | 2003-07-09 | 2008-10-14 | Texas Instruments Incorporated | Video coding with start code emulation prevention |
JP2005175997A (en) * | 2003-12-12 | 2005-06-30 | Sony Corp | Decoding apparatus, electronic apparatus, computer, decoding method, program, and recording medium |
EP3503475B1 (en) * | 2005-04-15 | 2020-10-14 | InterDigital CE Patent Holdings | Remote management method of a device and corresponding device |
JP4534910B2 (en) * | 2005-08-26 | 2010-09-01 | ソニー株式会社 | Image processing apparatus, image processing method, recording medium, and program |
JP2008048130A (en) * | 2006-08-15 | 2008-02-28 | Fujitsu Ltd | Jpeg image processing circuit |
US20080056381A1 (en) * | 2006-08-30 | 2008-03-06 | Chih-Ta Star Sung | Image compression and decompression with fast storage device accessing |
US8213518B1 (en) * | 2006-10-31 | 2012-07-03 | Sony Computer Entertainment Inc. | Multi-threaded streaming data decoding |
CN101222636B (en) * | 2008-01-24 | 2011-05-11 | 杭州华三通信技术有限公司 | Method and arrangement for encoding and decoding images |
JP5050964B2 (en) * | 2008-03-31 | 2012-10-17 | 富士通株式会社 | Decoding device, decoding method, and decoding program |
-
2009
- 2009-05-27 JP JP2009127244A patent/JP5321895B2/en not_active Expired - Fee Related
-
2010
- 2010-05-20 CN CN2010101842032A patent/CN101902640A/en active Pending
- 2010-05-20 US US12/783,846 patent/US8737467B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8737467B2 (en) | 2014-05-27 |
JP2010278597A (en) | 2010-12-09 |
CN101902640A (en) | 2010-12-01 |
US20100303369A1 (en) | 2010-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6423061B2 (en) | Computing device and method for implementing video decoder | |
US7403564B2 (en) | System and method for multiple channel video transcoding | |
US7965898B2 (en) | Accelerating video decoding using multiple processors | |
US8462841B2 (en) | System, method and device to encode and decode video data having multiple video data formats | |
JP5156655B2 (en) | Image processing device | |
WO2017096823A1 (en) | Method, apparatus and system for video transcoding | |
US20080069244A1 (en) | Information processing apparatus, decoder, and operation control method of playback apparatus | |
JP5011017B2 (en) | Image decoding device | |
US20060133512A1 (en) | Video decoder and associated methods of operation | |
US7447266B2 (en) | Decoding device and decoding program for video image data | |
JP2007104231A (en) | Transcoder, recording apparatus, transcode method | |
JP2000295616A (en) | Image coder, image decoder, image coding method, image decoding method and program storage medium | |
JP5321895B2 (en) | Information processing apparatus and method | |
US20060133510A1 (en) | Local macroblock information buffer | |
JP5324431B2 (en) | Image decoding apparatus, image decoding system, image decoding method, and integrated circuit | |
US20150127846A1 (en) | Encoding System and Encoding Method for Video Signals | |
JP2010109572A (en) | Device and method of image processing | |
US8537890B2 (en) | Video decoder with adaptive outputs | |
US8406306B2 (en) | Image decoding apparatus and image decoding method | |
US20060061497A1 (en) | Bit rate conversion apparatus and method | |
US20120183071A1 (en) | Video decoder with adaptive outputs | |
TWI552573B (en) | Coding of video and audio with initialization fragments | |
JP2009130599A (en) | Moving picture decoder | |
US20080056377A1 (en) | Neighboring Context Management | |
WO2009085788A1 (en) | System, method and device for processing macroblock video data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
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: 20130620 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130703 |
|
LAPS | Cancellation because of no payment of annual fees |