JP2010278597A - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JP2010278597A
JP2010278597A JP2009127244A JP2009127244A JP2010278597A JP 2010278597 A JP2010278597 A JP 2010278597A JP 2009127244 A JP2009127244 A JP 2009127244A JP 2009127244 A JP2009127244 A JP 2009127244A JP 2010278597 A JP2010278597 A JP 2010278597A
Authority
JP
Japan
Prior art keywords
unit
code stream
decoding
division
division position
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
Application number
JP2009127244A
Other languages
English (en)
Other versions
JP5321895B2 (ja
Inventor
Ken Tomonaga
憲 友永
Toshio Takada
敏男 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009127244A priority Critical patent/JP5321895B2/ja
Priority to US12/783,846 priority patent/US8737467B2/en
Priority to CN2010101842032A priority patent/CN101902640A/zh
Publication of JP2010278597A publication Critical patent/JP2010278597A/ja
Application granted granted Critical
Publication of JP5321895B2 publication Critical patent/JP5321895B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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)

Abstract

【課題】復号処理の遅延時間をより低減させることができるようにする。
【解決手段】分析部132は、コードストリームを伝送中に分析する。分割位置決定部133は、分析結果に基づいてコードストリームの分割位置を決定する。分割部134は、記憶部122からコードストリームを、分割位置決定部133により決定された位置で分割しながら読み出す。復号制御部135は、分割されたコードストリームを複数の復号処理実行部に分配し、並列的に復号処理を実行させる。本発明は、例えば、復号装置に適用することができる。
【選択図】図4

Description

本発明は、情報処理装置および方法に関し、特に、復号処理の遅延時間をより低減させることができるようにした情報処理装置および方法に関する。
従来、MPEG(Moving Picture Experts Group)と呼ばれる符号化方式により動画像を符号化して得られた符号化ストリームを復号する復号装置がある。規格化されてきたMPEGシリーズの中ではMPEG2が一般的ではある。最近では圧縮率を高めたMPEG4や、AVC(Advanced Video Coding)といった圧符号化方式も規格化されている。
パーソナルコンピュータにおいてこのような符号化ストリームを復号する場合、例えば拡張ボード等によってパーソナルコンピュータに増設された、ハードウェアで構成される復号器を用いて復号する方法がある。
この様な場合、パーソナルコンピュータは、符号化ストリームを復号する必要が生じたときに、その符号化ストリームを復号器に供給する。復号器は、パーソナルコンピュータから符号化ストリームを取得するとそれを復号し、ベースバンドのデータをパーソナルコンピュータに返す。したがって、パーソナルコンピュータが復号器に符号化ストリームを供給してからその符号化結果を得るまでの遅延時間(レイテンシ)が大きいと、パーソナルコンピュータが実行する処理全体の処理時間が大きくなる問題があった。
特に一般的な変換、エフェクトを行うアプリケーションソフトのコーデックI/Fは、1フレームずつ復号する事を前提としているので、動画像データ全体のレイテンシがさらに大きくなることになる。
例えば映画製作などの非圧縮映像を扱ってきた分野では画像が4k x2kなど高精細化になる方向にあり、データの符号化はさらに重要になってきている。
特開2001−292450号公報
しかしながら、復号処理のレイテンシが大きくなると、編集時間が増大し、現実的に不可能となってしまう恐れがあった。
MPEG2ではデコードをより低レイテンシで行う手法もあるが、MPEG2はフレーム間圧縮のため、それでもレイテンシが大きかった。また、圧縮率が高くフレーム内圧縮のMPEG4 Simple Studio Profile(以下SStPと称する)がある(例えば、特許文献1参照)。
しかしながら、MPEG4 SStPを用いて低レイテンシな復号処理を行う方法は無かった。例えば、MPEG2ではストリーム中にラインの始まりを示す部分が存在するが、MPEG4では存在しないため、従来手法を適用することは困難であった。
本発明は、このような状況に鑑みて提案されたものであり、復号処理の遅延時間をより低減させることを目的とする。
本発明の一側面は、画像データが符号化されたコードストリームを伝送中に分析する分析手段と、前記分析手段による分析の結果に基づいて、前記画像データの画像のサイズに応じて前記コードストリームの分割位置を決定する分割位置決定手段と、前記分割位置決定手段により決定された前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する復号手段とを備える情報処理装置である。
前記分析手段は、前記コードストリームを分析して前記画像データの画像の1ラインを特定し、前記分割単位決定手段は、前記画像データの画像の1ラインまたは複数ラインを単位として前記分割位置を決定することができる。
前記分析手段は、前記コードストリームのスライススタートコードを検出し、前記スライススタートコード直後のマクロブロック番号に基づいて、ライン先頭のマクロブロックを検索することにより、前記1ラインを特定し、前記分割単位決定手段は、前記マクロブロックのライン数を単位として前記分割位置を決定することができる。
前記コードストリームを取得する取得手段と、前記取得手段により取得された前記コードストリームを記憶する記憶手段とをさらに備え、前記分析手段は、前記取得手段により取得された前記コードストリームを、前記記憶手段に記憶させながら分析することができる。
前記分割位置決定手段は、前記記憶手段のバースト境界に合わせて前記分割位置を決定することができる。
前記復号手段による復号処理の結果を、バースト転送により前記記憶手段に供給して記憶させる制御手段と、前記記憶手段により記憶されている前記復号処理の結果を、前記バースト転送により前記記憶手段から読み出し、出力する出力手段とをさらに備えることができる。
本発明の一側面は、また、分析手段は、画像データが符号化されたコードストリームを伝送中に分析し、分割位置決定手段は、分析の結果に基づいて、前記画像データの画像のサイズに応じて前記コードストリームの分割位置を決定し、復号手段は、前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する情報処理方法である。
本発明の一側面においては、画像データが符号化されたコードストリームが伝送中に分析され、分析の結果に基づいて、画像データの画像のサイズに応じてコードストリームの分割位置が決定され、分割位置においてコードストリームが分割されて得られる複数の分割単位のコードストリームが並列的に復号される。
本発明によれば、情報を処理することができる。特に、復号処理の遅延時間をより低減させることができる。
本発明を適用した情報処理システムの構成例を示すブロック図である。 図1の復号処理ユニットの詳細な構成例を示すブロック図である。 コードストリーム取得処理の流れの例を説明するフローチャートである。 分割単位決定処理の流れの例を説明するフローチャートである。 データの構造例を示す図である。 復号制御処理の流れの例を説明するフローチャートである。 分割の様子の例を説明する図である。 転送処理の流れの例を説明するフローチャートである。 遅延の様子の例を説明する図である。 本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
以下、発明を実施するための形態(以下実施の形態とする)について 説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(低遅延復号処理)
2.第2の実施の形態(パーソナルコンピュータ)
<1.第1の実施の形態>
[デバイスの構成]
図1は、本発明を適用した情報処理システムの構成例を示すブロック図である。
図1に示される情報処理システム100は、パーソナルコンピュータ101が、画像データが符号化されたコードストリームを、バス103を介して復号処理ユニット102に供給して復号させ、バス103を介して復号結果を取得するシステムである。
コードストリームは、画像データが、MPEG4 Simple Studio Profile(以下SStPと称する)により符号化されたものである。すなわち、復号処理ユニット102は、コードストリームを、フレーム内圧縮(Intra)であるMPEG4 SStP方式で低レイテンシに復号する。
パーソナルコンピュータ101は、CPU(Central Processing Unit)111、主記憶部112、チップセット113、ホストバスアダプタ114、および補助記憶部115を有する。
CPU111は、補助記憶部115に記憶されているプログラムやデータを読み出して主記憶部112にロードして実行し、演算や制御処理を行う。主記憶部112は、例えばDRAM(Dynamic Random Access Memory)等の半導体メモリ等により構成され、各種情報を一時的に保持する。
チップセット113は、CPU111のバスインタフェース等の処理を行う。ホストバスアダプタ114は、補助記憶部115等の記憶媒体やドライブ等を接続するバスのインタフェースである。補助記憶部115は、例えば、ハードディスクやフラッシュメモリ等により構成される大容量の記憶媒体である。
復号処理ユニット102は、制御部121、記憶部122、および復号部123を有する。制御部121は、例えばCPU等により構成され、復号処理ユニット102の各部を制御する。記憶部122は、例えばDRAM等の半導体メモリ等により構成され、各種情報を一時的に保持する。復号部123は、符号化データをMPEG4 SStP方式で復号して動画像データを得る復号処理を行う。
パーソナルコンピュータ101の補助記憶部115は、動画像データがMPEG4 SStP方式で符号化されたコードストリームを記憶する。CPU111は、チップセット113およびホストバスアダプタ114を介して補助記憶部115からそのコードストリームを読み出し、主記憶部112に保持させる。
CPU111は、主記憶部112に保持させたコードストリームを読み出し、チップセット113、およびバス103を介して復号処理ユニット102に供給する。復号処理ユニット102の制御部121は、そのコードストリームを取得すると、それを記憶部122に一旦保持させる。
制御部121は、所定のタイミングで記憶部122からコードストリームを読み出し、復号部123に供給し、復号処理させる。制御部121は、復号部123から復号結果の画像データを得ると、それを記憶部122に一旦格納する。制御部121は、所定のタイミングで記憶部122から動画像データを読み出し、バス103を介してパーソナルコンピュータ101に供給する。
パーソナルコンピュータ101のCPU111は、チップセット113を介してその動画像データを取得すると、それを主記憶部112に保持させ、必要に応じて読み出して、変換処理や画像処理等を行う。また、CPU111は、必要に応じて主記憶部112に保持されている動画像データを補助記憶部115に供給し、記憶させる。
映画製作などの非圧縮映像を扱ってきた分野では画像が4k x2kなど高精細化になる方向であり、補助記憶部115の転送帯域が不足するため圧縮を用いる必要が出てくるが、復号処理ユニット102における復号処理のレイテンシ(遅延時間)を削減しないとその編集時間が膨大になり現実的でなくなってしまう。
MPEG2はフレーム間圧縮のためレイテンシが大きすぎる。そのため、パーソナルコンピュータ101は、圧縮率が高くフレーム内圧縮のMPEG 4SStPを用いる。ここで復号部123は、複数の復号処理を並行して実行することができる。
制御部121は、レイテンシの低減のために、コードストリームを所定のデータ単位で分割し、それぞれを復号部123に互いに並列的に復号させる。
ただし、MPEG 4SStPの場合、コードストリーム中にラインの始まりを示す部分が存在しないため、MPEG2に用いる手法を適用することができない。
また、コードストリームを分割して各コーデックでデコードした結果は、一旦記憶部122に格納し、所定のタイミングで読み出されてパーソナルコンピュータ101に転送される。このとき、記憶部122へのデータの入出力は、バースト転送で行うのが望ましい。そのためには、分割単位の画像データのデータ量が、記憶部122のバースト境界に対応する必要がある。分割単位の画像データのデータ量がバースト境界に一致しないと、バースト転送を行うことができないため、逆にレイテンシが増加してしまう恐れがあった。
そこで、復号処理ユニット102の制御部121は、MPEG 4SStPのコードストリームから、ラインの始まりを検出し、その1ラインを単位としてコードストリームの分割位置を決定する。また、制御部121は、バースト境界も考慮しながらコードストリームの分割位置を決定する。
図2は、図1の復号処理ユニットの詳細な構成例を示すブロック図である。
図2に示されるように、復号処理ユニット102の制御部121は、取得部131、分析部132、分割位置決定部133、分割部134、復号制御部135、および転送部136を有する。取得部131は、パーソナルコンピュータ101から供給されるコードストリームを取得し、それを分析部132に供給する。
分析部132は、コードストリームを分析し、例えば、そのコードストリームの画像の画サイズを示す画サイズ情報や、マクロブロックの位置や大きさ等の情報を含むマクロブロック情報等、各種情報を取得し、それらを分割位置決定部133に通知する。また、分析部132は、画像とマクロブロックのサイズからラインの先頭位置を特定し、それを分割位置決定部133に通知する。分析部132は、コードストリームを記憶部122に記憶させながらこの分析を行う。すなわち、分析部132は、コードストリームの伝送中にこの分析を行う。したがって、分析部132は、この分析処理による遅延時間の増大を抑制することができる。
分割位置決定部133は、分析部132から供給される各種情報に基づいて、コードストリームの分割位置(分割単位の大きさ)を決定する。このとき、分割位置決定部133は、さらに記憶部122のバースト境界も考慮して分割位置を決定する。分割位置決定部133は、決定した分割位置(分割単位)を分割部134に通知する。
分割部134は、分割位置決定部133から供給される情報に基づいて、記憶部122からコードストリームをその分割単位ごとに読み出す(分割位置で分割するように読み出す)ことにより、コードストリームを分割する。分割部134は、読み出したコードストリームを順次、復号制御部135に供給する。
復号制御部135は、分割部134により読み出された分割単位のコードストリームを、復号部123の復号処理実行部151乃至復号処理実行部153に分配し、それぞれにおいて復号させ、それぞれの復号結果を取得する。復号制御部135は、取得した各復号処理実行部の復号結果を、整列させるように記憶部122の所定のアドレスに記憶させる。また、復号制御部135は、復号結果を記憶部122に保持させたことを転送部136に通知する。
転送部136は、記憶部122から復号結果である画像データを分割単位ごとに読み出し、パーソナルコンピュータ101に転送する。
記憶部122は、パーソナルコンピュータ101から供給されたコードストリームを記憶する領域141と、復号制御部135から供給された復号結果である画像データを記憶する領域142とを有する。図2に示されるように、領域141には、パーソナルコンピュータ101から供給されるコードストリームがその供給順に並べられて格納される。また、領域142には、復号部123から供給された画像データが、分割前と同順に並べられて格納される。つまり、転送部136が領域142から各画像データをアドレス順に読み出すことにより分割単位の画像データが互いに合成される。
復号部123は、復号処理実行部151乃至復号処理実行部153を有する。復号処理実行部151乃至復号処理実行部153は、それぞれ、コードストリームをMPEG 4SStP方式で復号する。復号処理実行部151乃至復号処理実行部153は、互いに並行して(並列的に)復号処理を実行することができる。
ここで、「並行して」や「並列的に」とは、各復号処理実行部の復号処理実行期間が重複することを示す。例えば、あるタイミングにおいて複数の復号処理実行部において復号処理が実行されている場合があるということである。つまり、各復号処理実行部の復号処理の開始や終了のタイミングが互いに揃っているとは限らない。
以上のように最大3つの復号処理を並行して実行することができるので、復号部123は、復号処理実行部1つと比べて、最大3倍の処理能力を有する。したがって、復号部123は、より低遅延に復号処理を行うことができる。なお、復号部123が有する復号処理実行部の数は任意であり、2つ以下であってもよいし、4つ以上であっても良い。ただし、復号部123の復号処理能力は高いほど望ましい(より高速に動作するか、若しくは、より多くの復号処理を並列的に実行することができることが望ましい)。
また、復号部123が制御部121と異なるユニット(別体)として構成されるようにしてもよい。もちろん、復号処理実行部同士が互いに同一のユニットに構成される必要は無い。
[処理の流れ]
次に、以上のような構成の復号処理ユニット102により実行される各種処理について説明する。パーソナルコンピュータ101からコードストリームが供給されると、復号処理ユニット102の制御部121は、コードストリーム取得処理を実行し、上述したように、そのコードストリームを記憶部122に記憶させる。
図3のフローチャートを参照して、コードストリーム取得処理の流れの例を説明する。
コードストリーム取得処理が開始されると、制御部121の取得部131は、ステップS101において、記憶部122の領域141の空き容量を確認する。ステップS102において、取得部131は、確認した空き容量の分、パーソナルコンピュータ101からコードストリームを取得する。
ステップS103において、分析部132は、取得したコードストリームの分析を行い、画像のラインの先頭を特定する。ステップS104において、分割位置決定部133は、分析結果に基づいてコードストリームの分割単位を決定する。
より具体的には、分割位置決定部133は、データ量が記憶部122のバースト境界の整数倍となるライン数を算出し、それを分割単位としてコードストリームの分割位置を決定する。
分割位置決定部133は、ライン単位で分割位置を決定する。ただし、マクロブロックの垂直方向のサイズが16pixelであるので、実際には、分析部132は、16ラインを単位として分割位置を決定する。
一般的に、復号結果の画像データを格納する記憶部122には原画像の大きさからDIMM(Dual Inline Memory Module)などDRAMが用いられるが、DRAMへの入出力は、バースト転送で行わないと転送に時間がかかる。つまりデータ入出力のレイテンシ(遅延時間)が大きくなる。
記憶部122に対するデータの読み書きの単位(データ量)が、記憶部122のバースト境界に合っていない場合、同一バースト境界内部を次の書き込みで上書きしてしまう恐れがあるので、バーストアクセスを行うことができなくなり、レイテンシが増大する恐れがある。また、実現回路も複雑で高価なものになる恐れがある。
つまり、レイテンシの増大やコストの増大を抑制するために、この記憶部122への読み書きは、記憶部122のバースト境界に合わせた単位で行うのが望ましい。ところで、複数の復号処理実行部から出力された画像データは、一旦記憶部122に格納される。より具体的には、復号制御部135や転送部136は、分割単位の画像データを読み書きする。
したがって、分割位置決定部133は、この分割単位の画像データのデータ量が記憶部122のバースト境界に合うように分割位置を決定する。
例えば、記憶部122が16バースト、データビット幅(Data bit幅)の合計が128bitとする。そのバースト境界は128[bit]/8×16=256[byte]となる。
また、復号結果として得られる画像データの画像が、例えば、画像水平サイズが2048[pixel]で、YCbCr=4:4:4フォーマットで、階調が10ビットの画像であるとする。
この場合、画像が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へのアクセスを全てバーストアクセスとすることができる。
これに対して、復号結果として得られる画像データの画像が、例えば、画像水平サイズが2048[pixel]で、YCbCr=4:2:2フォーマットで、階調が10ビットの画像であるとする。
この場合、画像が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へのアクセスを全てバーストアクセスとすることができなくなり、遅延時間が増大する恐れがある。
ただし、例えば144ライン分であれば、144=48×3であるので、データ量は、16384/3×144[byte]=786432[byte]となり、バースト境界256[byte]の整数倍となる。つまり、復号制御部135および転送部136による記憶部122へのアクセスを全てバーストアクセスとすることができる。
この場合、もちろん、分割位置決定部133は、48(16×3)ラインを分割単位とすることもできるし、96(32×3)ラインを分割単位とすることもできる。さらに、192(64×3)ラインを分割単位とすることもできる。
以上のように、分割位置(分割単位)が決定されると、ステップS105に進む。
ステップS105において記憶部122は、分析部132から供給されるコードストリームを取得し、保持する。
以上のように、分析部132は、コードストリームを記憶部122に記憶させながら(伝送中に)分析する。分割位置決定部133は、必要な情報が得られ次第、分割位置を決定する。つまり、ステップS103乃至ステップS105の各処理は互いに並行して実行されることも可能である。また、既に分割位置(分割単位)が決定されており、その位置を更新する必要が無い場合、ステップS104の処理は省略される。
ステップS106において、分割位置決定部133は、分析部132から供給される分析結果に基づいて、分割単位分のコードストリームが記憶部122に保持されたか否かを判定する。分割単位分のコードストリームが記憶部122に保持されていないと判定された場合、ステップS101に戻り、それ以降の処理が繰り返される。ステップS106において、分割単位分のコードストリームが記憶部122に保持されたと判定された場合、ステップS107に進む。
ステップS107において、分割位置決定部133は、分割部134に対して、分割単位分のコードストリームが保持された旨を通知する。通知が終了すると、コードストリーム取得処理が終了する。
次に、図4のフローチャートを参照して、図3のステップS103において実行される分析処理の流れの例を説明する。必要に応じて図5を参照して説明する。
分析処理が開始されると、分析部132は、ステップS121において、コードストリームを分析し、その画像の画サイズ情報を取得し、分割位置決定部133に通知する。ステップS122において、分析部132は、コードストリームを分析し、そのマクロブロックサイズ情報を取得し、分割位置決定部133に通知する。
コードストリームは、原動画像の水平ライン単位で分割するが、MPEG4 SStPのコードストリーム内には、MPEG2の様なラインを示す部分は存在しない。そこで、マクロブロック番号(macro block number)を用いて各ラインを特定する(つまりラインの先頭位置を特定する)。
図5は、コードストリームの構造例を示す図である。図5に示されるように、コードストリーム(Visual Object Sequence)は、階層構造となっており、下から3段目に示されるStudio Video Object Planeが1画面分のデータに相当する。
このStudio Video Object Planeには、ヘッダ情報(Header)と、1つまたは複数のスライス(Studio Slice)が存在する。このヘッダ情報には、画像の画サイズを示す情報(vop_widthやvop_height)が含まれる。また、各スライスには、ヘッダ情報(Header)と、1つまたは複数のマクロブロック(Studio Macro Block)が含まれている。そのヘッダ情報には、スライスの先頭を意味するスライススタートコード(Slice_start_code)と、先頭のマクロブロックの識別番号を示すマクロブロック番号(macro block number)が含まれている。
ここでマクロブロックのサイズが16[pixel]×16[pixel]とする。このとき、1ラインのサイズ(画素数)/16が1ライン当たりのマクロブロック数となる。もちろん、これは一例であり、マクロブロックのサイズは任意である。
ここで1ラインが1920[pixel]とすると、1ライン当たりのマクロブロック数は、1920/16=120個となる。MPEG4 SStPではスライス(Studio Slice)はラインをまたがないので、マクロブロック番号が120の整数倍であるスライスがラインの左端のスライスとなる。つまり、このスライスの先頭がラインの先頭となる。
そこでまず、分析部132は、ステップS123において、コードストリーム中からスライススタートコード(Slice_start_code)を検索することによりスライス(Studio Slice)の先頭(ヘッダ情報(Header))を検索する。スライススタートコードは予め定められている固定値であり、(000001B7 h)であるが、他の値に変更になってもそれに合わせれば良い。
ステップS124において分析部132は、スライススタートコードが検出されたか否かを判定する。スライススタートコードが検出されていないと判定した場合、処理はステップS123に戻る。つまり、スライススタートコードの検索が継続される。また、ステップS124において、スライススタートコードが検出されたと判定された場合、ステップS125に進む。分析部132は、ステップS125において、直後のマクロブロック番号(macro block number)が、「水平方向の画サイズ(vop_width)/マクロブロックサイズ(例えば16pixel)」であるか否かを判定する。
マクロブロック番号が、「水平方向の画サイズ/マクロブロックサイズ」に一致しないと判定された場合、ステップS123に戻る。つまり、スライススタートコードの検索が継続される。また、ステップS125において、マクロブロック番号が、「水平方向の画サイズ/マクロブロックサイズ」に一致すると判定された場合、ステップS126に進む。
ステップS126において、分析部132は、その位置をラインの先頭であると特定し、その位置を分割位置決定部133に通知する。
以上のように、ラインの先頭位置が通知されると、分析処理が終了され、図3のステップS103に戻り、ステップS104以降の処理が実行される。つまり、分割位置決定部133は、分析部132からライン先頭の位置情報を分析結果として取得し、その位置情報に基づいて分割位置を決定する。
図3のステップS107の処理により、分割単位のコードストリームが保持された旨が通知されると、分割部134は、復号制御処理を開始する。
図6のフローチャートを参照して、分割部134および復号制御部135により実行される復号制御処理の流れの例を説明する。
復号制御処理が開始されると、分割部134は、ステップS141において、記憶部122に記憶されているコードストリームを、分割位置決定部133により決定された分割単位で読み出す。ステップS142において、分割部134は、読み出した分割単位のコードストリームにヘッダ情報を付加する。ステップS143において、復号制御部135は、分割単位のコードストリームに復号処理実行部の割り当てを行う。
ステップS144において、復号処理実行部151乃至復号処理実行部153は、それぞれ、割り当てられた分割単位のコードストリームを復号する。復号処理が終了すると、復号処理実行部151乃至復号処理実行部153は、得られた復号結果(画像データ)を、それぞれ、復号制御部135に返す。ステップS145において、復号制御部135は、供給された各分割単位の画像データに対して、記憶部122の格納先のアドレスを指定し、所定順に整列させて記憶部122に保持させる。このとき復号制御部135は、バースト転送により、分割単位の画像データを記憶部122に供給し、格納させる。
ステップS145の処理が終了すると、復号制御処理が終了される。
図7は、分割の様子の例を説明する図である。図7に示されるように1フレーム分のコードストリーム201は、上述したように、バースト境界に合わせた分割位置で分割される。図7は、上述した計算例に対応しており144ラインを分割単位としてコードストリーム201が分割されている。
分割された各コードストリームには、1フレーム分のコードストリームのときと同じように、Visual Object SequenceからStudio Video Object Planeまでの全てのヘッダ情報が付加される。そして、そのヘッダ情報が付加された分割単位の各コードストリームは、それぞれ、順に復号処理実行部151乃至復号処理実行部153のいずれかに割り当てられる。
図7の例の場合、最初のコードストリーム211が復号処理実行部151に割り当てられ、次のコードストリーム212が復号処理実行部152に割り当てられ、その次のコードストリーム213が復号処理実行部153に割り当てられている。また、さらにその次のコードストリーム214は、また復号処理実行部151に割り当てられる。このように、各コードストリームは、所定順に復号処理実行部151乃至復号処理実行部153に割り当てられる。
したがって、復号処理実行部151乃至復号処理実行部153は、それぞれ、供給されたコードストリームを、Visual Object Sequenceとして取り扱い、復号処理を行う。
以上のような復号制御処理を実行することにより、制御部121は、コードストリームをより低遅延に復号することができる。
以上のような各処理と並行して、転送部136は転送処理を実行し、記憶部122に格納される画像データをパーソナルコンピュータ101に転送する。
図8のフローチャートを参照して、転送処理の流れの例を説明する。
転送処理が開始されると、転送部136は、ステップS161において時系列順に次の分割単位の画像データ(次に転送すべき画像データ)が記憶部122に保持されたか否かを判定し、保持されたと判定されるまで待機する。次に転送すべき画像データが保持されたと判定された場合、ステップS162に進む。
ステップS162において、転送部136は、処理対象とする画像データ、すなわち、次に転送すべき画像データを記憶部122から読み出して、パーソナルコンピュータ101に転送する。このとき、転送部136は、記憶部122から画像データをバースト転送で読み出す。
転送が終了すると、転送処理が終了される。転送処理が終了すると、再度、転送処理が新たに実行される。この転送処理は、パーソナルコンピュータ101からのコードストリームの供給が停止されるまで繰り返し実行される。
以上のようにすることにより、転送部136は、記憶部122に保持される画像データを順次パーソナルコンピュータに提供することができる。
図9は、1フレーム分のデータ処理における遅延の様子の例を説明する図である。
この図9には、原動画像が、画像サイズが1920[pixel]×1080[pixel]で、YCbCr=4:2:2フォーマットで、階調が10[bit]で、フレームレートが30[fps]のプログレッシブ画像であるときの、遅延の様子の例が示されている。
なお、復号処理実行部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]という低レインテンシで復号することができる。
なお、復号処理実行処理部の数を増やせば、レイテンシをさらに抑制することができる。例えば、上述した復号処理実行部を6つ用い、バス103として、帯域を合わせたバス(PCI Express x16)などを用いた場合、約3.5[ms]のレイテンシになる。
以上においては、1フレームだけを復号する場合について説明したが、これに限らず、ストリームを連続的にコンピュータから供給するパイプライン的なI/Fをもつアプリケーションを用いるなどして、原動画像の実時間の6倍速など、n倍速で復号するようにすることも、情報処理システム100の復号処理ユニット102は、容易に実現することができる。
以上のように、汎用の符号化・復号方式であるMPEG4 SStP方式の復号処理実行部を複数個用い、また、MPEG4 SStPのストリームの仕組みを用いてストリームをパースし、複数に分割してデコード制御することで、低レイテンシで復号処理を行うことができる。
またこの仕組みを用いて、低レイテンシと共に、実時間のn倍などリアルタイム以上の速度で復号することができる。
<2.第2の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図10に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図10において、パーソナルコンピュータ400のCPU401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM(Random Access Memory)403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図10に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
100 情報処理システム, 101 パーソナルコンピュータ, 102 復号処理ユニット, 121 制御部, 122 記憶部, 123 復号部, 131 取得部, 132 分析部, 133 分割位置決定部, 134 分割部, 135 復号制御部, 136 転送部, 151乃至153 復号処理実行部

