JP4658563B2 - 画像データ処理装置及び画像データ処理方法 - Google Patents
画像データ処理装置及び画像データ処理方法 Download PDFInfo
- Publication number
- JP4658563B2 JP4658563B2 JP2004298841A JP2004298841A JP4658563B2 JP 4658563 B2 JP4658563 B2 JP 4658563B2 JP 2004298841 A JP2004298841 A JP 2004298841A JP 2004298841 A JP2004298841 A JP 2004298841A JP 4658563 B2 JP4658563 B2 JP 4658563B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- pipeline
- image data
- activation
- decoding
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0733—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
図1は、本発明の実施の形態1における画像データ処理装置100のブロック図である。本形態の画像データ処理装置100は、MPEG規格に代表される符号化データを、パイプライン処理により、高速に復号する。
(期間TP0)
図4において、画像復号処理が開始されると、図1に示す画像データ処理装置100のパイプライン制御手段21が起動される。
MB_IN_VOP=48
とする。
MBA=0
と設定する。
ステップS13において、フレーム内マクロブロック数の処理を完了したかどうかの判定として、
MBA>=MB_IN_VOP? (記号「>=」は、左辺が右辺以上であることを表す。)
の判定が行われる。ここでは、
MBA=0、
MB_IN_VOP=48
であり、ステップS13での判定結果は「No」(処理未完了)となり、ステップS14に進む。
(期間TM0)
まず、ステップS14において、パイプライン中断フラグ(PIPE_END)の初期化として、
PIPE_END=0
と設定する。
OFFSET1=0
と設定する。
MB_PROC=1
と設定する。
OFFSET1==0? (記号「==」は、「等号」を表す)
の判定によって行う。ここでは、
OFFSET1=0
であり、ステップS17での判定結果は「Yes」(先頭の処理である)となリ、ステップS19に進む。
PIPE_END=0
MB_PROC=1
OFFSET1=0
が渡される。
PIPE_END!=0? (記号「!=」は、「不等号」を表す。)
の判定を行う。ここでは、
PIPE_END=0
であり、ステップS41での判定結果は、「No」(パイプライン処理の中断開始ではない)となり、ステップS42に進む。
OFFSET1=0
の設定を行う。
OFFSET2=0
の設定を行う。
OFFSET3=−32768
の設定を行う。以上のステップS42〜44の初期化処理を行って、パイプライン起動テーブルオフセット決定処理(図4のステップS19)を終了する。
OFFSET1=0、
OFFSET2=0、
OFFSET3=−32768、
PIPE_END=0
が、それぞれ返される。
OFFSET2==−32768?
の判定により行う。ここでは、パイプライン中断テーブル用オフセット2(OFFSET2)の値は、
OFFSET2=0
であり、ステップS20での判定結果は、「No」(パイプライン処理の中断処理あり)となり、ステップS21(図5)に進む。
OFFSET1=0、
OFFSET2=0、
OFFSET3=−32768
が渡される。
OFFSET1<2?
の判定を行う。ここでは、
OFFSET1=0
であり、ステップS61での判定結果は、「Yes」(立上げ中)となり、ステップS62に進む。
PIPEKICK=TABLE1[OFFSET1]
の演算を行う。
OFFSET1=0
であり、
PIPEKICK=_S1
を取得する。
OFFSET1++ (記号「++」は、左辺の変数に値「1」を足すことを表す。)
を実行し、
OFFSET1=1
として、パイプライン起動ステージ決定処理を終了する。
OFFSET1=1、
OFFSET2=0、
OFFSET3=−32768、
PIPEKICK=_S1
が返される。
PIPEKICK=_S1
であり、第1ステージ(S1)の可変長復号処理P11のための可変長復号処理手段11のみが起動される。
OFFSET3!=−32768?
の判定を行う。ここでは、
OFFSET3=−32768
であり、ステップS24での判定結果は、「No」(パイプライン処理は中断処理中ではない)となり、ステップS25に進む。
MBA++
の演算を行い、
MBA=1
と設定する。
MBA>=MB_IN_VOP?
の判定を行う。ここでは、
MBA=1、
MB_IN_VOP=48
であり、ステップS26での判定結果は、「No」(フレーム内マクロブロック数の処理は完了していない)となり、直接ステップS16(図4)へ戻り次の期間の処理を行う。
(期間TM1、TV0)
この期間の処理は、図4のステップS16から始まる。
MBA=1、
PIPE_END=0、
MB_PROC=1、
OFFSET1=1、
OFFSET2=0、
OFFSET3=−32768。
MB_PROC=1
の設定を行う。
OFFSET1==0?
の判定によって行う。ここでは、
OFFSET1=1
であり、ステップS17での判定結果は、「No」(先頭の処理ではない)となり、ステップS18に進む。
PIPE_END!=0?
の判定を行う。ここでは、
PIPE_END=0
であり、ステップS18での判定結果は、「No」(中断開始ではない)となり、ステップS21(図5)に進む。
OFFSET1=1、
OFFSET2=0、
OFFSET3=−32768
が、パイプライン制御手段21から起動ステージ決定手段22へ渡され、図8に示すパイプライン起動ステージ決定処理が実行される。
OFFSET1<2?
の判定が行われ、ここでは、
OFFSET1=1、
であり、ステップS61の判定結果は、「Yes」(立上げ中)となり、ステップS62に進む。
OFFSET1=1
を用いて、
PIPEKICK=TABLE1[OFFSET1]
の演算を行い、
PIPEKICK=_S1|_S2
を取得する。
OFFSET1++
の演算を行い、
OFFSET1=2
として、パイプライン起動ステージ決定処理を終了する。この結果、パイプライン起動ステージ決定処理を終了後に、
OFFSET1=2、
OFFSET2=0、
OFFSET3=−32768、
PIPEKICK=_S1|_S2
が返される。
OFFSET3!=−32768?
の判定を行う。ここで、
OFFSET3=−32768
であるから、ステップS24での判定結果は、「No」(中断処理中)となり、ステップS25に進む。
MBA++
の演算を行い、
MBA=2
となる。
MB_PROC=0
の設定を行い、ステップS28において、ヘッダ処理を行い、ステップS16(図4)へ戻り、次の期間の処理を行う。
この期間の処理は、図4のステップS16から始まる。
MBA=2、
PIPE_END=0、
MB_PROC=1、
OFFSET1=2、
OFFSET2=0、
OFFSET3=−32768。
MB_PROC=1
の設定を行う。
OFFSET1==0?
の判定によって行う。ここでは、
OFFSET1=2
であり、ステップS17での判定結果は、「No」となり、ステップS18に進む。
PIPE_END!=0?
の判定を行う。ここでは、
PIPE_END=0
であり、ステップS18での判定結果は、「No」(中断開始ではない)となり、ステップS21(図5)に進む。
OFFSET1=2、
OFFSET2=0、
OFFSET3=−32768
が、パイプライン制御手段21から起動ステージ決定手段22へ渡され、図8に示すパイプライン起動ステージ決定処理が行われる。
OFFSET1<2?
の判定が行われる。ここでは、
OFFSET1=2
であり、ステップS61での判定結果は、「No」(立上げ中ではない)となり、ステップS64に進む。
OFFSET3>=0?
の判定を行う。ここでは、
OFFSET3=−32768
であり、ステップS64での判定結果は、「No」(パイプライン処理は、中断処理中ではない)となり、ステップS67に進む。
PIPEKICK=_S1|_S2|_S3
の設定をする。この要素「_S1|_S2|_S3」は、パイプラインの第1ステージである可変長復号処理P11と、第2ステージである逆量子化処理P12と、第3ステージである逆DCT処理P13とを並列に起動することを示す。
OFFSET1=32767
を設定して、パイプライン起動ステージ決定処理を終了する。
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−32768、
PIPEKICK=_S1|_S2|_S3
が返される。
OFFSET3!=−32768?
の判定を行う。ここで、
OFFSET3=−32768
であるから、ステップS24での判定結果は、「No」(パイプライン処理は、中断処理中)となり、ステップS25に進む。
MBA++
の演算を行い、
MBA=3
とする。
MBA>=MB_IN_VOP?
の判定を行う。ここでは、
MBA=3
MB_IN_VOP=48
であり、ステップS29での判定結果は「No」(処理が完了していない)となる。
これらの期間の処理は、上述した期間TM2における処理と、基本的に同じであり、説明を省略する。
この期間の処理は、図4のステップS16から始まる。
MBA=47、
PIPE_END=0、
MB_PROC=1、
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−32768。
MB_PROC=1
の設定を行う。
OFFSET1==0?
の判定によって行う。ここでは、
OFFSET1=32767
であり、ステップS17での判定結果は、「No」(先頭の処理ではない)となり、ステップS18に進む。
PIPE_END!=0?
の判定を行う。ここでは、
PIPE_END=0
であり、ステップS18での判定結果は、「No」(中断開始ではない)となり、ステップS21(図5)に進む。
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−32768
が、パイプライン制御手段21から起動ステージ決定手段22へ渡され、図8に示すパイプライン起動ステージ決定処理が行われる。
OFFSET1<2?
の判定が行われ、ここでは、
OFFSET1=32767
であり、ステップS61の判定結果は、「No」(立上げ中ではない)となり、ステップS64に進む。
OFFSET3>=0?
の判定を行う。ここでは、
OFFSET3=−32768
であり、ステップS64での判定結果は、「No」(パイプライン処理は、中断処理中ではない)となり、ステップS67に進む。
PIPEKICK=_S1|_S2|_S3
の設定をする。
OFFSET1=32767
を設定して、パイプライン起動ステージ決定処理を終了する。
OFFSET1=32767
OFFSET2=0、
OFFSET3=−32768、
PIPEKICK=_S1|_S2|_S3
が返される。
OFFSET3!=−32768?
の判定を行う。ここで、
OFFSET3=−32768
であるから、ステップS24での判定結果は、「No」(パイプライン処理は中断処理中)となり、ステップS25に進む。
MBA++
の演算を行い、
MBA=48
とする。
MBA>=MB_IN_VOP?
の判定を行う。ここでは、
MBA=48
MB_IN_VOP=48
であり、ステップS29での判定結果は「Yes」(処理が完了)となリ、ステップS30に進む。
PIPE_END=1
の設定をする。
この期間の処理は、図4のステップS16から始まる。
MBA=48、
PIPE_END=1、
MB_PROC=1、
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−32768。
MB_PROC=1
の設定を行う。
OFFSET1==0?
の判定によって行う。ここでは、
OFFSET1=32767
であり、ステップS17での判定結果は、「No」(先頭の処理ではない)となり、ステップS18に進む。
PIPE_END!=0?
の判定を行う。ここでは、
PIPE_END=1
であり、ステップS18での判定結果は、「Yes」(パイプライン処理は中断開始)となり、ステップS19に進む。
PIPE_END=1、
MB_PROC=1、
OFFSET1=32767
が渡される。
PIPE_END!=0?
の判定を行う。ここでは、
PIPE_END=1
であり、ステップS41での判定結果が「Yes](パイプライン処理の中断開始である)となって、ステップS45に進む。
OFFSET1==0?
の判定を行う。ここでは、
OFFSET1=32767
であり、ステップS45での判定結果が「No」(パイプライン先頭の処理ではない)となって、ステップS46に進む。
OFFSET1==1?
の判定を行う。ここでは、
OFFSET1=32767
であり、ステップS46での判定結果が「No」(パイプライン2番目の処理ではない)となって、ステップS49に進む。
OFFSET2=MIN(OFFSET1,1)
の演算を行う。
OFFSET1=32767
であり、演算結果は、
OFFSET2=1
となる。
MB_PROC!=0?
の判定を行う。ここでは、
MB_PROC=1
であり、テップS50での判定結果が「Yes」(マクロブロック処理中)となって、ステップS52(図7)に進む。
OFFSET3=1
の設定をして、ステップS53に進む。
MB_PROC!=0?
の判定を行う。ここでは、
MB_PROC=1
であり、ステップS53での判定結果は、「Yes」(マクロブロック処理中)となって、ステップS55に進む。
OFFSET1=32767
の設定をして、ステップS56に進む。
PIPE_END=0
の設定をする。
OFFSET1=32767、
OFFSET2=1、
OFFSET3=1、
PIPE_END=0
が返される。
OFFSET2==−32768?
の判定を行う。ここでは、
OFFSET2=1
であり、ステップS20の判定結果は、「No」(中断処理有り)となって、ステップS21(図5)に進む。
OFFSET1=32767、
OFFSET2=1、
OFFSET3=1
が渡され、図8に示すパイプライン起動ステージ決定処理が行われる。
OFFSET1<2?
の判定が行われる。ここでは、
OFFSET1=32767
であり、ステップS61の判定結果は、「No」(パイプライン立上げ中ではない)となり、ステップS64に進む。
OFFSET3>=0?
の判定を行う。ここでは、
OFFSET3=1
であり、ステップS64の判定結果は、「Yes」(パイプライン処理は、中断処理中)となり、ステップS65に進む。
PIPEKICK=TABLE2[OFFSET2][OFFSET3]
の演算を行い、
PIPEKICK=_S2|_S3
を取得して、ステップS66に進む。
OFFSET3−− (記号「−−」は、左辺の変数の値を値「1」だけ減ずることを表す。)
の演算を行い、
OFFSET3=0
として、パイプライン起動ステージ決定処理を終了する。この時、
OFFSET1=32767、
OFFSET2=1、
OFFSET3=0、
PIPEKICK=_S2|_S3
が返される。
OFFSET3!=−32768?
の判定を行う。ここでは、
OFFSET3=0
であり、ステップS24での判定結果は「Yes」(中断処理中)となって、ステップS31に進む。
OFFSET3==−1?
の判定を行う。ここでは、
OFFSET3=0
であり、ステップS24での判定結果は、「No」(終了していない)となって、期間TM48の処理を終了し、ステップS16(図4)に戻る。
この期間の処理は、図4のステップS16から始まる。
MBA=48、
PIPE_END=0、
MB_PROC=1、
OFFSET1=32767、
OFFSET2=1、
OFFSET3=0。
MB_PROC=1
の設定を行う。
OFFSET1==0?
の判定によって行う。ここでは、
OFFSET1=32767
であり、ステップS17での判定結果は、「No」(先頭の処理ではない)となり、ステップS18に進む。
PIPE_END!=0?
の判定を行う。ここでは、
PIPE_END=0
であり、ステップS18での判定結果は、「No」(中断開始ではない)となり、ステップS21(図5)に進む。
OFFSET1=32767、
OFFSET2=1、
OFFSET3=0
が渡され、図8に示すパイプライン起動ステージ決定処理が行われる。
OFFSET1<2?
の判定が行わる。ここでは、
OFFSET1=32767
であり、ステップS61の判定結果は、「No」(立上げ中ではない)となり、ステップS64に進む。
OFFSET3>=0?
の判定を行う。ここでは、
OFFSET3=0
であり、ステップS64の判定結果は、「Yes」(中断処理中)となり、ステップS65に進む。
PIPEKICK=TABLE2[OFFSET2][OFFSET3]
の演算を行い、
PIPEKICK=_S3
を取得して、ステップS66に進む。
OFFSET3−−
の演算を行い、
OFFSET3=−1
として、パイプライン起動ステージ決定処理を終了する。この時、
OFFSET1=32767、
OFFSET2=1、
OFFSET3=−1、
PIPEKICK=_S3
が返される。
OFFSET3!=−32768?
の判定を行う。ここでは、
OFFSET3=−1
であり、ステップS24での判定結果は「Yes」(中断処理中)となって、ステップS31に進む。
OFFSET3==−1?
の判定を行う。ここでは、
OFFSET3=−1
であり、ステップS31での判定結果は、「Yes」(中断終了)となって、ステップS13(図4)に戻る。
MBA>=MB_IN_VOP?
の判定が行われる。ここでは、
MBA=48、
MB_IN_VOP=48
であり、ステップS13での判定結果は「Yes」(処理を完了)となり、復号処理を終了する。
図10は、本発明の実施の形態2における画像データ処理装置200のブロック図である。本形態の画像データ処理装置200は、本発明の実施の形態1の画像データ処理装置100と同様に、MPEG規格に代表される符号化データを、パイプライン処理により、高速に復号する。さらに、本形態の画像データ処理装置200は、入力符号化データに符号誤りがある場合に、復号画像の表示の乱れを効率よく隠蔽する。
本形態における期間TP0、TM0〜TM1、TV0での処理は、復号エラーの発生はないと仮定しているので、エラーフラグ初期化処理(図12のステップS78)でエラーフラグ(ERR)が
ERR=0
と設定され、エラー判定処理(同じく、ステップS73、ステップS79)において、いずれも「No」と判定される。その結果、これらの期間において、実際に実行されるパイプライン制御のフローは、本発明の実施の形態1における期間TP0、TM0〜TM1、TV0でのパイプライン制御のフローと同様である。従って、説明を省略する。
この期間の処理は、仮定により、パイプライン処理中に復号エラーの発生を検出するもので、図12のステップS79から始まる。
MBA=2、
PIPE_END=0、
MB_PROC=0、
OFFSET1=2、
OFFSET2=0、
OFFSET3=−32768、
ERR=0。
ERR!=0?
の判定を行う。ここで、エラー有りかどうかの判定に使用するエラーフラグ(ERR)は、可変長復号処理P11の過程において、可変長復号処理手段11の符号誤り検出手段15によって、可変長符号データにデータ誤りが検出された場合に、
ERR=1
とセットされる。
ERR=0
であり、ステップS79での判定結果は「No」(エラーなし)となって、ステップS81に進む。
MB_PROC=1
の設定を行い、ステップS82(図13)に進む。
OFFSET1==0?
の判定で行う。ここでは、
OFFSET1=2
であり、ステップS82での判定結果は、「No」(先頭の処理ではない)となり、ステップS83に進む。
PIPE_END!=0?
の判定で行う。ここでは、
PIPE_END=0
であり、ステップS83の判定結果は、「No」(中断開始ではない)となり、ステップS86に進む。
OFFSET1=2、
OFFSET2=0、
OFFSET3=−32768
が、図10のパイプライン制御手段21より、起動ステージ決定手段22に渡される。
OFFSET1=32767
OFFSET2=0、
OFFSET3=−32768、
PIPEKICK=_S1|_S2|_S3
が返される。
ERR=1
にセットされる。
OFFSET3!=−32768?
の判定を行う。ここでは、
OFFSET3=−32768
であり、ステップS89での判定結果は「No」(パイプライン処理は中断処理中ではない)となり、ステップS91に進む。
MBA++
の演算を行い、
MBA=3
として、ステップS92に進む。
MBA>=MB_IN_VOP?
の判定を行う。ここでは、
MBA=3
MB_IN_VOP=48
であり、ステップS95での判定結果は「No」(処理が完了していない)となリ、ステップS79(図12)に戻る。以上で、期間TM2の処理が終了する。
この期間の処理は、復号エラー発生後のパイプライン処理であり、ステップS79から始まる。
MBA=3、
PIPE_END=0、
MB_PROC=1、
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−32768、
ERR=1。
ERR!=0?
の判定を行う。ここではエラーフラグ(ERR)は、
ERR=1
であり、ステップS79における判定結果は、「Yes」(エラー有り)となって、ステップS80に進む。
PIPE_END=1
の設定を行い、ステップS82(図13)に進む。
OFFSET1==0?
の判定で行う。ここでは、
OFFSET1=32767
であり、ステップS82での判定結果は、「No」(先頭の処理ではない)となり、ステップS83に進む。
PIPE_END!=0?
の判定で行う。ここでは、
PIPE_END=1
であり、ステップS83の判定結果は、「Yes」(中断開始)となり、ステップS84に進む。
PIPE_END=1、
MB_PROC=1、
OFFSET1=32767
が、図10のパイプライン制御手段21からオフセット決定手段24に渡され、パイプライン起動テーブルオフセット決定処理が起動される。そして、図10の起動テーブル記憶手段23に格納されたパイプライン起動テーブル(パイプライン立上げテーブル、パイプライン中断テーブル)を参照する時のオフセット値(OFFSET1、OFFSET2、OFFSET3)が決定される。
OFFSET1=32767、
OFFSET2=0、
OFFSET3=0、
PIPE_END=0
がオフセット決定手段24からパイプライン制御手段21に返され、ステップS85に進む。
OFFSET2==−32768?
の判定を行う。ここでは、
OFFSET2=0
であり、ステップS85の判定結果は、「No」(パイプライン処理の中断処理有り)であり、ステップS86に進む。
OFFSET1=32767、
OFFSET2=0、
OFFSET3=0
が、図10のパイプライン制御手段21より起動ステージ決定手段22に渡される。パイプライン起動ステージ決定処理が終了すると、
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−1、
PIPEKICK=_S3
が、起動ステージ決定手段22より逆量子化処理手段12に返される。
OFFSET3!=−32768?
の判定を行う。ここでは、
OFFSET3=−1
であり、ステップS89での判定結果は「Yes」(パイプライン処理は中断処理中である)となり、ステップS90に進む。
OFFSET3==−1?
の判定を行う。ここでは、
OFFSET3=−1
であり、ステップS90の判定結果は、「Yes」(パイプライン処理の中断終了)となり、ステップS73(図12)に進む。
この期間は、誤り隠蔽処理の期間であり、ステップS73から始まる。
MBA=3、
PIPE_END=0、
MB_PROC=1、
OFFSET1=32767、
OFFSET2=0、
OFFSET3=−1、
ERR=1。
ERR!=0?
の判定を行う。ここでは、
ERR=1
であり、ステップS73の判定結果は、「Yes」(エラー有り)となって、ステップS74に進む。
MBA=3、
MB_IN_VOP=48
が渡される。
MBA−−
を演算する。その結果、
MBA=2
となる。(MBA=2は、復号エラーが発生したマクロブロック。)
ステップS98において、誤り隠蔽処理が終了したかどうかの判定処理として、
MBA>=MB_IN_VOP?
の判定を行う。ここでは、
MBA=2
であり、ステップS98の判定結果は、「No」(誤り隠蔽処理は終了していない)となって、ステップS99に進む。
MBA++
を実行し、
MBA=3
とする。そして、ステップS98に戻る。
MBA=48
になるまで、繰り返される。
MBA>=MB_IN_VOP?
の判定を行う。ここでは、
MBA=48
であり、ステップS98の判定結果は、「Yes」(誤り隠蔽処理は終了)となって、誤り隠蔽処理を終了する。以上の処理で、復号エラーが発生したマクロブロック(MB2)から最後のマクロブロック(MB47)までの誤り隠蔽処理が終了する。この時、誤り隠蔽処理手段50よりパイプライン制御手段21へ、
MBA=48、
MB_IN_VOP=48
が返される。
MBA>=MB_IN_VOP?
の判定を行う。
が行われる。ここでは、
MBA=48
MB_IN_VOP=48
であり、ステップS75の判定結果は、「Yes」(処理が終了)となって、誤り隠蔽処理を伴った一連の復号処理を終了する。
図15は、本発明の実施の形態3における画像データ処理装置300のブロック図である。本形態の画像データ処理装置300は、パイプライン処理により、画像データを、MPEG規格に代表される符号化データにマクロブロック単位で高速に符号化する。
2 ピクセルプロセシングユニット
3 動き予測ユニット
4 コントロールユニット
5 全体制御プロセッサ
6 可変長プロセッサ
7 フレームバッファメモリ
10 画像復号部
11 可変長復号処理手段
12 逆量子化処理手段
13 逆DCT処理手段
14 動き補償処理手段
15 符号誤り検出手段
20 パイプライン制御部
21 パイプライン制御手段
22 起動ステージ決定手段
23 起動テーブル記憶手段
24 オフセット決定手段
30 メモリ
40 入出力インターフェイス
50 誤り隠蔽処理手段
60 画像符号化部
61 可変長符号化処理手段
62 DCT処理手段
63 量子化処理手段
64 動き検出処理手段
65 動き補償処理手段
66 逆量子化処理手段
67 逆DCT処理手段
80 データバス
81 制御線
90 入出力ポート
100、200、300 画像データ処理装置
400 復号画像
401 マクロブロック
420 パイプライン立ち上げテーブル
421 パイプライン中断テーブル
Claims (7)
- 入力される入力符号化データをパイプライン処理により復号して、復号画像データを出力する画像復号部と、
前記画像復号部のパイプライン処理を制御するためのパイプライン制御部と、
前記入力符号化データと前記復号画像データを格納するメモリとを備え、
前記画像復号部は、一連の復号処理を複数の処理ステージに分割し、これら複数の処理ステージを独立してマクロブロック単位によりパイプライン処理を行う複数段のデータ処理部を有し、
前記複数段のデータ処理部は、
前記入力符号化データを可変長復号して、量子化DCT係数と動きベクトルとを出力する可変長復号処理手段と、
前記可変長復号処理手段が出力した前記量子化DCT係数を逆量子化して、逆量子化DCT係数を出力する逆量子化処理手段と、
前記逆量子化処理手段が出力した前記逆量子化DCT係数を逆DCT処理して、DCT係数を出力する逆DCT処理手段と、
前記逆DCT処理手段が出力した前記DCT係数と、前記可変長復号処理手段が出力した前記動きベクトルと、前記メモリに格納されている前フレームの復号画像データとを用いて、現フレームの復号画像データを生成する動き補償処理手段の内の少なくとも2つを有し、
前記パイプライン制御部は、
前記画像復号部のパイプライン処理を制御するための起動情報が登録された、パイプライン起動テーブルを格納する起動テーブル記憶手段と、
前記起動テーブル記憶手段に格納された前記パイプライン起動テーブルを参照するための、オフセット値を決定するオフセット決定手段と、
前記オフセット決定手段で決定されたオフセット値を基に、前記起動テーブル記憶手段に格納されているパイプライン起動テーブルから、前記画像復号部のパイプライン処理を制御するための起動情報を読み出し、前記画像復号部のパイプライン処理の起動方法を決定する起動ステージ決定手段と、
前記オフセット決定手段と前記起動ステージ決定手段とを制御して、前記起動ステージ決定手段が決定した前記画像復号部のパイプライン処理の起動方法を基に、前記画像復号部のパイプライン処理を制御するパイプライン制御手段とを有する、画像データ処理装置。 - 前記画像データ処理装置は、誤り隠蔽処理手段をさらに備え、
前記可変長復号処理手段は、前記入力符号化データの符号誤りを検出する符号誤り検出手段をさらに有し、
前記符号誤り検出手段が、前記入力符号化データのマクロブロックに符号誤りを検出した場合、
前記誤り隠蔽処理手段は、誤りが検出されたマクロブロック以降のマクロブロックに対して、前記メモリに格納されている過去の復号画像データを充当して、前記入力符号化データの符号誤りよる復号画像の表示の乱れを隠蔽する請求項1記載の画像データ処理装置。 - 前記符号誤り検出手段が、前記入力符号化データのマクロブロックに符号誤りを検出した場合、
前記誤り隠蔽処理手段は、誤りが検出されたマクロブロックより前のマクロブロックについて、前記画像復号部のパイプライン処理を最終ステージまで継続した上で、前記隠蔽の対象から除外する請求項2記載の画像データ処理装置。 - 入力される入力画像データをパイプライン処理により符号化して、符号化データを出力する画像符号化部と、
前記画像符号化部のパイプライン処理を制御するためのパイプライン制御部と、前記入力画像データに対する再構築画像データと前記符号化データとを格納するメモリとを備え、
前記画像符号化部は、一連の符号化処理を複数の処理ステージに分割し、これら複数の処理ステージを独立してマクロブロック単位によりパイプライン処理を行う複数段のデータ処理部を有し、
前記複数段のデータ処理部は、
現フレームの入力画像データである前記入力画像データと、前記メモリに格納されている前フレームの再構築画像データとを用いて、現フレームの動きベクトルを検出する動き検出処理手段と、
前記動き検出処理手段が検出した前記動きベクトルと、前記メモリに格納されている前フレームの再構築画像データとを用いて、現フレームに対する予測画像データを生成する動き補償処理手段と、
前記動き補償処理手段が生成した前記予測画像データと、前記入力画像データとの差分をDCT処理して、DCT係数を出力するDCT処理手段と、
前記DCT処理手段が出力した前記DCT係数を量子化して、量子化DCT係数を出力する量子化処理手段と、
前記量子化処理手段が出力した前記量子化DCT係数を逆量子化して、逆量子化DCT係数を出力する逆量子化処理手段と、
前記逆量子化処理手段が出力した前記逆量子化DCT係数を逆DCT処理して、再構築画像データを得るためのDCT係数を出力する逆DCT処理手段と、
前記量子化処理手段が出力した前記量子化DCT係数と、前記動き検出処理手段が検出した前記動きベクトルとを可変長符号化して、符号化データを出力する可変長符号化処理手段の内の少なくとも2つを有し、
前記パイプライン制御部は、
前記画像符号化部のパイプライン処理を制御するための起動情報が登録されたパイプライン起動テーブルを格納する起動テーブル記憶手段と、
前記起動テーブル記憶手段に格納された前記パイプライン起動テーブルを参照するときのオフセット値を決定するオフセット決定手段と、
前記オフセット決定手段で決定されたオフセット値を基に、前記起動テーブル記憶手段に格納されているパイプライン起動テーブルから、前記画像符号化部のパイプライン処理を制御するための起動情報を読み出し、前記画像符号化部のパイプライン処理の起動方法を決定する起動ステージ決定手段と、
前記オフセット決定手段と前記起動ステージ決定手段とを制御して、前記起動ステージ決定手段が決定した前記画像符号化部のパイプライン処理の起動方法を基に、前記画像符号化部のパイプライン処理を制御するパイプライン制御手段とを有する、画像データ処理装置。 - 一連の復号処理を複数の処理ステージに分割し、これら複数の処理ステージを独立してマクロブロック単位によりパイプライン処理を行う複数段のデータ処理を行う画像データ処理ステップと、
前記画像データ処理ステップにおいて処理した画像データを格納する画像データ格納ステップと、
前記複数段のパイプラインを制御するパイプライン制御ステップとを含み、
前記パイプライン制御ステップは、
前記複数段のパイプラインの起動を制御するための起動情報が登録された、パイプライン起動テーブルを格納する起動テーブル格納ステップと、
前記パイプライン起動テーブルを参照するためのオフセット値を決定するオフセット値決定ステップと、
前記オフセット値決定ステップにおいて決定されたオフセット値を基に、前記パイプライン起動テーブルに登録されている前記起動情報を取得し、前記複数段のパイプラインの起動方法を決定する起動ステージ決定ステップと、
前記起動ステージ決定ステップにおいて決定された起動方法に基づいて、前記複数段のパイプラインを制御するパイプライン制御ステップとを含む、画像データ処理方法。 - 前記画像データ処理ステップは、符号化データをマクロブロック単位で復号し、
前記符号化データの復号誤りを検出する誤り検出ステップと、
誤り隠蔽処理を行う誤り隠蔽ステップとをさらに含み、
前記誤り検出ステップにおいて復号誤りが検出された場合、前記パイプライン制御ステップは、前記符号誤りが検出されたマクロブロック以降のマクロブロックに対して、前記画像データ処理ステップにおける復号処理を中断し、前記誤り隠蔽ステップにおける誤り隠蔽処理を実行する、請求項5記載の画像データ処理方法。 - 前記誤り隠蔽ステップは、前記画像データ格納ステップにおいて格納されている、過去に処理した画像データを充当して、誤り隠蔽処理を実行する、請求項6記載の画像データ処理方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004298841A JP4658563B2 (ja) | 2004-10-13 | 2004-10-13 | 画像データ処理装置及び画像データ処理方法 |
| PCT/JP2005/018596 WO2006041018A1 (en) | 2004-10-13 | 2005-09-30 | Pipeline architecture for video encoder and decoder |
| EP20050790417 EP1800489A1 (en) | 2004-10-13 | 2005-09-30 | Pipeline architecture for video encoder and decoder |
| US10/578,012 US20090002378A1 (en) | 2004-10-13 | 2005-09-30 | Pipeline Architecture for Video Encoder and Decoder |
| CNA2005800131806A CN1947425A (zh) | 2004-10-13 | 2005-09-30 | 视频编码器与解码器的流水线体系结构 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004298841A JP4658563B2 (ja) | 2004-10-13 | 2004-10-13 | 画像データ処理装置及び画像データ処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006115092A JP2006115092A (ja) | 2006-04-27 |
| JP4658563B2 true JP4658563B2 (ja) | 2011-03-23 |
Family
ID=35295519
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004298841A Expired - Fee Related JP4658563B2 (ja) | 2004-10-13 | 2004-10-13 | 画像データ処理装置及び画像データ処理方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20090002378A1 (ja) |
| EP (1) | EP1800489A1 (ja) |
| JP (1) | JP4658563B2 (ja) |
| CN (1) | CN1947425A (ja) |
| WO (1) | WO2006041018A1 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8238415B2 (en) * | 2006-02-14 | 2012-08-07 | Broadcom Corporation | Method and system for programmable breakpoints in an integrated embedded image and video accelerator |
| CN100466742C (zh) * | 2006-08-07 | 2009-03-04 | 清华大学 | 熵解码和变换流水线阶段的联合处理方法 |
| EP2164263A4 (en) * | 2007-04-27 | 2010-08-18 | Panasonic Corp | DEVICE, SYSTEM AND METHOD FOR IMAGE DECODING AND INTEGRATED CIRCUIT |
| KR20100071865A (ko) * | 2008-12-19 | 2010-06-29 | 삼성전자주식회사 | 멀티 코어 프로세스 방식의 영상 신호 처리장치에서 영상 프레임 구성 및 복호화 방법과 그 영상 신호 처리장치 |
| WO2011013629A1 (ja) | 2009-07-30 | 2011-02-03 | 株式会社ミツバ | 減速機構付きモータ |
| CN101888554B (zh) * | 2010-07-09 | 2013-05-22 | 西安交通大学 | 并行流水运动补偿滤波器vlsi结构设计方法 |
| US9185406B2 (en) * | 2010-09-16 | 2015-11-10 | Panasonic Intellectual Property Management Co., Ltd. | Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device |
| US9445363B2 (en) * | 2012-02-15 | 2016-09-13 | Acer Incorporated | Method of handling transmission configuration of a communication device and related communication device |
| CN103813177A (zh) * | 2012-11-07 | 2014-05-21 | 辉达公司 | 一种视频解码系统和方法 |
| CN103246499A (zh) * | 2013-05-28 | 2013-08-14 | 西安电子科技大学 | 图像并行化处理装置和方法 |
| CN106708472A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非阻塞图形命令处理方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5289577A (en) * | 1992-06-04 | 1994-02-22 | International Business Machines Incorporated | Process-pipeline architecture for image/video processing |
| US6435737B1 (en) * | 1992-06-30 | 2002-08-20 | Discovision Associates | Data pipeline system and data encoding method |
| US7095783B1 (en) * | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
| JP3097955B2 (ja) * | 1994-12-01 | 2000-10-10 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
| JPH11126161A (ja) * | 1997-10-23 | 1999-05-11 | Hitachi Ltd | 制御記憶の障害回避方法 |
| WO1999067742A1 (fr) * | 1998-06-25 | 1999-12-29 | Matsushita Electric Industrial Co., Ltd. | Processeur d'images |
| AU2002249429A1 (en) * | 2001-04-19 | 2002-11-05 | Indigovision Limited | Apparatus and method for processing video data |
| KR100418437B1 (ko) * | 2001-12-24 | 2004-02-14 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
| US7634776B2 (en) * | 2004-05-13 | 2009-12-15 | Ittiam Systems (P) Ltd. | Multi-threaded processing design in architecture with multiple co-processors |
-
2004
- 2004-10-13 JP JP2004298841A patent/JP4658563B2/ja not_active Expired - Fee Related
-
2005
- 2005-09-30 EP EP20050790417 patent/EP1800489A1/en not_active Withdrawn
- 2005-09-30 CN CNA2005800131806A patent/CN1947425A/zh active Pending
- 2005-09-30 US US10/578,012 patent/US20090002378A1/en not_active Abandoned
- 2005-09-30 WO PCT/JP2005/018596 patent/WO2006041018A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006115092A (ja) | 2006-04-27 |
| US20090002378A1 (en) | 2009-01-01 |
| EP1800489A1 (en) | 2007-06-27 |
| CN1947425A (zh) | 2007-04-11 |
| WO2006041018A1 (en) | 2006-04-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4658563B2 (ja) | 画像データ処理装置及び画像データ処理方法 | |
| KR100603175B1 (ko) | 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록매체, 및 동화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
| KR100851859B1 (ko) | 스케일가능 mpeg-2 비디오 디코더 | |
| WO2016111950A1 (en) | Parallel processing to identify marker sequences in video data | |
| US8121189B2 (en) | Video decoding using created reference pictures | |
| CN1860792B (zh) | 视频编码设备、控制视频编码方法 | |
| JPWO2008139721A1 (ja) | 復号化装置及び復号化方法 | |
| CN115134629B (zh) | 视频传输方法、系统、设备及存储介质 | |
| CN100433838C (zh) | 解码方法和解码设备 | |
| JP2004514353A (ja) | スケーラブルmpeg−2ビデオシステム | |
| CN102860010A (zh) | 视频编码控制方法及装置 | |
| US20070288831A1 (en) | Transcodec device | |
| JP6985915B2 (ja) | デコードエラー検出推定装置、映像復号装置、及びこれらのプログラム | |
| KR20090046812A (ko) | 비디오 압축 방법 | |
| US20030076885A1 (en) | Method and system for skipping decoding of overlaid areas of video | |
| JP3416649B2 (ja) | 可変長符号化装置 | |
| KR102192980B1 (ko) | 기계 학습 기반으로 파라미터를 학습하는 영상 처리 장치 및 동작 방법 | |
| JP2003189312A (ja) | 動画像符号化装置及び動画像復号化装置 | |
| JP2006203598A (ja) | ディジタル画像復号装置及び方法 | |
| JP4779977B2 (ja) | 画像符号化・復号化装置 | |
| JP2009094815A (ja) | 動画像復号装置及び動画像復号方法 | |
| US20080317121A1 (en) | Rate control methods and devices | |
| JP2008109270A (ja) | 手振れ補正機能付き動画再生装置 | |
| JP2006203597A (ja) | ディジタル画像復号装置及び方法 | |
| US12063360B2 (en) | Prediction processing system using reference data buffer to achieve parallel non-inter and inter prediction and associated prediction processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070820 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100915 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101110 |
|
| 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: 20101201 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101224 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |