JP2006115168A - 画像復号装置および画像表示装置 - Google Patents
画像復号装置および画像表示装置 Download PDFInfo
- Publication number
- JP2006115168A JP2006115168A JP2004300017A JP2004300017A JP2006115168A JP 2006115168 A JP2006115168 A JP 2006115168A JP 2004300017 A JP2004300017 A JP 2004300017A JP 2004300017 A JP2004300017 A JP 2004300017A JP 2006115168 A JP2006115168 A JP 2006115168A
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- data transfer
- decoding
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】符号化されたストリームを復号する際に要するデータ転送を効率的に行う画像復号装置を提供する。
【解決手段】画像復号を行う各処理ブロックにより実行パイプラインを構成し、各処理とマクロブロック毎にデータ転送を行う外部メモリを一元化し、可変長復号化部12のためのFIFOバッファ13を監視する。そして、当該バッファが空になった場合には可変長復号化部12の処理を停止し、再度バッファにデータ転送がされた後に処理を再開することでベストエフォット動作を実現する。
【選択図】図1
【解決手段】画像復号を行う各処理ブロックにより実行パイプラインを構成し、各処理とマクロブロック毎にデータ転送を行う外部メモリを一元化し、可変長復号化部12のためのFIFOバッファ13を監視する。そして、当該バッファが空になった場合には可変長復号化部12の処理を停止し、再度バッファにデータ転送がされた後に処理を再開することでベストエフォット動作を実現する。
【選択図】図1
Description
本発明は、圧縮符号化された画像のストリームを復号化するための画像復号装置および画像表示装置に関するものである。
動画像符号化方式としては、MPEG2規格(ISO/IEC13818)が広く普及している。このMPEG−2においては、主に機能の分類(シンタックスの違い)を規定するプロファイルと、画像サイズなどの処理量の違いを規定するレベルという概念を導入し、サポート可能な符号化性能をクラス分けしている。通常、720x480画素、60フィールド/秒のITU−R601の画像に対してはMP@ML(Main Profile at Main Level)が、1920x1080画素、60フィールド/秒のHDTVの画像に対してはMP@HL(Main Profile at High Level)が使用される。
高品位テレビジョン(HDTV:High Definition Television) 信号のような画素数の多い画面構成の動画像信号の画像復号装置、たとえばMP@HLの復号化を実行する装置は、外部メモリに対するデータ転送量が多大になる。MPEG2 MP@HLにより複数のストリームをリアルタイムに同時に復号化する場合には、さらにデータ転送量が増大する。したがって、たとえば下記特許文献1のように、効率的なデータ転送を行う技術が提案されている。
図7は、MP@HLのストリームデータ(以下、適宜ストリームと略記する)の復号化を実行する、従来の画像復号装置の構成を示すブロック図である。
図7において、可変長復号化部12a、逆量子化部14a、逆DCT部15a、動き補償部17aの各ブロックは、符号化されたストリームを復号化するための実行パイプラインを構成する。
外部メモリ20aには、可変長符号化データ(ストリーム)が記憶され、外部メモリ21aには、動き補償のための参照画像および復号化された画像(復号化画像)が記憶される。
図7において、可変長復号化部12a、逆量子化部14a、逆DCT部15a、動き補償部17aの各ブロックは、符号化されたストリームを復号化するための実行パイプラインを構成する。
外部メモリ20aには、可変長符号化データ(ストリーム)が記憶され、外部メモリ21aには、動き補償のための参照画像および復号化された画像(復号化画像)が記憶される。
図7に示す従来の画像復号装置では、逆DCT部15aにより得られた差分画像と、動き補償部17aにより選択された参照画像とが加算器16aにより加算され、元の画像が生成される。
実行パイプラインの各ブロックと外部メモリ20a,21aの間には、データバッファ13a,18a,19aが用意され、外部メモリとやり取りされるデータが格納される。すなわち、可変長復号化部12aは、外部メモリから読み出したストリームをデータバッファ13aに格納する。差分画像と参照画像の加算結果である復号化画像は、バッファ18aに格納されてから外部メモリ21aに書き込まれる。動き補償部17aは、参照画像を外部メモリ21aから読み出し、バッファ19aに格納する。
各ブロックの処理の開始は、制御部11aによって制御される。
実行パイプラインの各ブロックと外部メモリ20a,21aの間には、データバッファ13a,18a,19aが用意され、外部メモリとやり取りされるデータが格納される。すなわち、可変長復号化部12aは、外部メモリから読み出したストリームをデータバッファ13aに格納する。差分画像と参照画像の加算結果である復号化画像は、バッファ18aに格納されてから外部メモリ21aに書き込まれる。動き補償部17aは、参照画像を外部メモリ21aから読み出し、バッファ19aに格納する。
各ブロックの処理の開始は、制御部11aによって制御される。
また、従来の画像復号装置では、データ転送量を容易に保証するため、各ブロックのデータ転送要求はタイムスケジューリングされている。すなわち、1フレーム期間を1フレームのトータルのマクロブロック(MB)の数で割った平均を1MB期間として、1MB期間毎に各ブロックの処理およびデータ転送が管理される。これを固定パイプライン動作という。
ところで、参照画像および復号化画像のデータは、規則的に外部メモリ21aに対してアクセスが行われるので、保証すべきデータ転送量が比較的一定である。その一方で、可変長符号化データは、外部メモリ20aに対してバースト的にアクセスされるので、外部メモリのデータ転送については、最悪ケースとして、最大の読み出し量を保証する必要がある。たとえば、MPEGにおいては、平均的なストリームの読み出し量に対し、最大の読み出し量は10倍程度となる。
そして、データ転送の最悪値を保証しようとする場合に、従来の固定パイプライン動作では、データ転送に無駄が生じてしまうという問題がある。
以下、従来の固定パイプライン動作の問題点について添付図面に関連付けて述べる。
図8は、固定パイプライン動作におけるデータ転送を示す模式図である。
図8において、最初の1MB期間である1MB_1では、外部メモリ20aからのストリームの読み出し量が最大値を要求している場合である。次の1MB期間である1MB_2および1MB_3では、逆に外部メモリ20aからのストリームの読み出し量が平均よりも少ない場合であって、この場合の頻度が極めて高い。
図8において、最初の1MB期間である1MB_1では、外部メモリ20aからのストリームの読み出し量が最大値を要求している場合である。次の1MB期間である1MB_2および1MB_3では、逆に外部メモリ20aからのストリームの読み出し量が平均よりも少ない場合であって、この場合の頻度が極めて高い。
かかる場合には、1MB_1により必要な全体のデータ転送量が決定されるため、1MB_1の場合を保証する結果、1MB_2および1MB_3では、図において、無駄時間ΔT1およびΔT2が生じ、効率的な転送ができない。すなわち、一定期間、たとえば1フレーム期間のデータ転送において、無駄時間ΔT1およびΔT2が存在するために、これらの無駄時間以外の時間にデータ転送量が集中する。
また、従来の画像復号装置では、ストリームのための外部メモリ20aと、参照画像および復号化画像のための外部メモリ21aとが独立しているため、画像復号装置全体としてデータ転送量を緩和することが困難である。
したがって、本発明の目的は、ストリームを復号する際に要するデータ転送を効率的に行う画像復号装置を提供することにある。
上記課題を克服するために、本発明の第1の観点は、符号化されたストリームを含む第1のデータと、動き補償のための参照画像を含む第2のデータとを記憶するメモリと、画像の基準時間毎に前記メモリから転送された第1のデータを復号する第1の処理部と、前記メモリから転送された第2のデータに基づいて、第1の処理部の復号結果に対して動き補償を行い、差分画像を生成する第2の処理部と、前記第1の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像を前記メモリに転送する第3の処理部と、前記第1〜第3の処理部が順にパイプライン動作を行うように制御する制御部と、を有し、前記第1〜第3の処理部のそれぞれの処理時間は、前記第1〜第3の処理部が前記メモリとのデータ転送に要する時間の総和よりも短い画像復号装置である。
好適には、前記第1の処理部のデータ転送に対して、前記基準時間に応じた第1のデータ転送量を割り当て、前記第1の処理のデータ転送が当該第1のデータ転送量を越える場合には、前記制御部は、パイプライン動作を中断する。
好適には、前記第1〜第3の処理部が、それぞれ前記メモリとデータ転送を行うためにデータを格納する複数のバッファを有し、前記複数のバッファのうち、いずれか一のバッファが空になった場合には、前記制御部は、パイプライン動作において、前記一のバッファに対応する処理部以降の動作開始を遅延させる。
好適には、前記基準時間は、画像の1フレームの時間を、1フレームのマクロブロックの数で除した時間である。
上記課題を克服するために、本発明の第2の観点は、符号化されたストリームを格納するメモリと、前記ストリームを前記メモリから読み出して復号し、画像を生成し、当該画像をメモリに書き込む画像復号部と、前記画像復号部により書き込まれた画像を、メモリから転送して表示する画像表示部と、前記画像復号部および前記画像表示部によるデータ転送要求を調停する調停部と、を有し、前記調停部は、処理の基準となる第1の基準期間において、当該第1の基準期間の第1の比率まで、前記画像復号部のデータ転送要求を優先的に許可する画像表示装置である。
好適には、前記調停部は、第1の基準期間で許可されない画像復号部からのデータ転送要求を、前記第1の基準期間に続く第2の基準期間で調停する。
本発明に係る画像復号装置の作用は、以下の通りである。
すなわち、第1の処理部は、画像の基準時間毎にメモリから転送された第1のデータを復号する。第2の処理部は、メモリから転送された第2のデータに基づいて、第1の処理部の復号結果に対して動き補償を行い、差分画像を生成する。第3の処理部は、前記第1の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像をメモリに転送する。
制御部は、前記第1〜第3の処理部が順にパイプライン動作を行うように制御し、前記第1〜第3の処理部のそれぞれの処理時間は、前記第1〜第3の処理部が前記メモリとのデータ転送に要する時間の総和よりも短いので、全体の復号処理は、各処理部の処理時間ではなく、データ転送時間に依存する。
すなわち、第1の処理部は、画像の基準時間毎にメモリから転送された第1のデータを復号する。第2の処理部は、メモリから転送された第2のデータに基づいて、第1の処理部の復号結果に対して動き補償を行い、差分画像を生成する。第3の処理部は、前記第1の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像をメモリに転送する。
制御部は、前記第1〜第3の処理部が順にパイプライン動作を行うように制御し、前記第1〜第3の処理部のそれぞれの処理時間は、前記第1〜第3の処理部が前記メモリとのデータ転送に要する時間の総和よりも短いので、全体の復号処理は、各処理部の処理時間ではなく、データ転送時間に依存する。
本発明によれば、ストリームを復号する際のデータ転送のピークを抑制するので、データ転送を効率的に行うことができる。
[第1の実施形態]
以下、本発明に係る画像復号装置の一実施形態を添付図面に関連付けて説明する。
以下、本発明に係る画像復号装置の一実施形態を添付図面に関連付けて説明する。
図1は、実施形態に係る画像復号装置1のブロック構成を示す図である。
画像復号装置1は、たとえばMPEG2 MP@HLにより符号化された画像のストリームを順次復号化処理するための装置である。
以下、画像復号装置1の構成について説明する。
画像復号装置1は、たとえばMPEG2 MP@HLにより符号化された画像のストリームを順次復号化処理するための装置である。
以下、画像復号装置1の構成について説明する。
画像復号装置1は、図1に示すように、制御部11、可変長符号化部12、FIFOバッファ13、逆量子化部14、逆DCT部15、加算部16、動き補償部17、FIFOバッファ18,19、および外部メモリ20を有している。
なお、可変長復号化部12は、本発明の第1の処理部の一実施形態である。
動き補償部17は、本発明の第2の処理部の一実施形態である。
逆量子化部14および逆DCT部15は、本発明の第3の処理部の一実施形態である。
FIFOバッファ13,18,19は、本発明の複数のバッファの一実施形態である。
なお、可変長復号化部12は、本発明の第1の処理部の一実施形態である。
動き補償部17は、本発明の第2の処理部の一実施形態である。
逆量子化部14および逆DCT部15は、本発明の第3の処理部の一実施形態である。
FIFOバッファ13,18,19は、本発明の複数のバッファの一実施形態である。
まず、画像復号装置1に入力されるストリーム(可変長符号化データ)は、外部メモリ20に格納された後、外部メモリ20から可変長復号化部12により読み出される。入力されたストリームは、システムバスを介して、FIFOバッファ13に取り込まれ、順次処理される。
すなわち、可変長復号化部12は、入力されたストリームのマクロブロック符号化情報を復号し、符号化モード、動きベクトル、量子化情報、量子化DCT係数などを抽出する。
符号化モードおよび動きベクトルの情報は、システムバスを介して、動き補償部17に供給される。量子化情報および復号化された量子化DCT係数は、それぞれ逆量子化部14および逆DCT部15に、それぞれ供給される。
すなわち、可変長復号化部12は、入力されたストリームのマクロブロック符号化情報を復号し、符号化モード、動きベクトル、量子化情報、量子化DCT係数などを抽出する。
符号化モードおよび動きベクトルの情報は、システムバスを介して、動き補償部17に供給される。量子化情報および復号化された量子化DCT係数は、それぞれ逆量子化部14および逆DCT部15に、それぞれ供給される。
なお、外部メモリ20からのデータ転送は、16画素×16ラインのマクロブロック単位で行われる。ここで、1フレーム期間を1フレームのトータルのマクロブロック(MB)の数で割った平均を1MB期間(適宜1MBと略記する)という。すなわち、外部メモリ20には、概ね1MB期間単位でアクセスされ、FIFOバッファ13にデータが転送される。
外部メモリ20内の可変長符号化データに対する1MB期間におけるメモリアクセス量は、1マクロブロックの発生情報量に依存する。たとえば、処理すべき非零DCT係数の数が多く、それら係数の値がある一定値以上の場合に発生情報量が多くなる。
但し、MPEG2においては、4608ビットの発生情報量を超えてもよいマクロブロックが1スライスに2マクロブロックのみでなければならないという制約があるため、1マクロブロックの発生情報量が最大となる場合、たとえば、9425ビットとなる場合の頻度は非常に少ない。
但し、MPEG2においては、4608ビットの発生情報量を超えてもよいマクロブロックが1スライスに2マクロブロックのみでなければならないという制約があるため、1マクロブロックの発生情報量が最大となる場合、たとえば、9425ビットとなる場合の頻度は非常に少ない。
このように、外部メモリ20から転送される可変長符号化データはバースト的であるため、FIFOバッファ13のバッファ容量は、回路規模を必要以上に大きくしないように、平均的なデータ転送量を保証する容量となっている。
なお、この平均的なデータ転送量は、本発明の第1のデータ転送量に対応する。
なお、この平均的なデータ転送量は、本発明の第1のデータ転送量に対応する。
動き補償部17は、動き予測処理のための参照画像を外部メモリ20から読み出し、FIFOバッファ19に格納する。
マクロブロック単位の参照画像のデータ量はほぼ一定であるため、外部メモリ20からFIFOバッファ19に対するデータ転送は、規則的に一定量をもって行われる。
マクロブロック単位の参照画像のデータ量はほぼ一定であるため、外部メモリ20からFIFOバッファ19に対するデータ転送は、規則的に一定量をもって行われる。
逆量子化部14は、可変長復号化部12より入力される、1マクロブロックの量子化DCT係数を逆量子化し、DCT係数に復元し、逆DCT部15に出力する。
逆DCT部15は、逆量子化部14より入力されるDCT係数を、逆離散コサイン変換(逆DCT)し、画素空間データ(差分画像)を生成して、加算部16に出力する。
加算器16は、逆DCT部15により得られた差分画像と、動き補償部17から供給される参照画像とを加算し、元の画像を生成する。
加算部16により生成された画像は、一旦FIFOバッファ18に格納された後、システムバスを介して外部メモリ20に出力される。
マクロブロック単位の画像はほぼ一定であるため、加算部16から外部メモリ20に対するデータ転送は、規則的に一定量をもって行われる。
加算部16により生成された画像は、一旦FIFOバッファ18に格納された後、システムバスを介して外部メモリ20に出力される。
マクロブロック単位の画像はほぼ一定であるため、加算部16から外部メモリ20に対するデータ転送は、規則的に一定量をもって行われる。
制御部11は、上述したマクロブロック単位の一連の画像復号処理がパイプライン動作となるように管理する。すなわち、当該パイプライン動作では、可変長復号化→動き補償→逆量子化→逆DCTの順にマクロブロック単位で順次処理が行われる。
なお、パイプラインを構成する各ブロックは、MPEG2 MP@HLを復号化可能な処理能力をもつように、図2に示すように並列化されている。
なお、パイプラインを構成する各ブロックは、MPEG2 MP@HLを復号化可能な処理能力をもつように、図2に示すように並列化されている。
制御部11は、FIFOバッファ13を監視し、FIFOバッファ13が空となった場合には、可変長復号化部12の復号化処理を停止し、FIFOバッファ13にデータが転送された時点で復号化処理を再開するように制御する。これにより、復号化処理が破綻しないように制御する。
たとえば、上述したように、外部メモリ20からの可変長符号化データの転送は、バースト的であり、データ転送量が平均値よりも大きい場合、たとえば、1MBの最大発生情報量である9425ビット(平均値に対し10倍程度)が連続した場合には、復号化処理中にFIFOバッファ13が空状態となる。その場合には、可変長復号化部12の処理がストールし、再度FIFOバッファ13にデータが転送されると処理を再開することで、復号化処理が破綻しない仕組みとなっている。
たとえば、上述したように、外部メモリ20からの可変長符号化データの転送は、バースト的であり、データ転送量が平均値よりも大きい場合、たとえば、1MBの最大発生情報量である9425ビット(平均値に対し10倍程度)が連続した場合には、復号化処理中にFIFOバッファ13が空状態となる。その場合には、可変長復号化部12の処理がストールし、再度FIFOバッファ13にデータが転送されると処理を再開することで、復号化処理が破綻しない仕組みとなっている。
制御部11は、FIFOバッファ13,18,19のいずれかのバッファが空になった場合には、処理が破綻しないように、空になったバッファに対応する処理以降について、パイプライン処理を中断し、当該バッファに新たにデータが供給された時点でパイプライン処理を再開する。
制御部11の上記動作により、画像復号装置1の復号化処理は、パイプラインの演算処理の時間ではなく、データ転送時間に依存したベストエフォット動作となっている。すなわち、可変長復号化部12、逆量子化部14、逆DCT部15、動き補償部17の各処理時間は、それぞれ外部メモリ20とのデータ転送時間の総量よりも短いので、復号化処理全体で見ると、処理時間よりもデータ転送時間に依存した形で動作する。
本実施形態の画像復号装置1では、データ転送時間に依存した動作とするために、単一の外部メモリ20とのデータ転送を行うように構成している。
なお、MPEG2 MP@HLを復号化する場合(特に2本処理する場合)には、データ転送量が大きくなるため、データ転送時間の1フレームの処理時間に対する影響が大きくなるが、画像復号装置1の実行パイプラインでは、並列処理が可能であるので、処理時間を短縮することができる。そのため、本実施形態に係る画像復号装置1は、1フレーム単位のデータ転送時間の合計が1フレームの復号化処理の時間となるようなアーキテクチャとしている。
次に、画像復号装置1の動作について説明する。
図2は、画像復号装置1の1MB毎のデータ転送について模式的に表した図である。図2において、(a)は各データ転送を、(b)は可変長復号化処理を、(c)は動き補償処理を、(d)は逆量子化・逆DCT処理を、それぞれ示す。図には、1MB_1〜1MB_3の3つの1MB期間についてのデータ転送および処理内容が示されている。
図2は、画像復号装置1の1MB毎のデータ転送について模式的に表した図である。図2において、(a)は各データ転送を、(b)は可変長復号化処理を、(c)は動き補償処理を、(d)は逆量子化・逆DCT処理を、それぞれ示す。図には、1MB_1〜1MB_3の3つの1MB期間についてのデータ転送および処理内容が示されている。
先ず、1MB_1では、図2(a)に示すように、可変長符号化データの転送量が平均よりも多い場合、たとえば、上述した発生情報量が9425ビットであるような場合である。
この場合、必要なデータをすべて転送できずFIFOバッファ13が空となるため、制御部11は、可変長復号化部12の復号化処理を停止し、FIFOバッファ13にデータが転送された時点で復号化処理を再開するように制御する。その結果、可変長符号化データのデータ転送時間が通常よりも長くなり、参照画像のデータ転送の開始が遅れるため、トータルのデータ転送時間が1MB期間よりも長くなる。
なお、図2では、データ転送時間の超過分をΔt1で表している。
この場合、必要なデータをすべて転送できずFIFOバッファ13が空となるため、制御部11は、可変長復号化部12の復号化処理を停止し、FIFOバッファ13にデータが転送された時点で復号化処理を再開するように制御する。その結果、可変長符号化データのデータ転送時間が通常よりも長くなり、参照画像のデータ転送の開始が遅れるため、トータルのデータ転送時間が1MB期間よりも長くなる。
なお、図2では、データ転送時間の超過分をΔt1で表している。
次に、1MB_2では、可変長符号化データのデータ転送量が平均よりも少ない場合である。バースト的なデータ転送となる可変長符号化データでは、データ転送量が平均よりも少ない場合の頻度が極めて高い。
かかる場合には、可変長符号化データのデータ転送量が平均より少ない分が参照画像のデータ転送に割り当てられるので、参照画像のデータ転送の開始が1MB_1と比較して早められる結果、トータルのデータ転送時間の超過分Δt2は、Δt1よりも減少する。
かかる場合には、可変長符号化データのデータ転送量が平均より少ない分が参照画像のデータ転送に割り当てられるので、参照画像のデータ転送の開始が1MB_1と比較して早められる結果、トータルのデータ転送時間の超過分Δt2は、Δt1よりも減少する。
次に、1MB_3では、1MB_2と同様に、可変長符号化データのデータ転送量が平均よりも少ない場合である。この場合も、可変長符号化データのデータ転送量が平均より少ない分が参照画像のデータ転送に割り当てられるので、参照画像のデータ転送の開始が1MB_1と比較して早められる結果、トータルのデータ転送時間の超過分は解消する。
図2においては、たとえば、1MB_1で可変長復号化処理b−1を行った後、参照画像のデータ転送が1MB期間をΔt1分超過するため、その分、1MB_2での動き補償処理c−2の開始が遅れる。さらに、1MB_2で可変長復号化処理b−2を行った後、参照画像のデータ転送が1MB期間をΔt2分超過するため、その分、1MB_3での動き補償処理c−3の開始が遅れる。
上述した本実施形態に係る画像復号装置1の動作において、パイプラインの各処理に要する時間は、データ転送時間の総和よりも短いため、1フレームの処理時間が遅延することはない。すなわち、図2に示す例では、可変長符号化データの転送量が平均よりも多いことに起因する1MB_1でのデータ転送超過分Δt1は、その頻度が極めて小さいため、1フレーム単位で見れば、超過分は徐々に解消されていく。
なお、全データ転送量が1フレーム内に収まるようにするためには、画像復号装置1として、1フレームで最低限必要なデータ転送量が確保されていることが前提となるが、可変長符号化データの量が最悪値の場合の転送時間を保証するように、必要なデータ転送量を確保しておけばよい。
上述したように、本実施形態に係る画像復号装置1によれば、画像復号を行う各処理ブロックにより実行パイプラインを構成し、各処理とマクロブロック毎にデータ転送を行う外部メモリを一元化し、可変長復号化部12のためのバッファを監視する。そして、当該バッファが空になった場合には可変長復号化部12の処理を停止し、再度バッファにデータ転送がされた後に処理を再開するように構成した。
これにより、実行パイプラインの全体の処理は、データ転送量に依存したベストエフォット動作となる。ベストエフォット動作の下では、ある1MB期間で可変長符号化データの転送量が平均よりも多い場合があっても、1フレーム全体で見れば、全データ転送量が1フレーム内に収まるようになる。したがって、1MB期間毎にデータ転送と各処理を管理する場合(固定パイプライン)と比較して、データ転送のピークが緩和され、メモリバンド幅を有効に活用することができる。
一例として、MPEG2 MP@HLを2本復号化する場合のデータ転送量は、固定パイプラインの場合可変長符号化データのデータ量の最悪値を保証する場合には14.1Gbpsとなるが、本実施形態に係る画像復号装置1では、10.8Gbpsに緩和される。
本実施形態に係る画像復号装置1によれば、1フレームの処理時間がデータ転送量に依存するため、符号化されたストリームの複雑度に応じて処理時間が可変になるため、複雑度が高くないストリームを復号化する場合には、1フレームの時間が短縮され、高速デコードなどの特殊な再生においても効果がある。
[第2の実施形態]
以下、第2の実施形態に係る画像復号装置について述べる。
本実施形態に係る画像復号装置2は、図1に示した第1の実施形態に係る画像復号装置1と同一の構成であるが、異なるフレームレートの画像を含むストリームを処理する点が異なる。
以下、第2の実施形態に係る画像復号装置について述べる。
本実施形態に係る画像復号装置2は、図1に示した第1の実施形態に係る画像復号装置1と同一の構成であるが、異なるフレームレートの画像を含むストリームを処理する点が異なる。
画像復号装置2についても、画像復号装置1同様に、処理時間がデータ転送量に依存したベストエフォット動作を示すので、データ転送量が少ないストリームに対して、1フレームの処理時間を短縮することも可能である。また、ベストエフォット動作をすることで、異なるフレームレートのストリームを複数復号化することが可能となる。
以下、図3に関連付けて、画像復号装置2の動作を説明する。
図3は、MPEG2 MP@HLの1080I(30fps)と720P(24fps)のストリームを同時に復号化する場合を例として、フレーム毎の処理を表した模式図であり、(a)は固定パイプラインの場合を、(b)は画像復号装置2の場合を、それぞれ示す。
図3は、MPEG2 MP@HLの1080I(30fps)と720P(24fps)のストリームを同時に復号化する場合を例として、フレーム毎の処理を表した模式図であり、(a)は固定パイプラインの場合を、(b)は画像復号装置2の場合を、それぞれ示す。
図3(a)に示すように、固定パイプラインの場合では、それぞれのフレーム単位の処理を保証するため、各フレームの動作の開始をフレームシンクに同期させることで、1080Iの30fpsのフレーム時間に720Pのストリームを同期させる必要がある。
したがって、6回に1回の割合で720Pのストリームの処理をスキップする必要がある。それゆえ、6フレーム目のスキップする時間において処理に無駄が生ずることになるので、その分、データ転送レートは平均的に高くなる。
したがって、6回に1回の割合で720Pのストリームの処理をスキップする必要がある。それゆえ、6フレーム目のスキップする時間において処理に無駄が生ずることになるので、その分、データ転送レートは平均的に高くなる。
一方、図3(b)に示すように、画像復号装置2によりベストエフォット動作を行う場合は、各復号化処理について各フレームで同期をとる必要がなく、6フレーム目に見られるように、1080Iと720Pのストリームの復号化順序を入れかれることが可能である。
図に示すように、データ転送を含めた復号処理は6フレーム内に収まるとともに、720Pのストリームの処理をスキップする必要がないので、その分、データ転送レートが抑制される。
したがって、本実施形態に係る画像復号装置2によれば、ベストエフォット動作をすることで、異なるフレームレートのストリームを複数復号化することが可能となるとともに、データ転送レートを抑制できるという効果がある。
図に示すように、データ転送を含めた復号処理は6フレーム内に収まるとともに、720Pのストリームの処理をスキップする必要がないので、その分、データ転送レートが抑制される。
したがって、本実施形態に係る画像復号装置2によれば、ベストエフォット動作をすることで、異なるフレームレートのストリームを複数復号化することが可能となるとともに、データ転送レートを抑制できるという効果がある。
[第3の実施形態]
以下、本発明に係る画像表示装置の一実施形態について述べる。
本実施形態に係る画像表示装置3は、たとえばMPEG2 MP@HLのストリームを入力して復号し、復号により得られた画像を表示する画像表示装置である。
以下、本発明に係る画像表示装置の一実施形態について述べる。
本実施形態に係る画像表示装置3は、たとえばMPEG2 MP@HLのストリームを入力して復号し、復号により得られた画像を表示する画像表示装置である。
本実施形態に係る画像表示装置3は、復号化機能と、画像表示機能等の他の機能とを包含しているので、リアルタイム処理においては、複数の機能の実行に伴うデータ転送が競合する場合が生ずる。
たとえば、MPEG2 MP@HLのストリームを復号化する場合(特に2本復号化する場合)には、復号化機能のために割り当てるデータ転送量は多大なものになり、リアルタイム処理を実現するためには、画像表示機能等の他の機能に対し、復号化機能のためのデータ転送の優先度を第1にする必要がある。その一方で、復号化機能のためのデータ転送の優先度を完全に第1にした場合には、他の機能を実行するためのデータ転送を確保することができず、システムが成立しない。
たとえば、MPEG2 MP@HLのストリームを復号化する場合(特に2本復号化する場合)には、復号化機能のために割り当てるデータ転送量は多大なものになり、リアルタイム処理を実現するためには、画像表示機能等の他の機能に対し、復号化機能のためのデータ転送の優先度を第1にする必要がある。その一方で、復号化機能のためのデータ転送の優先度を完全に第1にした場合には、他の機能を実行するためのデータ転送を確保することができず、システムが成立しない。
したがって、複数の機能間のデータ転送要求をうまく調停する必要があり、画像表示装置3は、その調停方法に特徴がある。
図4は、画像表示装置3のシステム構成を示すブロック図である。
図4に示すように、画像表示装置3は、ストリーム入力部31、復号化部32、画像表示部33、アービタ40を含むメモリ制御部34、制御部35、外部メモリ36を有する。
画像表示装置3では、トランスポート・ストリーム(TS)やプログラム・ストリーム(PS)をストリーム入力部31が受け、外部メモリ36にエレメンタリ・ストリーム(ES)として書き込む。
復号化部32は、外部メモリ36からESを読み出し、復号して得られた画像を外部メモリに書き戻す。画像表示部33は、当該画像をLCD(Liquid Crystal Display)等に出力する。
図4に示すように、画像表示装置3は、ストリーム入力部31、復号化部32、画像表示部33、アービタ40を含むメモリ制御部34、制御部35、外部メモリ36を有する。
画像表示装置3では、トランスポート・ストリーム(TS)やプログラム・ストリーム(PS)をストリーム入力部31が受け、外部メモリ36にエレメンタリ・ストリーム(ES)として書き込む。
復号化部32は、外部メモリ36からESを読み出し、復号して得られた画像を外部メモリに書き戻す。画像表示部33は、当該画像をLCD(Liquid Crystal Display)等に出力する。
なお、復号化部32は、本発明の画像復号部の一実施形態である。
画像表示部33は、本発明の画像表示部の一実施形態である。
メモリ制御部34は、本発明の調停部の一実施形態である。
画像表示部33は、本発明の画像表示部の一実施形態である。
メモリ制御部34は、本発明の調停部の一実施形態である。
制御部35は、画像表示装置3の全体の制御を統括する。
メモリ制御部34では、アービタ40が各部からのデータ転送要求(REQ)を受け、当該要求を調停するとともに、データ転送のタイミングを制御する。アービタ40は、システムが破綻しないように、ある一定期間内で復号化部32のデータ転送に制限をかける。
メモリ制御部34では、アービタ40が各部からのデータ転送要求(REQ)を受け、当該要求を調停するとともに、データ転送のタイミングを制御する。アービタ40は、システムが破綻しないように、ある一定期間内で復号化部32のデータ転送に制限をかける。
図5は、復号化部32のデータ転送に制限をかける処理を説明するための模式図であり、(a)はアービタ40が仮に復号化部32を優先的に調停するとした場合を、(b)はアービタ40により復号化部32のデータ転送に制限をかけた調停をした場合(本実施形態の場合)を、それぞれ示す。(a)の場合は、復号化部32のデータ転送を完全に最優先とした場合である。図5では、復号化部32と画像表示部33のデータ転送を一例として示している。
なお、1sync期間は、データ処理の基準となる基準期間である。
なお、1sync期間は、データ処理の基準となる基準期間である。
図5(a)において、復号化部32のデータ転送と画像表示部33のデータ転送が競合した場合に、復号化部32に対して常に優先順位を高く設定しているとすれば、アービタ40は、復号化部32からのデータ転送要求に対して優先的に転送許可を与え、これにより、復号化部32のデータ転送が優先的に行われるので、画像表示部33のデータ転送に遅延が生じる。
この遅延が画像表示部33の機能を保証する許容範囲を超えた場合には、システムが破綻する。たとえば、画像表示部33が画像をリアルタイムに表示できないという不都合が生ずる。
この遅延が画像表示部33の機能を保証する許容範囲を超えた場合には、システムが破綻する。たとえば、画像表示部33が画像をリアルタイムに表示できないという不都合が生ずる。
一方、本実施形態に係る画像表示装置3では、アービタ40により復号化部32のデータ転送に制限をかけた調停を行う。
すなわち、図5(b)に示すように、復号化部32のデータ転送が1sync期間に対して所定の比率までとなるように制限を設ける。すなわち、復号化部32には、1sync期間とデコーダ割り当て期間が与えられ、両者の比により復号化部32に割り当てられるデータ転送量が決定される。たとえば、1sync期間を311サイクル、デコーダ割り当て時間を100サイクルとし、外部メモリの転送帯域が17Gbpsである場合、復号化部32には、5.5Gbps(=17×100/311)が割り当てられる。
すなわち、図5(b)に示すように、復号化部32のデータ転送が1sync期間に対して所定の比率までとなるように制限を設ける。すなわち、復号化部32には、1sync期間とデコーダ割り当て期間が与えられ、両者の比により復号化部32に割り当てられるデータ転送量が決定される。たとえば、1sync期間を311サイクル、デコーダ割り当て時間を100サイクルとし、外部メモリの転送帯域が17Gbpsである場合、復号化部32には、5.5Gbps(=17×100/311)が割り当てられる。
これにより、1sync期間のうち、残りの期間については、画像表示部33のデータ転送を行うことができる。1sync期間に対して復号化部32に対して割り当てられる量は、1フレームでのデータ転送を保証するものであり、1フレームにおける平均のデータ転送量に設定される。
なお、図5(b)に示すように、ある1sync期間において、復号化部32のデータ転送に要する時間が、デコーダ割り当て期間を越えた場合には、その超過分のデータの転送は次のsync期間に行われる。
たとえば、上述した例では、ある1sync期間(311サイクル)において、復号化部32が100サイクル以上のデータ転送を要求した場合には、次のsyncまで転送要求がアービタ40により許可されない。
たとえば、上述した例では、ある1sync期間(311サイクル)において、復号化部32が100サイクル以上のデータ転送を要求した場合には、次のsyncまで転送要求がアービタ40により許可されない。
1sync期間およびデコーダ割り当て期間は、復号化部32以外のクライアントのデータ転送要求を保証し、かつ、当該クライアントのためのFIFOバッファ容量を最小限にするように設定する。
次に、復号化部32のデータ転送に制限をかけるための具体的な処理について述べる。
図6は、復号化部32のデータ転送に制限をかけるために、主として、メモリ制御部34が実行するフローチャートである。
なお、図6において、mc_cycleは復号化部32での動き補償処理(MC)が1回のデータ転送に要するサイクル数、vld_cycleは復号化部32での可変長復号処理(VLD)が1回のデータ転送に要するサイクル数、dct_cycleは復号化部32での逆DCT処理(DCT)が1回のデータ転送に要するサイクル数、である。
また、all_cycleは1sync期間、dec_cycleはデコーダ割り当て期間、use_dec_cycleは1sync期間内で復号化部32が消費したサイクル数、である。
図6は、復号化部32のデータ転送に制限をかけるために、主として、メモリ制御部34が実行するフローチャートである。
なお、図6において、mc_cycleは復号化部32での動き補償処理(MC)が1回のデータ転送に要するサイクル数、vld_cycleは復号化部32での可変長復号処理(VLD)が1回のデータ転送に要するサイクル数、dct_cycleは復号化部32での逆DCT処理(DCT)が1回のデータ転送に要するサイクル数、である。
また、all_cycleは1sync期間、dec_cycleはデコーダ割り当て期間、use_dec_cycleは1sync期間内で復号化部32が消費したサイクル数、である。
先ず、予め、制御部35は、メモリ制御部34のレジスタ群42(all_cycleレジスタおよびdec_cycleレジスタ)に対して、1sync期間(all_cycle)およびデコーダ割り当て期間(dec_cycle)の値をセットする(ステップST1)。
そして、ある1sync期間において、復号化部32の処理が開始すると(ステップST2)、復号化部32における各処理からのデータ転送要求があるか否かがチェックされる(ステップST3)。復号化部32における各処理とは、たとえば、動き補償処理(MC)、可変長復号処理(VLD)、および逆DCT処理(DCT)である。
復号化部32からデータ転送要求がある場合には、現在1sync期間の最初のサイクルであるか否かがチェックされる(ステップST4)。なお、ここで、1sync期間の最初のサイクルには、syncが「1」となっており、それ以外では「0」となっているものとする。
現在1sync期間の最初のサイクルである場合には、use_dec_cycleをリセットする(ステップST5)。1sync期間の最初のサイクルでなければ、ステップST5は行わない。
現在1sync期間の最初のサイクルである場合には、use_dec_cycleをリセットする(ステップST5)。1sync期間の最初のサイクルでなければ、ステップST5は行わない。
ステップST6では、1sync期間において、復号化部32のデータ転送のために、現在までに消費したサイクル数が予め設定されたデコーダ割り当て期間を越えるか否かが判断される(ステップST6)。これにより、1sync期間における復号化部32のデータ転送が所定の割当量に制限される。
デコーダ割り当て期間に達している場合には、これ以上、当該1sync期間においてデータ転送要求を許可しないので、転送待ち状態となり(ステップST7)、次のsyncを待つことになる。
デコーダ割り当て期間に達している場合には、これ以上、当該1sync期間においてデータ転送要求を許可しないので、転送待ち状態となり(ステップST7)、次のsyncを待つことになる。
ステップST6において、デコーダ割り当て期間に達していない場合には、データ転送要求が許可され、データ転送が行われる(ステップST8)。さらに、当該データ転送に伴う消費サイクル数分だけ、use_dec_cycleをカウントアップする(ステップST8)。
以上述べたように、本実施形態に係る画像表示装置3によれば、復号化部32のデータ転送を処理サイクルの一定比率分に割り当てたうえで、復号化部32を優先的に調停するようにしたので、復号化部32のデータ転送が抑制され、復号化部32以外のクライアント、たとえば、画像表示部33などに、データ転送時間を割り当てることが可能となる。
なお、本発明の実施形態は、上述した内容に拘泥せず、本発明の要旨を変更しない範囲で様々な改変が可能である。
たとえば、第3の実施形態に係る画像表示装置3では、アービタ40は、復号化部32のデータ転送をタイマによって時間制限で優先するように調停することで、画像表示部33等の他のクライアントが破綻しないようすることが可能である。
たとえば、第3の実施形態に係る画像表示装置3では、アービタ40は、復号化部32のデータ転送をタイマによって時間制限で優先するように調停することで、画像表示部33等の他のクライアントが破綻しないようすることが可能である。
1,2…画像復号装置、3…画像表示装置、11,11a…制御部、12,12a…可変長復号化部、13,18,19,13a,18a,19a…データバッファ、14,14a…逆量子化部、15,15a…逆DCT部、16,16a…加算器、17,17a…動き補償部、20,21,20a,21a…外部メモリ、31…ストリーム入力部、32…復号化部、33…画像表示部、34…メモリ制御部、35…制御部、36…外部メモリ、40…アービタ。
Claims (6)
- 符号化されたストリームを含む第1のデータと、動き補償のための参照画像を含む第2のデータとを記憶するメモリと、
画像の基準時間毎に前記メモリから転送された第1のデータを復号する第1の処理部と、
前記メモリから転送された第2のデータに基づいて、第1の処理部の復号結果に対して動き補償を行い、差分画像を生成する第2の処理部と、
前記第1の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像を前記メモリに転送する第3の処理部と、
前記第1〜第3の処理部が順にパイプライン動作を行うように制御する制御部と、
を有し、
前記第1〜第3の処理部のそれぞれの処理時間は、前記第1〜第3の処理部が前記メモリとのデータ転送に要する時間の総和よりも短い
画像復号装置。 - 前記第1の処理部のデータ転送に対して、前記基準時間に応じた第1のデータ転送量を割り当て、
前記第1の処理のデータ転送が当該第1のデータ転送量を越える場合には、前記制御部は、パイプライン動作を中断する
請求項1記載の画像復号装置。 - 前記第1〜第3の処理部が、それぞれ前記メモリとデータ転送を行うためにデータを格納する複数のバッファを有し、
前記複数のバッファのうち、いずれか一のバッファが空になった場合には、前記制御部は、パイプライン動作において、前記一のバッファに対応する処理部以降の動作開始を遅延させる
請求項1記載の画像復号装置。 - 前記基準時間は、画像の1フレームの時間を、1フレームのマクロブロックの数で除した時間である
請求項1記載の画像復号装置。 - 符号化されたストリームを格納するメモリと、
前記ストリームを前記メモリから読み出して復号し、画像を生成し、当該画像をメモリに書き込む画像復号部と、
前記画像復号部により書き込まれた画像を、メモリから転送して表示する画像表示部と、
前記画像復号部および前記画像表示部によるデータ転送要求を調停する調停部と、
を有し、
前記調停部は、処理の基準となる第1の基準期間において、当該第1の基準期間の第1の比率まで、前記画像復号部のデータ転送要求を優先的に許可する
画像表示装置。 - 前記調停部は、
第1の基準期間で許可されない画像復号部からのデータ転送要求を、前記第1の基準期間に続く第2の基準期間で調停する
請求項5記載の画像表示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004300017A JP2006115168A (ja) | 2004-10-14 | 2004-10-14 | 画像復号装置および画像表示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004300017A JP2006115168A (ja) | 2004-10-14 | 2004-10-14 | 画像復号装置および画像表示装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006115168A true JP2006115168A (ja) | 2006-04-27 |
Family
ID=36383311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004300017A Pending JP2006115168A (ja) | 2004-10-14 | 2004-10-14 | 画像復号装置および画像表示装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006115168A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008146455A1 (ja) * | 2007-05-22 | 2008-12-04 | Panasonic Corporation | 動画像復号化装置及び動画像復号化方法 |
JP2009037321A (ja) * | 2007-07-31 | 2009-02-19 | Fujitsu Ltd | 転送量制御装置 |
JP2012034389A (ja) * | 2006-09-11 | 2012-02-16 | Apple Inc | 複雑性認識符号化 |
US8976856B2 (en) | 2010-09-30 | 2015-03-10 | Apple Inc. | Optimized deblocking filters |
-
2004
- 2004-10-14 JP JP2004300017A patent/JP2006115168A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012034389A (ja) * | 2006-09-11 | 2012-02-16 | Apple Inc | 複雑性認識符号化 |
US8830092B2 (en) | 2006-09-11 | 2014-09-09 | Apple Inc. | Complexity-aware encoding |
WO2008146455A1 (ja) * | 2007-05-22 | 2008-12-04 | Panasonic Corporation | 動画像復号化装置及び動画像復号化方法 |
JP5173849B2 (ja) * | 2007-05-22 | 2013-04-03 | パナソニック株式会社 | 動画像復号化装置及び動画像復号化方法 |
US8681862B2 (en) | 2007-05-22 | 2014-03-25 | Panasonic Corporation | Moving picture decoding apparatus and moving picture decoding method |
JP2009037321A (ja) * | 2007-07-31 | 2009-02-19 | Fujitsu Ltd | 転送量制御装置 |
US8976856B2 (en) | 2010-09-30 | 2015-03-10 | Apple Inc. | Optimized deblocking filters |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE48845E1 (en) | Video decoding system supporting multiple standards | |
CA2760425C (en) | Method and system for parallel encoding of a video | |
JP3732867B2 (ja) | 画像伸張装置 | |
US7034897B2 (en) | Method of operating a video decoding system | |
KR100881539B1 (ko) | 메모리 직접 접근 방식의 이미지 데이터 구조 | |
US20030185305A1 (en) | Method of communicating between modules in a decoding system | |
JP2000232649A (ja) | Mpegビデオ復号器及びmpegビデオ復号方法 | |
JPWO2007032123A1 (ja) | マルチストリーム復号装置 | |
US9100653B2 (en) | Memory transfer controller and method of transfer control of video line data and macroblock data | |
JP2009267837A (ja) | 復号化装置 | |
JP2010273190A (ja) | 復号処理装置、復号処理方法、データ分配プログラムおよび復号処理プログラム | |
US6704846B1 (en) | Dynamic memory arbitration in an MPEG-2 decoding System | |
US5752266A (en) | Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method | |
JPH08223571A (ja) | 画像デコーダ | |
KR19990060482A (ko) | 에이치디티브이 비디오 디코더의 메모리 제어 방법 | |
JP2006115168A (ja) | 画像復号装置および画像表示装置 | |
JP5694674B2 (ja) | 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法 | |
EP1351512A2 (en) | Video decoding system supporting multiple standards | |
JPH08314793A (ja) | メモリアクセス制御方法および該方法を適用した半導体集積回路および画像復号装置 | |
JP2002027477A (ja) | Mpeg画像処理装置およびそのデータ転送方法 | |
US10298935B2 (en) | Method of managing network bandwidth by control of image compression rate and frame generation and image transmission system using the same | |
EP1351513A2 (en) | Method of operating a video decoding system | |
KR20030057690A (ko) | 비디오 디코딩 시스템 | |
JP2009100206A (ja) | 画像符号化データ復号化装置 | |
Peng et al. | Architecture of AVS hardware decoding system |