Claims (7)

  1. 画像データが符号化されたコードストリームを伝送中に分析する分析手段と、
    前記分析手段による分析の結果に基づいて、前記画像データの画像のサイズに応じて前記コードストリームの分割位置を決定する分割位置決定手段と、
    前記分割位置決定手段により決定された前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する復号手段と
    を備える情報処理装置。
  2. 前記分析手段は、前記コードストリームを分析して前記画像データの画像の1ラインを特定し、
    前記分割単位決定手段は、前記画像データの画像の1ラインまたは複数ラインを単位として前記分割位置を決定する
    請求項1に記載の情報処理装置。
  3. 前記分析手段は、前記コードストリームのスライススタートコードを検出し、前記スライススタートコード直後のマクロブロック番号に基づいて、ライン先頭のマクロブロックを検索することにより、前記1ラインを特定し、
    前記分割単位決定手段は、前記マクロブロックのライン数を単位として前記分割位置を決定する
    請求項2に記載の情報処理装置。
  4. 前記コードストリームを取得する取得手段と、
    前記取得手段により取得された前記コードストリームを記憶する記憶手段と
    をさらに備え、
    前記分析手段は、前記取得手段により取得された前記コードストリームを、前記記憶手段に記憶させながら分析する
    請求項1に記載の情報処理装置。
  5. 前記分割位置決定手段は、前記記憶手段のバースト境界に合わせて前記分割位置を決定する
    請求項4に記載の情報処理装置。
  6. 前記復号手段による復号処理の結果を、バースト転送により前記記憶手段に供給して記憶させる制御手段と、
    前記記憶手段により記憶されている前記復号処理の結果を、前記バースト転送により前記記憶手段から読み出し、出力する出力手段と
    をさらに備える請求項5に記載の情報処理装置。
  7. 分析手段は、画像データが符号化されたコードストリームを伝送中に分析し、
    分割位置決定手段は、分析の結果に基づいて、前記画像データの画像のサイズに応じて前記コードストリームの分割位置を決定し、
    復号手段は、前記分割位置において前記コードストリームが分割されて得られる複数の分割単位のコードストリームを並列的に復号する
    情報処理方法。
JP2009127244A 2009-05-27 2009-05-27 情報処理装置および方法 Expired - Fee Related JP5321895B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009127244A JP5321895B2 (ja) 2009-05-27 2009-05-27 情報処理装置および方法
US12/783,846 US8737467B2 (en) 2009-05-27 2010-05-20 Information processing apparatus and method
CN2010101842032A CN101902640A (zh) 2009-05-27 2010-05-20 信息处理设备以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009127244A JP5321895B2 (ja) 2009-05-27 2009-05-27 情報処理装置および方法

Publications (2)

Publication Number Publication Date
JP2010278597A true JP2010278597A (ja) 2010-12-09
JP5321895B2 JP5321895B2 (ja) 2013-10-23

Family

ID=43220298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009127244A Expired - Fee Related JP5321895B2 (ja) 2009-05-27 2009-05-27 情報処理装置および方法

Country Status (3)

Country Link
US (1) US8737467B2 (ja)
JP (1) JP5321895B2 (ja)
CN (1) CN101902640A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019239931A1 (ja) * 2018-06-14 2019-12-19 ソニー株式会社 画像処理装置および方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685477B (zh) * 2011-03-10 2014-12-10 华为技术有限公司 获取用于合并模式的图像块的方法和设备
GB2534409A (en) * 2015-01-23 2016-07-27 Sony Corp Data encoding and decoding
JP6818618B2 (ja) * 2017-04-04 2021-01-20 キヤノン株式会社 情報処理装置、情報処理方法およびコンピュータプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331840A (ja) * 1998-05-14 1999-11-30 Mitsubishi Electric Corp 映像信号処理装置
JP2003319389A (ja) * 2002-04-26 2003-11-07 Matsushita Electric Ind Co Ltd 画像データ復号装置、画像データ構造

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1110205C (zh) * 1998-12-15 2003-05-28 国家科学技术委员会高技术研究发展中心 并行解码的数字信源解码器
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 (ja) 2000-04-05 2010-10-13 ソニー株式会社 符号化装置及びその方法
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
CN1245839C (zh) * 2001-07-04 2006-03-15 矽统科技股份有限公司 分散式视频数据流解码方法
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 (ja) * 2003-12-12 2005-06-30 Sony Corp 復号化装置、電子機器、コンピュータ、復号化方法、プログラム及び記録媒体
WO2006108685A2 (en) * 2005-04-15 2006-10-19 Thomson Licensing Remote management method of a distant device, and corresponding video device
JP4534910B2 (ja) * 2005-08-26 2010-09-01 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP2008048130A (ja) * 2006-08-15 2008-02-28 Fujitsu Ltd Jpeg画像処理回路
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 (zh) * 2008-01-24 2011-05-11 杭州华三通信技术有限公司 图像编解码方法和图像编解码装置
JP5050964B2 (ja) * 2008-03-31 2012-10-17 富士通株式会社 復号装置,復号方法および復号プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331840A (ja) * 1998-05-14 1999-11-30 Mitsubishi Electric Corp 映像信号処理装置
JP2003319389A (ja) * 2002-04-26 2003-11-07 Matsushita Electric Ind Co Ltd 画像データ復号装置、画像データ構造

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019239931A1 (ja) * 2018-06-14 2019-12-19 ソニー株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
US20100303369A1 (en) 2010-12-02
US8737467B2 (en) 2014-05-27
JP5321895B2 (ja) 2013-10-23
CN101902640A (zh) 2010-12-01

Similar Documents

Publication Publication Date Title
US7403564B2 (en) System and method for multiple channel video transcoding
US9172969B2 (en) Local macroblock information buffer
US8520734B1 (en) Method and system for remotely communicating a computer rendered image sequence
US7965898B2 (en) Accelerating video decoding using multiple processors
JP5156655B2 (ja) 画像処理装置
US8290285B2 (en) Method and related apparatuses for decoding multimedia data
US20080069244A1 (en) Information processing apparatus, decoder, and operation control method of playback apparatus
WO2017096823A1 (zh) 视频转码方法和装置***
JP5011017B2 (ja) 画像復号化装置
US20060133512A1 (en) Video decoder and associated methods of operation
JP2007104231A (ja) トランスコーダ、記録装置及びトランスコード方法
JP2000295616A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
JP5321895B2 (ja) 情報処理装置および方法
JP2010109572A (ja) 画像処理装置、及び方法
US20150127846A1 (en) Encoding System and Encoding Method for Video Signals
US8537890B2 (en) Video decoder with adaptive outputs
US8406306B2 (en) Image decoding apparatus and image decoding method
US20060061497A1 (en) Bit rate conversion apparatus and method
JP2008141276A (ja) Tv信号処理回路
US6829303B1 (en) Methods and apparatus for decoding images using dedicated hardware circuitry and a programmable processor
US20120183071A1 (en) Video decoder with adaptive outputs
JP2009130599A (ja) 動画像復号装置
US20080056377A1 (en) Neighboring Context Management
TW201635788A (zh) 具有初始化片段之視訊及音訊之寫碼
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