JP2004336405A - Dynamic image processing apparatus, program, storage medium, and dynamic image processing method - Google Patents

Dynamic image processing apparatus, program, storage medium, and dynamic image processing method Download PDF

Info

Publication number
JP2004336405A
JP2004336405A JP2003129808A JP2003129808A JP2004336405A JP 2004336405 A JP2004336405 A JP 2004336405A JP 2003129808 A JP2003129808 A JP 2003129808A JP 2003129808 A JP2003129808 A JP 2003129808A JP 2004336405 A JP2004336405 A JP 2004336405A
Authority
JP
Japan
Prior art keywords
frame
data
decoding
moving image
quality parameter
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
Application number
JP2003129808A
Other languages
Japanese (ja)
Inventor
Yasushi Yamaguchi
泰史 山口
Shoichi Teranaka
祥一 寺中
Yasunori Ishikawa
安則 石川
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003129808A priority Critical patent/JP2004336405A/en
Priority to US10/840,368 priority patent/US7433524B2/en
Publication of JP2004336405A publication Critical patent/JP2004336405A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a dynamic image processing apparatus or the like capable of smoothly reproducing an animation without causing a frame drop due to a delay of a reproduction time to the utmost. <P>SOLUTION: A decode means 32 applies decode processing to frame data extracted by a frame separating means 31 on the basis of a quality parameter, a quality parameter calculation means 37 calculates the quality parameter on the basis of the number of frame data acquired from a number of stored data detection means 36 and storable furthermore in a frame buffer 33, and a decode quality update means 35 updates a frame position for the decode means 32. Further, a frame position decision means 37 decides a frame position to be processed on the basis of the number of frame data acquired from the number of stored data detection means 36 and storable furthermore in the frame buffer 33, and a frame position update means 34 instructs the frame separate means 31 on the decided frame position to be processed next. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理装置、プログラム、記憶媒体および動画像処理方法に関する。
【0002】
【従来の技術】
一般に、デジタル動画像データの伝送・蓄積を行う場合には、デジタル動画像圧縮伸長技術を用いて数10分の1に圧縮処理し、伝送レートや蓄積容量の負荷を低減するようにしている。このようなデジタル動画像圧縮伸長技術としては、動画像専用のMPEG1/MPEG2/MPEG4や、静止画像を連続したフレームとして扱うMotion JPEGが用いられている。
【0003】
MPEG方式とMotion静止画像方式の違いは、後者がフレーム内符号化だけを行うのに対し、前者は同一フレーム内の画像ばかりではなく、異なるフレーム間画像においても相関をとり、より圧縮率を上げることができることにある。一方、各々のフレームを独立に扱う後者の方式は、前者に比較して、フレーム毎の編集が可能であり、また、通信時のエラーが他フレームに及ぶこともない。このように、MPEG方式、Motion静止画像方式は、各々特長を持っている。そして、アプリケーション毎に、適宜、方式が使い分けられている。
【0004】
また、近年においては、後者のMotion静止画像の符号化については、離散ウェーブレット変換を用いて画像データを圧縮符号化するようにしたMotion JPEG2000という新しい方式が規格化されつつある。
【0005】
ところで、MPEG方式やMotion静止画像方式に代表される多くの符号化方式では画像をブロック単位で処理するため、その復号画像にはブロックノイズやエッジノイズといった劣化が生じる。ブロックノイズとは、本来の画像の絵柄にはないブロックパターン状の幾何学模様が見える歪みである。また、エッジノイズはエッジ付近に生じるリンギング状の歪み(モスキートノイズともいう)である。
【0006】
そこで、従来においては、このような符号化方式固有のノイズを除去するポストフィルタが提案されている。このポストフィルタは、概略的には、復号画像信号を平滑化して、ブロック間の境界部における高域成分を取り除く等の処理を行うものである。
【0007】
しかしながら、上述したようなポストフィルタによるフィルタ処理は比較的多くの演算量を必要とするため、フィルタ処理に時間がかかり、結果的に再生処理の遅れが引き起こされる場合がある。特に、マイクロプロセッサベースでソフトウェアデコードを行うシステムでは、動きの激しい場面においては復号処理そのものにプロセッサ資源が占有されてしまうので、それによってプロセッサ負荷が高くなり、再生処理の遅れが多々引き起こされることになる。再生処理の遅れは、音声と同期して動画像の復号・再生をソフトウェアによって行う場合に特に顕在化され、音声とのずれや、コマ落ちなどの問題が生じることになる。
【0008】
すなわち、動画像の再生処理に遅れが生じた場合には、通常、その遅れを解消するために、いくつかのフレームに関する復号処理を省くというフレームスキップが行われる。これにより、コマ落ちが発生し、ギクシャクとした再生画像となってしまう。特に、高圧縮率、高画質の画像が得られるMotion JPEG2000方式においては、Motion JPEGの画像処理に比べると多くの演算量を必要とするため、コマ落ちが顕著になる。
【0009】
そこで、このような問題を解決すべく、特許文献1に記載されているデジタル動画像圧縮・伸張処理を用いたリアルタイム録画再生装置においては、フレームレート制御部を持つことにより、圧縮時に処理が間に合わない場合は補間処理を行い、伸張時に処理が間に合わない場合はコマ落とし処理を行うようにし、特に伸張時のコマ落としは、圧縮時に補間処理を行ったフレームを優先的にコマ落とし処理する技術が開示されている。
【0010】
【特許文献1】
特開2001−309303公報
【0011】
【発明が解決しようとする課題】
しかしながら、上述したような特許文献1に開示された技術によれば、圧縮時の補間処理は実質的には間引き処理であり、結果的にはフレームレートを低下させるため、コマ落としによりフレームレートを低下させて処理のリアルタイム性を確保しているにすぎず、表示される動画像は動きが滑らかでない画像となってしまうという問題がある。
【0012】
本発明の目的は、再生の時間遅延によるコマ落ちをできるだけ発生させることなく滑らかな動画再生を行うことができる動画像処理装置、プログラム、記憶媒体および動画像処理方法を提供することである。
【0013】
【課題を解決するための手段】
請求項1記載の発明の動画像処理装置は、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理装置において、前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離手段と、このフレーム分離手段により取り出されたフレームデータをデコード処理するデコード手段と、このデコード手段で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出手段と、このデータ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード手段におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出手段と、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定手段と、前記デコード手段に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新手段と、前記フレーム分離手段に対し、前記フレーム位置決定手段により決定されたフレーム位置を指示するフレーム位置更新手段と、を備える。
【0014】
したがって、デコード手段はフレーム分離手段により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータはデータ蓄積数検出手段から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて品質パラメータ算出手段により算出されてデコード品質更新手段によりデコード手段に対して更新される。また、フレーム位置決定手段によりデータ蓄積数検出手段から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置が決定され、フレーム位置更新手段によりフレーム分離手段に対して決定された次に処理するフレーム位置が指示される。これにより、伸長処理能力に応じて適応的に画像品質を制御することが可能になり、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理が可能になる。また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することが可能になる。
【0015】
請求項2記載の発明は、請求項1記載の動画像処理装置において、前記品質パラメータ算出手段は、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとする。
【0016】
したがって、データ蓄積数検出手段で取得したフレームバッファに更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することが可能になる。
【0017】
請求項3記載の発明は、請求項1記載の動画像処理装置において、前記フレーム位置決定手段は、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とする。
【0018】
したがって、データ蓄積数検出手段で取得したフレームバッファに更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことが可能になる。
【0019】
請求項4記載の発明は、請求項1ないし3のいずれか一記載の動画像処理装置において、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式である。
【0020】
したがって、高圧縮率、高画質の動画像を得ることが可能になる。
【0021】
請求項5記載の発明のプログラムは、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データの再生をコンピュータに実行させるプログラムであって、前記コンピュータに、前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離機能と、このフレーム分離機能により取り出されたフレームデータをデコード処理するデコード機能と、このデコード機能で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出機能と、このデータ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード機能におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出機能と、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定機能と、前記デコード機能に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新機能と、前記フレーム分離機能に対し、前記フレーム位置決定機能により決定されたフレーム位置を指示するフレーム位置更新機能と、を実行させる。
【0022】
したがって、デコード機能はフレーム分離機能により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータはデータ蓄積数検出機能から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて品質パラメータ算出機能により算出されてデコード品質更新機能によりデコード機能に対して更新される。また、フレーム位置決定機能によりデータ蓄積数検出機能から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置が決定され、フレーム位置更新機能によりフレーム分離機能に対して決定された次に処理するフレーム位置が指示される。これにより、伸長処理能力に応じて適応的に画像品質を制御することが可能になり、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理が可能になる。また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することが可能になる。
【0023】
請求項6記載の発明は、請求項5記載のプログラムにおいて、前記品質パラメータ算出機能は、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとする。
【0024】
したがって、データ蓄積数検出機能で取得したフレームバッファに更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することが可能になる。
【0025】
請求項7記載の発明は、請求項5記載のプログラムにおいて、前記フレーム位置決定機能は、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とする。
【0026】
したがって、データ蓄積数検出機能で取得したフレームバッファに更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことが可能になる。
【0027】
請求項8記載の発明は、請求項5ないし7のいずれか一記載のプログラムにおいて、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式である。
【0028】
したがって、高圧縮率、高画質の動画像を得ることが可能になる。
【0029】
請求項9記載の発明のコンピュータに読取り可能な記憶媒体は、請求項5ないし8のいずれか一記載のプログラムを記憶している。
【0030】
したがって、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることにより、請求項5ないし8のいずれか一記載の発明と同様の作用を得ることが可能になる。
【0031】
請求項10記載の発明の動画像処理方法は、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理方法であって、前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離工程と、このフレーム分離工程により取り出されたフレームデータをデコード処理するデコード工程と、このデコード工程で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出工程と、このデータ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード工程におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出工程と、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定工程と、前記デコード工程に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新工程と、前記フレーム分離工程に対し、前記フレーム位置決定工程により決定されたフレーム位置を指示するフレーム位置更新工程と、をコンピュータの処理制御により行なう。
【0032】
したがって、デコード工程はフレーム分離工程により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータはデータ蓄積数検出工程から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて品質パラメータ算出工程により算出されてデコード品質更新工程によりデコード工程に対して更新される。また、フレーム位置決定工程によりデータ蓄積数検出工程から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置が決定され、フレーム位置更新工程によりフレーム分離工程に対して決定された次に処理するフレーム位置が指示される。これにより、伸長処理能力に応じて適応的に画像品質を制御することが可能になり、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理が可能になる。また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することが可能になる。
【0033】
請求項11記載の発明は、請求項10記載の動画像処理方法において、前記品質パラメータ算出工程は、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとする。
【0034】
したがって、データ蓄積数検出工程で取得したフレームバッファに更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することが可能になる。
【0035】
請求項12記載の発明は、請求項10記載の動画像処理方法において、前記フレーム位置決定工程は、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とする。
【0036】
したがって、データ蓄積数検出工程で取得したフレームバッファに更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことが可能になる。
【0037】
請求項13記載の発明は、請求項10ないし12のいずれか一記載の動画像処理方法において、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式である。
【0038】
したがって、高圧縮率、高画質の動画像を得ることが可能になる。
【0039】
【発明の実施の形態】
本発明の実施の一形態を図1ないし図13に基づいて説明する。
【0040】
最初に、本発明の前提となる「階層符号化アルゴリズム」及び「JPEG2000アルゴリズム」の概要について説明する。
【0041】
図1は、JPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の各機能ブロックにより構成されている。
【0042】
このシステムが従来のJPEGアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を用いているのに対し、この階層符号化アルゴリズムでは、2次元ウェーブレット変換・逆変換部102において、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所を有し、この点が、JPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
【0043】
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部105の機能ブロックが追加されていることである。このタグ処理部105で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる(後述する図3参照)。
【0044】
原画像の入出力部分には、色空間変換・逆変換101が接続される場合が多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆変換を行う部分がこれに相当する。
【0045】
次に、JPEG2000アルゴリズムについて説明する。
【0046】
カラー画像は、一般に、図2に示すように、原画像の各コンポーネント111(ここではRGB原色系)が、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、JPEG2000では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする(図2の例では、各コンポーネント111が縦横4×4、合計16個の矩形のタイル112に分割されている)。このような個々のタイル112(図2の例で、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15)が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネント毎、また、タイル112毎に、独立に行われる。
【0047】
画像データの符号化時には、各コンポーネント111の各タイル112のデータが、図1の色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換部102で2次元ウェーブレット変換(順変換)が施されて、周波数帯に空間分割される。
【0048】
図3には、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示している。すなわち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジション・レベル0)に対して、2次元ウェーブレット変換を施し、デコンポジション・レベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジション・レベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジション・レベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジション・レベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジション・レベル数を3としたとき、網掛けで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0049】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示す量子化・逆量子化部103で対象ビット周辺のビットからコンテキストが生成される。
【0050】
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示したように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【0051】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0052】
ここで、図5はビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジション・レベル1のプレシンクトとコード・ブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コード・ブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジション・レベル1のウェーブレット係数値を求めている。
【0053】
また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコード・ブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0054】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0055】
図1に示すエントロピー符号化・復号化部104では、コンテキストと対象ビットから確率推定によって、各コンポーネント111のタイル112に対する符号化を行う。こうして、原画像の全てのコンポーネント111について、タイル112単位で符号化処理が行われる。最後にタグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本の符号列データに結合するとともに、それにタグを付加する処理を行う。
【0056】
図6には、この符号列データの1フレーム分の概略構成を示している。この符号列データの先頭と各タイルの符号データ(bit stream)の先頭にはヘッダ(メインヘッダ(Main header)、タイル境界位置情報等であるタイルパートヘッダ(tile part header))と呼ばれるタグ情報が付加され、その後に、各タイルの符号化データが続く。なお、メインヘッダ(Main header)には、符号化パラメータや量子化パラメータが記述されている。そして、符号列データの終端には、再びタグ(end of codestream)が置かれる。また、図7は、符号化されたウェーブレット係数値が収容されたパケットをサブバンド毎に表わしたコード・ストリーム構造を示すものである。図7に示すように、タイルによる分割処理を行っても、あるいはタイルによる分割処理を行わなくても、同様のパケット列構造を持つことになる。
【0057】
一方、符号化データの復号化時には、画像データの符号化時とは逆に、各コンポーネント111の各タイル112の符号列データから画像データを生成する。この場合、タグ処理部105は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント111の各タイル112の符号列データに分解し、その各コンポーネント111の各タイル112の符号列データ毎に復号化処理(伸長処理)を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間変換・逆変換部101によって元の表色系の画像データに変換される。
【0058】
以上が、「JPEG2000アルゴリズム」の概要であり、静止画像、すなわち単フレームに対する方式を複数フレームに拡張したものが、「Motion JPEG2000アルゴリズム」である。すなわち、「Motion JPEG2000」は、図8に示すように、1フレームのJPEG2000画像を所定のフレームレート(単位時間に再生するフレーム数)で連続して表示することにより、動画像にするものである。
【0059】
以下、本発明の実施の一形態について説明する。なお、ここでは、Motion JPEG2000を代表とする動画像圧縮伸長技術に関する例について説明するが、言うまでもなく、本発明は以下の説明の内容に限定されるものではない。
【0060】
図9は、本実施の形態に係る動画像出力システム1の全体構成を示すブロック図である。図9に示すように、動画像出力システム1は、圧縮動画像データを動画像処理装置3に対して入力する入力装置2と、入力装置2から入力した圧縮動画像データを伸長する動画像処理装置3と、動画像処理装置3で伸長された動画像データを出力する出力装置4とからなる。
【0061】
入力装置2は、具体的には、動画像処理装置3へ圧縮動画像データを送信する各種通信インターフェイス、圧縮動画像データを記憶する記憶装置、動画像を入力するビデオカメラなどの動画像入力装置などである。入力装置2から動画像処理装置3へと出力される圧縮動画像データは、「Motion JPEG2000アルゴリズム」に従って圧縮符号化されたMotion JPEG2000データである。
【0062】
出力装置4は、具体的には、動画像処理装置3で伸長された動画像データを受信する各種通信インターフェイス、伸長された動画像を表示するLCD(Liquid Crystal Display),CRT(Cathode Ray Tube)などのディスプレイなどである。
【0063】
次に、動画像処理装置3について詳細に説明する。図10は、本実施の形態における動画像処理装置3のモジュール構成図である。動画像処理装置3は、いわゆるパーソナルコンピュータであって、情報処理を行うCPU(Central Processing Unit)11、情報を格納するROM(Read Only Memory)12及びRAM(Random Access Memory)13等の一次記憶装置14、後述する圧縮符号を記憶する記憶部であるHDD(Hard Disk Drive)15等の二次記憶装置16、情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ等のリムーバブルディスク装置17、入力装置2や出力装置4と通信により情報を伝達するためのネットワークインターフェース18、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示装置19、並びに操作者がCPU11に命令や情報等を入力するためのキーボード20、マウス等のポインティングディバイス21等から構成されており、これらの各部間で送受信されるデータをバスコントローラ22が調停して動作する。なお、本実施の形態においては、動画像処理装置3の表示装置19が出力装置4として機能するものとする。
【0064】
このような動画像処理装置3では、ユーザが電源を投入するとCPU11がROM12内のローダーというプログラムを起動させ、HDD15よりオペレーティングシステムというコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM13に読み込み、このオペレーティングシステムを起動させる。このようなオペレーティングシステムは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。オペレーティングシステムのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのオペレーティングシステム上で走る動作プログラムをアプリケーションプログラムと呼んでいる。
【0065】
ここで、動画像処理装置3は、アプリケーションプログラムとして、動画処理プログラムをHDD15に記憶している。この意味で、HDD15は、動画処理プログラムを記憶する記憶媒体として機能する。
【0066】
また、一般的には、動画像処理装置3のHDD15等の二次記憶装置16にインストールされる動作プログラムは、CD−ROMやDVD−ROM等の光情報記録メディアやFD等の磁気メディア等に記録され、この記録された動作プログラムがHDD15等の二次記憶装置16にインストールされる。このため、CD−ROM等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体も、動画処理プログラムを記憶する記憶媒体となり得る。さらには、動画処理プログラムは、例えばネットワークインターフェース18を介して外部から取り込まれ、HDD15等の二次記憶装置16にインストールされても良い。
【0067】
動画像処理装置3は、オペレーティングシステム上で動作する動画処理プログラムが起動すると、この動画処理プログラムに従い、CPU11が各種の演算処理を実行して各部を集中的に制御する。動画像処理装置3のCPU11が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【0068】
ここで、動画像処理装置3のCPU11が実行する各種の演算処理により実現される機能について説明する。図11に示すように、動画像処理装置3においては、フレーム分離手段31、デコード手段として機能するJPEG2000デコーダ32、フレーム位置更新手段34、デコード品質更新手段35、データ蓄積数検出手段36、判定手段37の各機能が、CPU11が実行する各種の演算処理により実現されている。なお、リアルタイム性が重要視される場合には、処理を高速化する必要がある。そのためには、論理回路(図示せず)を別途設け、論理回路の動作により各種機能を実現するようにするのが望ましい。また、CPU11は動画処理プログラムに従って動作することで、RAM13にフレームバッファ33を形成する。
【0069】
フレーム分離手段31は、入力装置2から出力されたMotion JPEG2000データを構成するフレームデータをフレーム位置更新手段34からの指示に基づいて順次取り出す。
【0070】
JPEG2000デコーダ32は、Motion JPEG2000データを構成するフレームデータをデコード品質更新手段35により指定された品質パラメータに従って伸長処理を行う。ここで、品質パラメータは、デコード(伸長)処理の際のデコード品質を決定するものであって、デコードパラメータ(JPEG2000のレイヤ、トランケーション値、レベルなど)を単一または複合的に変更することでデコード品質を決定する。
【0071】
フレームバッファ33は、JPEG2000デコーダ32で伸長されたフレームデータを登録順に最大24個保持し、時間的に古いものから順次出力する。
【0072】
フレーム位置更新手段34は、フレーム分離手段31に対して、次に処理するフレーム位置を指定されたコマ数だけスキップすることを指示する。
【0073】
デコード品質更新手段35は、JPEG2000デコーダ32に対して、伸長処理の際の品質パラメータを指定する。
【0074】
データ蓄積数検出手段36は、フレームバッファ33に保持されているフレームデータの数を検出し、フレームバッファ33に更に保持可能なフレームデータの数(D)を取得する。
【0075】
判定手段37は、データ蓄積数検出手段36から取得したフレームバッファ33に更に保持可能なフレームデータの数(D)を基に品質パラメータを更新し、フレーム位置をフレーム位置更新手段34に指示するとともに、更新された品質パラメータをデコード品質更新手段35に送信する。すなわち、判定手段37は、品質パラメータ算出手段及びフレーム位置決定手段として機能するものである。本実施の形態においては、フレームバッファ33に更に保持可能なデータの数(D)が第1の閾値である21個以上の場合は最高品質の品質パラメータとし、フレームバッファ33に更に保持可能なデータの数(D)が5〜20個の間の場合はその値に応じた低品質から高品質の品質パラメータを対応させ、フレームバッファ33に更に保持可能なデータの数(D)が第2の閾値である4個以下の場合はデータの数(D)の残量に応じたコマ数分だけコマ落としを指示する。
【0076】
図12は判定手段37における処理制御の流れを示すフローチャートである。図12に示すように、判定手段37の処理としては、まず、データ蓄積数検出手段36から取得したフレームバッファ33に更に保持可能なデータの数(D)を取得すると(ステップS1)、フレームバッファ33に更に保持可能なデータの数(D)が4個以下であるか否かを判定する(ステップS2)。また、フレームバッファ33に更に保持可能なデータの数(D)が4個以下でないと判定した場合には(ステップS2のN)、フレームバッファ33に更に保持可能なデータの数(D)が21個以上であるか否かを判定する(ステップS3)。
【0077】
すなわち、フレームバッファ33に更に保持可能なデータの数(D)が5〜20個であると判定した場合には(ステップS3のN)、品質パラメータをそのフレームバッファ33に更に保持可能なデータの数(D)に基づく品質パラメータインデックス(I)に決定する(ステップS4)。すなわち、決定される品質パラメータインデックス(I)は、
品質パラメータインデックス(I) ← 20−D
である。
【0078】
また、フレームバッファ33に更に保持可能なデータの数(D)が21個以上であると判定した場合には(ステップS3のY)、品質パラメータを最高品質の品質パラメータインデックス(I)に決定する(ステップS5)。すなわち、決定される品質パラメータインデックス(I)は、
品質パラメータインデックス(I) ← 0
である。
【0079】
さらに、フレームバッファ33に更に保持可能なデータの数(D)が4個以下であると判定した場合には(ステップS2のY)、コマ落しのためのコマ数(S)を算出する(ステップS6)。コマ落しのためのコマ数(S)は、
コマ落しのためのコマ数(S) ← 4−D+1
により算出される。
【0080】
したがって、データ蓄積数検出手段36で取得したフレームバッファ33に更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことが可能になる。
【0081】
その後、次のフレーム位置を算出したコマ数(S)分だけ進めた位置にフレーム位置更新手段34に指示し(ステップS7)、品質パラメータを最低品質の品質パラメータインデックス(I)に決定する(ステップS8)。すなわち、決定される品質パラメータインデックス(I)は、
品質パラメータインデックス(I) ← 15
である。
【0082】
したがって、データ蓄積数検出手段36で取得したフレームバッファ33に更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することが可能になる。
【0083】
最後に、ステップS9において、ステップS4,5,8のいずれかで決定した品質パラメータをデコード品質更新手段35に送信し、品質パラメータの更新を指示する。
【0084】
上述したような品質パラメータインデックス(I)とフレームバッファ33に更に保持可能なデータの数(D)との関係は、図13に示すようになる。
【0085】
次に、上述した各種機能による一連の処理の流れについて説明する。入力装置2から出力されたMotion JPEG2000データは、フレーム位置更新手段34からの指示に基づいてフレーム分離手段31でフレーム毎に切り出されて単一のフレームデータとして取り出される。フレーム分離手段31で取り出されたフレームデータは、デコード品質更新手段35により指定された品質パラメータに従ってJPEG2000デコーダ32で伸長処理を施され、フレームバッファ33に登録される。フレームバッファ33に登録された動画像データは、時間的に古いものから出力装置4(表示装置19)に順次出力され、出力装置4(表示装置19)に映像が表示される。
【0086】
一方、データ蓄積数検出手段36によってフレームバッファ33に保持されているフレームデータの数に応じてフレームバッファ33に更に保持可能なフレームデータの数(D)が取得されると、このフレームバッファ33に更に保持可能なフレームデータの数(D)に基づいて判定手段37により品質パラメータが算出され、デコード品質更新手段35によりJPEG2000デコーダ32に対して新しい品質パラメータが与えられ、以降のデコード時の品質パラメータが更新される。すなわち、フレームバッファ33に更に保持可能なフレームデータの数(D)が少ない場合には品質パラメータを下げ、フレームバッファ33に更に保持可能なフレームデータの数(D)が多い場合には品質パラメータを上げていくことになる。また、フレームバッファ33に更に保持可能なフレームデータの数(D)が非常に少ない場合には、フレーム位置更新手段34によりフレーム分離手段31に対してコマ落としが指示される。
【0087】
ここに、デコード手段であるJPEG2000デコーダ32はフレーム分離手段31により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータはデータ蓄積数検出手段36から取得したフレームバッファ33に更に保持可能なフレームデータの数に基づいて品質パラメータ算出手段として機能する判定手段37により算出されてデコード品質更新手段35によりデコード手段に対して更新される。また、フレーム位置決定手段として機能する判定手段37によりデータ蓄積数検出手段36から取得したフレームバッファ33に更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置が決定され、フレーム位置更新手段34によりフレーム分離手段31に対して決定された次に処理するフレーム位置が指示される。これにより、伸長処理能力に応じて適応的に画像品質を制御することが可能になり、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理が可能になる。また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することが可能になる。すなわち、再生の時間遅延によるコマ落ちをできるだけ発生させることなく滑らかな動画再生を行うことができる。
【0088】
なお、本実施の形態においては、動画像処理装置3としてパーソナルコンピュータを適用したが、これに限るものではない。例えば、携帯情報端末(PDA)や携帯電話などを動画像処理装置3として適用することもできる。
【0089】
【発明の効果】
請求項1記載の発明の動画像処理装置によれば、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理装置において、前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離手段と、このフレーム分離手段により取り出されたフレームデータをデコード処理するデコード手段と、このデコード手段で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出手段と、このデータ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード手段におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出手段と、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定手段と、前記デコード手段に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新手段と、前記フレーム分離手段に対し、前記フレーム位置決定手段により決定されたフレーム位置を指示するフレーム位置更新手段と、を備え、デコード手段はフレーム分離手段により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータをデータ蓄積数検出手段から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて品質パラメータ算出手段により算出してデコード品質更新手段によりデコード手段に対して更新し、また、フレーム位置決定手段によりデータ蓄積数検出手段から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置を決定し、フレーム位置更新手段によりフレーム分離手段に対して決定された次に処理するフレーム位置を指示することにより、伸長処理能力に応じて適応的に画像品質を制御することができるので、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理ができ、また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することができる。すなわち、再生の時間遅延によるコマ落ちをできるだけ発生させることなく滑らかな動画再生を行うことができる。
【0090】
請求項2記載の発明によれば、請求項1記載の動画像処理装置において、前記品質パラメータ算出手段は、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとすることにより、データ蓄積数検出手段で取得したフレームバッファに更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することができる。
【0091】
請求項3記載の発明によれば、請求項1記載の動画像処理装置において、前記フレーム位置決定手段は、前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とすることにより、データ蓄積数検出手段で取得したフレームバッファに更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことができる。
【0092】
請求項4記載の発明によれば、請求項1ないし3のいずれか一記載の動画像処理装置において、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式であることにより、高圧縮率、高画質の動画像を得ることができる。
【0093】
請求項5記載の発明のプログラムによれば、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データの再生をコンピュータに実行させるプログラムであって、前記コンピュータに、前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離機能と、このフレーム分離機能により取り出されたフレームデータをデコード処理するデコード機能と、このデコード機能で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出機能と、このデータ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード機能におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出機能と、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定機能と、前記デコード機能に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新機能と、前記フレーム分離機能に対し、前記フレーム位置決定機能により決定されたフレーム位置を指示するフレーム位置更新機能と、を実行させ、デコード機能はフレーム分離機能により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータをデータ蓄積数検出機能から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて品質パラメータ算出機能により算出してデコード品質更新機能によりデコード機能に対して更新し、また、フレーム位置決定機能によりデータ蓄積数検出機能から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置を決定し、フレーム位置更新機能によりフレーム分離機能に対して決定された次に処理するフレーム位置を指示することにより、伸長処理能力に応じて適応的に画像品質を制御することができるので、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理ができ、また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することができる。すなわち、再生の時間遅延によるコマ落ちをできるだけ発生させることなく滑らかな動画再生を行うことができる。
【0094】
請求項6記載の発明によれば、請求項5記載のプログラムにおいて、前記品質パラメータ算出機能は、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとすることにより、データ蓄積数検出機能で取得したフレームバッファに更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することができる。
【0095】
請求項7記載の発明によれば、請求項5記載のプログラムにおいて、前記フレーム位置決定機能は、前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とすることにより、データ蓄積数検出機能で取得したフレームバッファに更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことができる。
【0096】
請求項8記載の発明によれば、請求項5ないし7のいずれか一記載のプログラムにおいて、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式であることにより、高圧縮率、高画質の動画像を得ることができる。
【0097】
請求項9記載の発明のコンピュータに読取り可能な記憶媒体によれば、請求項5ないし8のいずれか一記載のプログラムを記憶していることにより、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることで、請求項5ないし8のいずれか一記載の発明と同様の作用効果を得ることができる。
【0098】
請求項10記載の発明の動画像処理方法によれば、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理方法であって、前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離工程と、このフレーム分離工程により取り出されたフレームデータをデコード処理するデコード工程と、このデコード工程で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出工程と、このデータ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード工程におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出工程と、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定工程と、前記デコード工程に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新工程と、前記フレーム分離工程に対し、前記フレーム位置決定工程により決定されたフレーム位置を指示するフレーム位置更新工程と、をコンピュータの処理制御により行ない、デコード工程はフレーム分離工程により取り出されたフレームデータを品質パラメータに基づいてデコード処理するが、品質パラメータをデータ蓄積数検出工程から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて品質パラメータ算出工程により算出してデコード品質更新工程によりデコード工程に対して更新し、また、フレーム位置決定工程によりデータ蓄積数検出工程から取得したフレームバッファに更に保持可能なフレームデータの数に基づいて次に処理するフレーム位置を決定し、フレーム位置更新工程によりフレーム分離工程に対して決定された次に処理するフレーム位置を指示することにより、伸長処理能力に応じて適応的に画像品質を制御することができるので、原則的にはフレームレートを維持したままで品質を調整することで再生の時間遅延によるコマ落ちを発生させることのないリアルタイム伸長処理ができ、また、フレームレートを落とさざるを得ない場合であっても、できるだけ画像品質とフレームレートを維持することができる。すなわち、再生の時間遅延によるコマ落ちをできるだけ発生させることなく滑らかな動画再生を行うことができる。
【0099】
請求項11記載の発明によれば、請求項10記載の動画像処理方法において、前記品質パラメータ算出工程は、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとすることにより、データ蓄積数検出工程で取得したフレームバッファに更に保持可能なフレームデータの数に基づき、簡単な処理で品質パラメータを決定することができる。
【0100】
請求項12記載の発明によれば、請求項10記載の動画像処理方法において、前記フレーム位置決定工程は、前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とすることにより、データ蓄積数検出工程で取得したフレームバッファに更に保持可能なフレームデータの数が非常に少ない場合にのみ、フレームレートを落とすことができる。
【0101】
請求項13記載の発明によれば、請求項10ないし12のいずれか一記載の動画像処理方法において、フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式であることにより、高圧縮率、高画質の動画像を得ることができる。
【図面の簡単な説明】
【図1】本発明の前提となるJPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。
【図2】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示す説明図である。
【図4】プレシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】符号列データの1フレーム分の概略構成を示す説明図である。
【図7】符号化されたウェーブレット係数値が収容されたパケットをサブバンド毎に表わしたコード・ストリーム構造を示す説明図である。
【図8】Motion JPEG2000の概念を示す説明図である。
【図9】本発明の実施の一形態の動画像出力システムの全体構成を示すブロック図である。
【図10】動画像処理装置のモジュール構成図である。
【図11】動画処理プログラムに基づいてCPUが実行する処理により実現される機能を示す機能ブロック図である。
【図12】判定手段における処理制御の流れを示すフローチャートである。
【図13】品質パラメータインデックス(I)とフレームバッファに更に保持可能なデータの数(D)との関係を示すグラフである。
【符号の説明】
3 動画像処理装置
15 記憶媒体
31 フレーム分離手段
32 デコード手段
33 フレームバッファ
34 フレーム位置更新手段
35 デコード品質更新手段
36 データ蓄積数検出手段
37 品質パラメータ算出手段、フレーム位置決定手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a moving image processing apparatus, a program, a storage medium, and a moving image processing method for reproducing moving image data compressed using a digital moving image compression method that performs image compression processing using only intra-frame information.
[0002]
[Prior art]
Generally, when transmitting and storing digital moving image data, compression processing is performed to several tenths using digital moving image compression / expansion technology to reduce the load on the transmission rate and storage capacity. As such digital moving image compression / decompression techniques, MPEG1 / MPEG2 / MPEG4 dedicated to moving images and Motion JPEG which treats still images as continuous frames are used.
[0003]
The difference between the MPEG system and the Motion still image system is that the latter performs only intra-frame coding, whereas the former performs correlation not only on images in the same frame but also on different inter-frame images, thereby increasing the compression rate. Is to be able to do it. On the other hand, the latter method, in which each frame is handled independently, enables editing for each frame as compared with the former method, and does not cause errors during communication to extend to other frames. As described above, the MPEG system and the Motion still image system each have features. The method is appropriately used for each application.
[0004]
In recent years, a new method called Motion JPEG2000, which compresses and encodes image data by using a discrete wavelet transform, is being standardized for encoding the Motion still image.
[0005]
By the way, in many coding systems represented by the MPEG system and the Motion still image system, an image is processed in a block unit, and thus a decoded image is deteriorated such as block noise and edge noise. The block noise is a distortion in which a block-patterned geometric pattern that is not included in the original image pattern is seen. Edge noise is ringing-like distortion (also referred to as mosquito noise) generated near the edge.
[0006]
Therefore, conventionally, a post filter for removing such noise peculiar to the encoding method has been proposed. This post filter roughly performs processing such as smoothing the decoded image signal to remove high-frequency components at the boundary between blocks.
[0007]
However, the filter processing by the post filter as described above requires a relatively large amount of calculation, so that the filter processing takes a long time, which may result in a delay in the reproduction processing. In particular, in a system that performs software decoding based on a microprocessor, in a scene with rapid movement, the decoding process itself occupies processor resources, thereby increasing the processor load and causing delays in the reproduction process. Become. The delay in the reproduction process is particularly apparent when decoding and reproducing a moving image by software in synchronization with the audio, and causes problems such as a shift from the audio and a dropped frame.
[0008]
That is, when a delay occurs in the moving image reproduction processing, frame skipping is usually performed to eliminate decoding processing for some frames in order to eliminate the delay. As a result, dropped frames occur, resulting in a jerky reproduced image. In particular, in the Motion JPEG2000 system capable of obtaining a high compression rate and high image quality image, a large amount of calculation is required as compared with the Motion JPEG image processing, and the drop of frames becomes conspicuous.
[0009]
In order to solve such a problem, a real-time recording / reproducing apparatus using digital video compression / expansion processing described in Patent Document 1 has a frame rate control unit so that processing can be performed in time for compression. If there is no frame, the interpolation processing is performed, and if the processing is not in time at the time of decompression, the frame drop processing is performed. It has been disclosed.
[0010]
[Patent Document 1]
JP 2001-309303 A
[0011]
[Problems to be solved by the invention]
However, according to the technique disclosed in Patent Literature 1 described above, the interpolation process at the time of compression is substantially a thinning process, and as a result, the frame rate is reduced. There is a problem in that the moving image to be displayed is not smooth because the moving image is not smoothed only by lowering the processing to ensure the real-time processing.
[0012]
An object of the present invention is to provide a moving image processing device, a program, a storage medium, and a moving image processing method capable of performing smooth moving image reproduction without causing a frame drop due to a time delay of reproduction as much as possible.
[0013]
[Means for Solving the Problems]
2. The moving image processing apparatus according to claim 1, wherein the moving image data is reproduced by using a digital moving image compression method that performs an image compression process using only intra-frame information. , Frame decoding means for sequentially extracting frame data for each frame, decoding means for decoding the frame data extracted by the frame separating means, and holding the frame data expanded by the decoding means in the order of registration. A frame buffer for sequentially outputting data from the oldest one, and a data storage number detecting means for detecting the number of frame data held in the frame buffer and obtaining the number of frame data that can be further held in the frame buffer And the frame buffer acquired from the data accumulation number detecting means. A quality parameter calculating unit for calculating a quality parameter for determining a decoding quality at the time of decoding processing in the decoding unit based on the number of frame data that can be held in the decoding unit; and a frame buffer acquired from the data accumulation number detecting unit. Further, a frame position determining means for determining a frame position to be processed next based on the number of frame data which can be held, and a decoding quality update for updating the quality parameter calculated by the quality parameter calculating means to the decoding means. And frame position updating means for instructing the frame separating means on the frame position determined by the frame position determining means.
[0014]
Therefore, the decoding means decodes the frame data extracted by the frame separation means based on the quality parameter, and the quality parameter is determined based on the number of frame data that can be further held in the frame buffer acquired from the data accumulation number detection means. The quality is calculated by the quality parameter calculating means and is updated by the decoding quality updating means with respect to the decoding means. Further, the frame position to be processed next is determined by the frame position determining means based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detecting means, and the frame position updating means determines the frame position for the frame separating means. The determined frame position to be processed next is indicated. This makes it possible to adaptively control the image quality according to the decompression processing capability, and in principle, adjusts the quality while maintaining the frame rate, thereby causing dropped frames due to a time delay of reproduction. Real-time decompression processing without any problems. Further, even if the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible.
[0015]
According to a second aspect of the present invention, in the moving image processing apparatus according to the first aspect, the quality parameter calculating unit determines that the number D of frame data that can be further held in the frame buffer acquired from the data storage number detecting unit is equal to If the threshold value is larger than 1 (D> first threshold), the quality parameter is set to the highest quality parameter, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection unit is equal to the second threshold value. When the number is smaller (D <second threshold <first threshold), the quality parameter is set to the lowest quality parameter, and the number D of frame data that can be further stored in the frame buffer acquired from the data storage number detection unit is the first. When the threshold value is smaller than the threshold value and larger than the second threshold value (second threshold value <D <first threshold value), the threshold value is determined stepwise according to the number D of frame data that can be held. And quality parameters.
[0016]
Therefore, it is possible to determine the quality parameter by simple processing based on the number of frame data that can be further held in the frame buffer acquired by the data accumulation number detection unit.
[0017]
According to a third aspect of the present invention, in the moving image processing apparatus according to the first aspect, the frame position determining unit determines that the number D of frame data that can be further held in the frame buffer acquired from the data storage number detecting unit is the second. If the number of frames is smaller than the threshold value of 2 (D <second threshold value <first threshold value), the number of frames for dropping frames is calculated, and the position advanced by this number of frames is set as the next frame position.
[0018]
Therefore, the frame rate can be reduced only when the number of frame data that can be further held in the frame buffer acquired by the data accumulation number detection means is very small.
[0019]
According to a fourth aspect of the present invention, in the moving image processing apparatus according to any one of the first to third aspects, a digital moving image compression method for performing image compression processing using only intra-frame information is a Motion JPEG2000 method.
[0020]
Therefore, it is possible to obtain a high compression rate and high quality moving image.
[0021]
A program according to a fifth aspect of the present invention is a program for causing a computer to execute reproduction of moving image data compressed using a digital moving image compression method that performs image compression processing using only intra-frame information. A frame separating function for sequentially extracting frame data constituting the moving image data for each frame, a decoding function for decoding the frame data extracted by the frame separating function, and a decoding function for extracting the frame data expanded by the decoding function. A frame buffer that is stored in the order of registration and is sequentially output from the oldest one, and data that detects the number of frame data stored in the frame buffer and obtains the number of frame data that can be further stored in the frame buffer. Storage number detection function and data storage number detection function A quality parameter calculating function for calculating a quality parameter for determining a decoding quality at the time of decoding processing in the decoding function, based on the number of frame data that can be further held in the frame buffer acquired from the frame buffer; A frame position determining function for determining a frame position to be processed next based on the number of frame data that can be further held in the frame buffer acquired from the frame buffer; and a quality calculated by the quality parameter calculating means for the decoding function. A decoding quality updating function for updating a parameter and a frame position updating function for instructing the frame separating function to indicate a frame position determined by the frame position determining function are executed.
[0022]
Therefore, the decoding function decodes the frame data extracted by the frame separation function based on the quality parameter. The quality parameter is determined based on the number of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function. The quality is calculated by the quality parameter calculation function, and is updated for the decoding function by the decoding quality update function. Further, the frame position to be processed next is determined based on the number of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function by the frame position determination function, and the frame position update function The determined frame position to be processed next is indicated. This makes it possible to adaptively control the image quality according to the decompression processing capability, and in principle, adjusts the quality while maintaining the frame rate, thereby causing dropped frames due to a time delay of reproduction. Real-time decompression processing without any problems. Further, even if the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible.
[0023]
According to a sixth aspect of the present invention, in the program according to the fifth aspect, the quality parameter calculation function is configured such that the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection function is a first threshold value. If the number is larger (D> first threshold), the quality parameter is set to the highest quality, and the number D of frame data that can be further held in the frame buffer obtained from the data storage number detection function is smaller than the second threshold. (D <second threshold value <first threshold value) is a quality parameter of the lowest quality, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection function is smaller than the first threshold value. If the number is at least larger than the second threshold (second threshold <D <first threshold), the product is determined stepwise according to the number D of frame data that can be held. As a parameter.
[0024]
Therefore, the quality parameter can be determined by simple processing based on the number of frame data that can be further held in the frame buffer acquired by the data accumulation number detection function.
[0025]
According to a seventh aspect of the present invention, in the program according to the fifth aspect, the frame position determination function is configured such that the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection function is a second threshold value. If the number is smaller (D <second threshold value <first threshold value), the number of frames for dropping frames is calculated, and the position advanced by the number of frames is set as the next frame position.
[0026]
Therefore, the frame rate can be reduced only when the number of frame data that can be further held in the frame buffer acquired by the data accumulation number detection function is very small.
[0027]
According to an eighth aspect of the present invention, in the program according to any one of the fifth to seventh aspects, the digital moving image compression method for performing image compression processing using only intra-frame information is the Motion JPEG2000 method.
[0028]
Therefore, it is possible to obtain a high compression rate and high quality moving image.
[0029]
A computer-readable storage medium according to a ninth aspect stores the program according to any one of the fifth to eighth aspects.
[0030]
Therefore, by causing a computer to read the program stored in the storage medium, it is possible to obtain the same operation as the invention according to any one of claims 5 to 8.
[0031]
11. The moving image processing method according to claim 10, wherein the moving image processing method reproduces moving image data compressed using a digital moving image compression method that performs image compression processing using only intra-frame information. A frame separation step of sequentially taking out frame data constituting the image data for each frame, a decoding step of decoding the frame data taken out in the frame separation step, and the frame data expanded in this decoding step in the order of registration A frame buffer that is held and sequentially output from the oldest one, and a data accumulation number that detects the number of frame data held in the frame buffer and obtains the number of frame data that can be further held in the frame buffer. A detecting step, and the frame buffer acquired from the data accumulation number detecting step. Further, based on the number of frame data that can be held, a quality parameter calculating step of calculating a quality parameter for determining a decoding quality at the time of decoding processing in the decoding step, and the frame buffer acquired from the data accumulation number detecting step. Further, a frame position determining step of determining a frame position to be processed next based on the number of frame data that can be held, and a decoding quality update for updating the quality parameter calculated by the quality parameter calculating means with respect to the decoding step. And a frame position updating step for designating the frame position determined by the frame position determining step in response to the frame separating step.
[0032]
Therefore, the decoding process decodes the frame data extracted in the frame separation process based on the quality parameter, but the quality parameter is based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detection process. It is calculated in the quality parameter calculation step and updated for the decoding step in the decoding quality update step. Further, the frame position to be processed next is determined based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detection step in the frame position determination step, and the frame position update step The determined frame position to be processed next is indicated. This makes it possible to adaptively control the image quality according to the decompression processing capability, and in principle, adjusts the quality while maintaining the frame rate, thereby causing dropped frames due to a time delay of reproduction. Real-time decompression processing without any problems. Further, even if the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible.
[0033]
According to an eleventh aspect of the present invention, in the moving image processing method according to the tenth aspect, in the quality parameter calculation step, the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is equal to or smaller than the number D. If the number is greater than 1 (D> first threshold), the quality parameter is set to the highest quality, and the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is equal to the second threshold. If the number is smaller (D <second threshold <first threshold), the quality parameter is set to the lowest quality parameter, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection step is equal to the first. Is smaller than the threshold value and larger than the second threshold value (second threshold value <D <first threshold value), it is determined stepwise according to the number D of frame data that can be held. And quality parameters.
[0034]
Therefore, it is possible to determine the quality parameter by simple processing based on the number of frame data that can be further held in the frame buffer acquired in the data accumulation number detection step.
[0035]
According to a twelfth aspect of the present invention, in the moving image processing method according to the tenth aspect, in the frame position determining step, the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detecting step is the second. If the number of frames is smaller than the threshold value of 2 (D <second threshold value <first threshold value), the number of frames for dropping frames is calculated, and the position advanced by this number of frames is set as the next frame position.
[0036]
Therefore, the frame rate can be reduced only when the number of frame data that can be further held in the frame buffer acquired in the data accumulation number detection step is very small.
[0037]
According to a thirteenth aspect of the present invention, in the moving image processing method according to any one of the tenth to twelfth aspects, a digital moving image compression method for performing image compression processing using only intra-frame information is the Motion JPEG2000 method.
[0038]
Therefore, it is possible to obtain a high compression rate and high quality moving image.
[0039]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to FIGS.
[0040]
First, the outlines of the “hierarchical encoding algorithm” and the “JPEG2000 algorithm” which are the premise of the present invention will be described.
[0041]
FIG. 1 is a functional block diagram of a system for realizing a hierarchical coding algorithm which is a basic of the JPEG2000 system. This system includes a color space conversion / inverse transformation unit 101, a two-dimensional wavelet transformation / inverse transformation unit 102, a quantization / inverse quantization unit 103, an entropy coding / decoding unit 104, and a tag processing unit 105. It is configured.
[0042]
One of the biggest differences between this system and the conventional JPEG algorithm is the conversion method. In JPEG, discrete cosine transform (DCT: Discrete Cosine Transform) is used, whereas in this hierarchical encoding algorithm, discrete wavelet transform (DWT: Discrete Wavelet Transform) is used in the two-dimensional wavelet transform / inverse transform unit 102. ing. DWT has an advantage that the image quality in a high compression area is better than DCT, and this is one of the main reasons why DWT was adopted in JPEG2000 which is a successor algorithm of JPEG.
[0043]
Another major difference is that in the hierarchical coding algorithm, a functional block of the tag processing unit 105 is added in order to form a code at the last stage of the system. The tag processing unit 105 generates compressed data as code string data at the time of image compression operation, and interprets code string data required for decompression at the time of decompression operation. The JPEG2000 can realize various convenient functions by using the code string data. For example, the compression / expansion operation of a still image can be freely stopped at an arbitrary layer (decomposition level) corresponding to octave division in a DWT on a block basis (see FIG. 3 described later).
[0044]
In many cases, a color space conversion / inverse conversion 101 is connected to the input / output portion of the original image. For example, an RGB color system composed of R (red) / G (green) / B (blue) components of a primary color system, and Y (yellow) / M (magenta) / C (cyan) components of a complementary color system The conversion or inverse conversion from the YMC color system to the YUV or YCbCr color system corresponds to this.
[0045]
Next, the JPEG2000 algorithm will be described.
[0046]
Generally, in a color image, as shown in FIG. 2, each component 111 (here, the RGB primary color system) of the original image is divided by a rectangular area. The divided rectangular area is generally called a block or a tile. In JPEG2000, it is generally called a tile. Hereinafter, such a divided rectangular area is referred to as a tile. (In the example of FIG. 2, each component 111 is divided into a total of 16 rectangular tiles 112, 4 × 4 vertically and horizontally.) When such individual tiles 112 (in the example of FIG. 2, R00, R01,..., R15 / G00, G01,..., G15 / B00, B01,. Is the basic unit of Therefore, the compression / decompression operation of the image data is performed independently for each component and for each tile 112.
[0047]
At the time of encoding image data, the data of each tile 112 of each component 111 is input to the color space conversion / inverse conversion unit 101 of FIG. 1 and subjected to color space conversion. A dimensional wavelet transform (forward transform) is performed, and spatial division into frequency bands is performed.
[0048]
FIG. 3 shows subbands at each decomposition level when the number of decomposition levels is three. That is, a two-dimensional wavelet transform is performed on the tile original image (0LL) (decomposition level 0) obtained by dividing the original image into tiles, and the subbands (1LL, 1HL, 1LH) indicated by the decomposition level 1 are obtained. , 1HH). Subsequently, two-dimensional wavelet transform is performed on the low-frequency component 1LL in this layer to separate the subbands (2LL, 2HL, 2LH, 2HH) shown in the decomposition level 2. Similarly, two-dimensional wavelet transform is performed on the low-frequency component 2LL in the same manner to separate the sub-bands (3LL, 3HL, 3LH, 3HH) shown in the decomposition level 3. In FIG. 3, the subbands to be coded at each decomposition level are shaded. For example, when the number of decomposition levels is 3, the subbands (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) indicated by shading are to be encoded, and the 3LL subbands are encoded. Is not converted.
[0049]
Next, bits to be encoded are determined in the designated order of encoding, and the quantization / inverse quantization unit 103 shown in FIG. 1 generates a context from bits around the target bits.
[0050]
The wavelet coefficients after the quantization process are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to make efficient use of memory in the implementation. As shown in FIG. 4, one precinct is formed of three spatially coincident rectangular areas. Further, each precinct is divided into non-overlapping rectangular "code blocks". This is a basic unit when performing entropy coding.
[0051]
The coefficient value after wavelet transform can be quantized and encoded as it is. However, in JPEG2000, in order to increase the encoding efficiency, the coefficient value is decomposed into “bit plane” units, and each pixel or code block is decomposed. "Bit planes" can be ranked.
[0052]
Here, FIG. 5 is an explanatory diagram showing an example of a procedure for prioritizing bit planes. As shown in FIG. 5, in this example, the original image (32 × 32 pixels) is divided into four 16 × 16 pixel tiles, and the size of the precinct of the decomposition level 1 and the size of the code block are as follows. Each has 8 × 8 pixels and 4 × 4 pixels. The numbers of precincts and code blocks are assigned in raster order. In this example, the precincts are assigned numbers 0 to 3, and the code blocks are assigned numbers 0 to 3. The pixel expansion outside the tile boundary is performed by using a mirroring method, performing a wavelet transform using a reversible (5, 3) filter, and obtaining a wavelet coefficient value of decomposition level 1.
[0053]
FIG. 5 also shows an explanatory diagram showing an example of a typical “layer” configuration concept of tile 0 / precinct 3 / code block 3. The converted code block is divided into subbands (1LL, 1HL, 1LH, 1HH), and each subband is assigned a wavelet coefficient value.
[0054]
The layer structure is easy to understand when the wavelet coefficient value is viewed from the horizontal direction (bit plane direction). One layer is composed of an arbitrary number of bit planes. In this example, layers 0, 1, 2, and 3 are made up of 1, 3, 1, and 3 bit planes, respectively. A layer including a bit plane closer to LSB (Least Significant Bit: Least Significant Bit) is subject to quantization first, and conversely, a layer closer to MSB (Most Significant Bit: Most Significant Bit) is quantized to the end. It will remain without being. A method of discarding from a layer close to the LSB is called truncation, and it is possible to finely control the quantization rate.
[0055]
The entropy encoding / decoding unit 104 shown in FIG. 1 performs encoding on the tile 112 of each component 111 by probability estimation from the context and the target bit. In this way, the encoding process is performed on all the components 111 of the original image in tile 112 units. Finally, the tag processing unit 105 performs a process of combining all the encoded data from the entropy encoding / decoding unit 104 into one piece of code string data and adding a tag thereto.
[0056]
FIG. 6 shows a schematic configuration of one frame of the code string data. At the head of the code string data and the head of the code data (bit stream) of each tile, tag information called a header (main header, tile part header as tile boundary position information, etc.) is provided. This is followed by coded data for each tile. Note that the main header (Main header) describes coding parameters and quantization parameters. Then, a tag (end of codestream) is placed again at the end of the code string data. FIG. 7 shows a code stream structure in which packets containing encoded wavelet coefficient values are represented for each subband. As shown in FIG. 7, the same packet sequence structure is obtained even if the division processing using tiles is performed or the division processing is not performed using tiles.
[0057]
On the other hand, when the encoded data is decoded, the image data is generated from the code string data of each tile 112 of each component 111, contrary to the encoding of the image data. In this case, the tag processing unit 105 interprets the tag information added to the code string data input from the outside, decomposes the code string data into code string data of each tile 112 of each component 111, and A decoding process (decompression process) is performed for each code string data of each tile 112. At this time, the positions of the bits to be decoded are determined in the order based on the tag information in the code string data, and the quantization / dequantization unit 103 sets the peripheral bits of the target bit position (the A context is generated from the sequence of (finished). The entropy coding / decoding unit 104 performs decoding by probability estimation from the context and the code string data, generates a target bit, and writes it to the position of the target bit. Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet transform / inverse transform unit 102 performs an inverse two-dimensional wavelet transform on the data to obtain each component of the image data. The tile is restored. The restored data is converted by the color space conversion / inverse conversion unit 101 into the original color system image data.
[0058]
The above is the outline of the “JPEG2000 algorithm”. The “Motion JPEG2000 algorithm” is obtained by extending the method for a still image, that is, a single frame to a plurality of frames. That is, as shown in FIG. 8, "Motion JPEG2000" is a moving image in which one frame of a JPEG2000 image is continuously displayed at a predetermined frame rate (the number of frames reproduced per unit time). .
[0059]
Hereinafter, an embodiment of the present invention will be described. Here, an example relating to a moving image compression / expansion technology represented by Motion JPEG2000 will be described. However, needless to say, the present invention is not limited to the following description.
[0060]
FIG. 9 is a block diagram showing the overall configuration of the moving image output system 1 according to the present embodiment. As shown in FIG. 9, a moving image output system 1 includes an input device 2 for inputting compressed moving image data to a moving image processing device 3 and a moving image processing for expanding compressed moving image data input from the input device 2. It comprises a device 3 and an output device 4 for outputting moving image data decompressed by the moving image processing device 3.
[0061]
The input device 2 is specifically a moving image input device such as various communication interfaces for transmitting compressed moving image data to the moving image processing device 3, a storage device for storing compressed moving image data, and a video camera for inputting moving images. And so on. The compressed moving image data output from the input device 2 to the moving image processing device 3 is Motion JPEG2000 data that has been compression-encoded according to the “Motion JPEG2000 algorithm”.
[0062]
The output device 4 is, specifically, various communication interfaces for receiving moving image data decompressed by the moving image processing device 3, an LCD (Liquid Crystal Display) for displaying the decompressed moving image, a CRT (Cathode Ray Tube). And the like.
[0063]
Next, the moving image processing device 3 will be described in detail. FIG. 10 is a module configuration diagram of the moving image processing device 3 according to the present embodiment. The moving image processing device 3 is a so-called personal computer, and a primary storage device such as a CPU (Central Processing Unit) 11 for performing information processing, a ROM (Read Only Memory) 12 for storing information, and a RAM (Random Access Memory) 13. 14, a secondary storage device 16 such as a hard disk drive (HDD) 15 serving as a storage unit for storing a compression code described later, and a CD-ROM for storing information, distributing information to the outside, and obtaining information from the outside. A removable disk device 17 such as a ROM drive, a network interface 18 for transmitting information by communication with the input device 2 and the output device 4, a CRT (Cathode Ray Tube) and an LCD (Liq) for displaying the progress and results of processing to the operator. A display device 19 such as a liquid crystal display (UID), a keyboard 20 for the operator to input commands and information to the CPU 11, a pointing device 21 such as a mouse, and the like, and data transmitted and received between these units. Are operated by the bus controller 22. In the present embodiment, the display device 19 of the moving image processing device 3 functions as the output device 4.
[0064]
In such a moving image processing apparatus 3, when the user turns on the power, the CPU 11 starts a program called a loader in the ROM 12, reads a program called an operating system, which manages computer hardware and software, from the HDD 15 into the RAM 13, and Start the operating system. Such an operating system starts a program, reads information, and saves information in response to a user operation. As typical operating systems, Windows (registered trademark), UNIX (registered trademark), and the like are known. The operation programs running on these operating systems are called application programs.
[0065]
Here, the moving image processing device 3 stores a moving image processing program in the HDD 15 as an application program. In this sense, the HDD 15 functions as a storage medium that stores a moving image processing program.
[0066]
Generally, the operation program installed in the secondary storage device 16 such as the HDD 15 of the moving image processing device 3 is stored in an optical information recording medium such as a CD-ROM or a DVD-ROM, or a magnetic medium such as an FD. The recorded operation program is installed in the secondary storage device 16 such as the HDD 15. Therefore, a portable storage medium such as an optical information recording medium such as a CD-ROM or a magnetic medium such as an FD can also be a storage medium for storing the moving image processing program. Further, the moving image processing program may be fetched from outside via the network interface 18 and installed in the secondary storage device 16 such as the HDD 15.
[0067]
When the moving image processing program running on the operating system is started, the moving image processing device 3 causes the CPU 11 to execute various arithmetic processes according to the moving image processing program and centrally control each unit. Among the various types of arithmetic processing executed by the CPU 11 of the moving image processing device 3, the characteristic processing of the present embodiment will be described below.
[0068]
Here, functions realized by various arithmetic processes executed by the CPU 11 of the moving image processing device 3 will be described. As shown in FIG. 11, in the moving image processing apparatus 3, the frame separating unit 31, the JPEG2000 decoder 32 functioning as a decoding unit, the frame position updating unit 34, the decoding quality updating unit 35, the data storage number detecting unit 36, the determining unit 37 functions are realized by various types of arithmetic processing executed by the CPU 11. When real-time performance is important, it is necessary to speed up the processing. For this purpose, it is desirable to separately provide a logic circuit (not shown) and realize various functions by the operation of the logic circuit. The CPU 11 operates in accordance with the moving image processing program to form a frame buffer 33 in the RAM 13.
[0069]
The frame separating unit 31 sequentially extracts the frame data constituting the Motion JPEG2000 data output from the input device 2 based on an instruction from the frame position updating unit 34.
[0070]
The JPEG2000 decoder 32 performs a decompression process on the frame data constituting the Motion JPEG2000 data in accordance with the quality parameter specified by the decoding quality updating unit 35. Here, the quality parameter determines the decoding quality at the time of decoding (decompression) processing, and the decoding is performed by changing the decoding parameter (JPEG2000 layer, truncation value, level, etc.) singly or in combination. Determine quality.
[0071]
The frame buffer 33 holds a maximum of 24 pieces of frame data expanded by the JPEG2000 decoder 32 in the order of registration, and outputs the frame data sequentially from the oldest one.
[0072]
The frame position updating means 34 instructs the frame separating means 31 to skip the next processed frame position by the designated number of frames.
[0073]
The decoding quality updating unit 35 specifies a quality parameter for the decompression process to the JPEG2000 decoder 32.
[0074]
The data accumulation number detection means 36 detects the number of frame data held in the frame buffer 33 and acquires the number (D) of frame data that can be further held in the frame buffer 33.
[0075]
The determination unit 37 updates the quality parameter based on the number (D) of frame data that can be further held in the frame buffer 33 acquired from the data accumulation number detection unit 36, and instructs the frame position to the frame position update unit 34. , And transmits the updated quality parameter to the decoding quality updating means 35. That is, the determination unit 37 functions as a quality parameter calculation unit and a frame position determination unit. In the present embodiment, when the number (D) of data that can be further held in the frame buffer 33 is equal to or more than the first threshold value of 21, the highest quality parameter is set, and the data that can be further held in the frame buffer 33 is determined. When the number (D) is between 5 and 20, the low-quality to high-quality parameters corresponding to the value are associated with each other, and the number (D) of data that can be further held in the frame buffer 33 is the second. If the number is equal to or less than the threshold value of four, a frame drop is instructed by the number of frames corresponding to the remaining amount of data (D).
[0076]
FIG. 12 is a flowchart showing the flow of the process control in the determination means 37. As shown in FIG. 12, as the processing of the determination unit 37, first, the number (D) of data that can be further held in the frame buffer 33 obtained from the data storage number detection unit 36 is obtained (step S1). It is determined whether or not the number (D) of data that can be further stored in 33 is four or less (step S2). If it is determined that the number (D) of data that can be further stored in the frame buffer 33 is not less than four (N in step S2), the number (D) of data that can be further stored in the frame buffer 33 is 21. It is determined whether or not the number is equal to or greater than (Step S3).
[0077]
That is, when it is determined that the number (D) of data that can be further held in the frame buffer 33 is 5 to 20 (N in step S3), the quality parameter is set to a value of the data that can be further held in the frame buffer 33. The quality parameter index (I) based on the number (D) is determined (step S4). That is, the determined quality parameter index (I) is
Quality parameter index (I) ← 20-D
It is.
[0078]
If it is determined that the number (D) of data that can be further held in the frame buffer 33 is 21 or more (Y in step S3), the quality parameter is determined to be the highest quality parameter index (I). (Step S5). That is, the determined quality parameter index (I) is
Quality parameter index (I) ← 0
It is.
[0079]
Further, when it is determined that the number (D) of data that can be further held in the frame buffer 33 is four or less (Y in step S2), the number of frames (S) for dropping frames is calculated (step S2). S6). The number of frames for frame skipping (S) is
Number of frames for dropping frames (S) ← 4-D + 1
Is calculated by
[0080]
Therefore, the frame rate can be reduced only when the number of frame data that can be further held in the frame buffer 33 acquired by the data accumulation number detection unit 36 is very small.
[0081]
Thereafter, the frame position updating means 34 is instructed to a position where the next frame position is advanced by the calculated number of frames (S) (step S7), and the quality parameter is determined as the lowest quality parameter index (I) (step S7). S8). That is, the determined quality parameter index (I) is
Quality parameter index (I) ← 15
It is.
[0082]
Therefore, the quality parameter can be determined by simple processing based on the number of frame data that can be further held in the frame buffer 33 acquired by the data accumulation number detection unit 36.
[0083]
Finally, in step S9, the quality parameter determined in any of steps S4, S5, and S8 is transmitted to the decoding quality updating means 35, and the updating of the quality parameter is instructed.
[0084]
The relationship between the quality parameter index (I) as described above and the number of data (D) that can be further stored in the frame buffer 33 is as shown in FIG.
[0085]
Next, a flow of a series of processing by the various functions described above will be described. The Motion JPEG2000 data output from the input device 2 is cut out for each frame by the frame separating unit 31 based on an instruction from the frame position updating unit 34, and is extracted as single frame data. The frame data extracted by the frame separation unit 31 is subjected to decompression processing by the JPEG2000 decoder 32 according to the quality parameter specified by the decoding quality update unit 35, and is registered in the frame buffer 33. The moving image data registered in the frame buffer 33 is sequentially output to the output device 4 (display device 19) from the oldest one, and the video is displayed on the output device 4 (display device 19).
[0086]
On the other hand, when the number (D) of frame data that can be further held in the frame buffer 33 is acquired by the data accumulation number detection unit 36 in accordance with the number of frame data held in the frame buffer 33, the frame buffer 33 Further, the quality parameter is calculated by the judging means 37 based on the number (D) of frame data that can be held, and a new quality parameter is given to the JPEG2000 decoder 32 by the decoding quality updating means 35. Is updated. That is, when the number (D) of frame data that can be further held in the frame buffer 33 is small, the quality parameter is lowered, and when the number (D) of frame data that can be further held in the frame buffer 33 is large, the quality parameter is changed. It will be raised. If the number (D) of frame data that can be further held in the frame buffer 33 is very small, the frame position updating unit 34 instructs the frame separating unit 31 to drop frames.
[0087]
Here, the JPEG2000 decoder 32 serving as a decoding unit decodes the frame data extracted by the frame separating unit 31 based on the quality parameter. The quality parameter is further stored in the frame buffer 33 obtained from the data accumulation number detecting unit 36. Based on the number of possible frame data, it is calculated by the determining means 37 functioning as a quality parameter calculating means, and is updated by the decoding quality updating means 35 with respect to the decoding means. Further, the frame position to be processed next is determined by the determination unit 37 functioning as the frame position determination unit based on the number of frame data that can be further held in the frame buffer 33 acquired from the data accumulation number detection unit 36, and the frame position is updated. The means 34 instructs the frame separating means 31 on the determined frame position to be processed next. This makes it possible to adaptively control the image quality according to the decompression processing capability, and in principle, adjusts the quality while maintaining the frame rate, thereby causing dropped frames due to a time delay of reproduction. Real-time decompression processing without any problems. Further, even if the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible. In other words, smooth moving image reproduction can be performed with minimum occurrence of dropped frames due to delay in reproduction.
[0088]
In the present embodiment, a personal computer is applied as the moving image processing device 3, but the present invention is not limited to this. For example, a portable information terminal (PDA), a mobile phone, or the like can be applied as the moving image processing device 3.
[0089]
【The invention's effect】
According to the moving image processing apparatus of the present invention, in the moving image processing apparatus for reproducing moving image data compressed using a digital moving image compression method for performing image compression processing using only intra-frame information, Frame separating means for sequentially extracting frame data constituting the image data for each frame; decoding means for decoding the frame data extracted by the frame separating means; and frame data expanded by the decoding means in the order of registration. A frame buffer that is held and sequentially output from the oldest one, and a data accumulation number that detects the number of frame data held in the frame buffer and obtains the number of frame data that can be further held in the frame buffer. Detecting means, and the frame buffer acquired from the data accumulation number detecting means. Quality parameter calculation means for calculating a quality parameter for determining the decoding quality at the time of decoding processing in the decoding means based on the number of frame data which can be further held in the framer, and the frame acquired from the data accumulation number detection means. Frame position determining means for determining a frame position to be processed next based on the number of frame data that can be further stored in the buffer; and decoding for updating the quality parameter calculated by the quality parameter calculating means for the decoding means. Quality updating means, and frame position updating means for instructing the frame separating means at the frame position determined by the frame position determining means, wherein the decoding means converts the frame data extracted by the frame separating means into quality parameters. Decoding based on the The quality parameter is calculated by the quality parameter calculating means based on the number of frame data that can be further held in the frame buffer acquired from the data storage number detecting means, and the decoding quality updating means updates the decoding means to the decoding means. Means for determining the next frame position to be processed based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detection means, and determining the next frame position for the frame separation means by the frame position updating means. By instructing the frame position to be processed, the image quality can be adaptively controlled according to the decompression processing capacity. In principle, the quality is adjusted while maintaining the frame rate, so that the playback time delay Real-time decompression processing without dropping frames due to Even if the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible. In other words, smooth moving image reproduction can be performed with minimum occurrence of dropped frames due to delay in reproduction.
[0090]
According to the second aspect of the present invention, in the moving picture processing apparatus according to the first aspect, the quality parameter calculating unit obtains the number D of frame data that can be further held in the frame buffer acquired from the data storage number detecting unit. Is larger than the first threshold value (D> first threshold value), the quality parameter is set to the highest quality, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection means is equal to the second value. (D <second threshold <first threshold), the quality parameter is set to the lowest quality parameter, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection unit is If the value is smaller than the first threshold and larger than the second threshold (second threshold <D <first threshold), the decision is made stepwise according to the number D of frame data that can be held. With quality parameters that are based on the number of further holding possible frame data to the frame buffer acquired in the data storage speed detecting means, it is possible to determine the quality parameters in a simple process.
[0091]
According to the third aspect of the present invention, in the moving image processing apparatus according to the first aspect, the frame position determining unit obtains the number D of frame data that can be further held in the frame buffer acquired from the data storage number detecting unit. Is smaller than the second threshold value (D <second threshold value <first threshold value), the number of frames for dropping frames is calculated, and the position advanced by this number of frames is set as the next frame position. Accordingly, the frame rate can be reduced only when the number of frame data that can be further held in the frame buffer acquired by the data accumulation number detection means is very small.
[0092]
According to the fourth aspect of the present invention, in the moving image processing apparatus according to any one of the first to third aspects, the digital moving image compression method for performing image compression processing using only intra-frame information is the Motion JPEG2000 method. As a result, a high-compression rate and high-quality moving image can be obtained.
[0093]
According to a fifth aspect of the present invention, there is provided a program for causing a computer to reproduce moving image data compressed using a digital moving image compression method that performs image compression processing using only intra-frame information. A frame separating function for sequentially extracting frame data constituting the moving image data for each frame, a decoding function for decoding the frame data extracted by the frame separating function, and the frame decompressed by the decoding function. Detects the frame buffer that stores data in the order of registration and sequentially outputs data from the oldest one and the number of frame data stored in this frame buffer, and obtains the number of frame data that can be further stored in the frame buffer Function to detect the number of stored data A quality parameter calculation function for calculating a quality parameter for determining a decoding quality in a decoding process in the decoding function based on the number of frame data that can be further held in the frame buffer obtained from the function; Based on the number of frame data that can be further held in the frame buffer obtained from the function, a frame position determining function for determining a frame position to be processed next and the decoding function are calculated by the quality parameter calculating means. A decoding quality updating function for updating a quality parameter and a frame position updating function for designating the frame position determined by the frame position determining function for the frame separating function are executed, and the decoding function is extracted by the frame separating function. Quality data from the frame data The decoding process is performed based on the number of frame data obtained from the data storage number detection function, and the quality parameter is calculated based on the number of frame data that can be further stored in the frame buffer. Also, the frame position to be processed next is determined based on the number of frame data that can be further held in the frame buffer obtained from the data storage number detection function by the frame position determination function, and the frame separation is performed by the frame position update function. By instructing the frame position to be processed next determined for the function, the image quality can be adaptively controlled according to the decompression processing capacity, so in principle, the quality can be maintained while maintaining the frame rate. By adjusting, there is no frame drop due to time delay of playback Even in the case where the real-time decompression process can be performed and the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible. In other words, smooth moving image reproduction can be performed with minimum occurrence of dropped frames due to delay in reproduction.
[0094]
According to a sixth aspect of the present invention, in the program according to the fifth aspect, the quality parameter calculation function is configured to determine that the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function is the first. (D> first threshold), the quality parameter is set to the highest quality, and the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function is smaller than the second threshold. When the number is small (D <second threshold value <first threshold value), the quality parameter is set to the lowest quality parameter, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection function is the first parameter. If the value is smaller than the threshold value and larger than the second threshold value (second threshold value <D <first threshold value), it is determined stepwise according to the number D of frame data that can be held. With quality parameters that, based on the number of further holding possible frame data to the frame buffer acquired in the data storage number detecting function, it is possible to determine the quality parameters in a simple process.
[0095]
According to a seventh aspect of the present invention, in the program according to the fifth aspect, the frame position determination function is configured to determine that the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection function is the second. (D <second threshold <first threshold), the number of frames for dropping frames is calculated, and the position advanced by this number of frames is set as the next frame position. The frame rate can be reduced only when the number of frame data that can be further held in the frame buffer acquired by the accumulated number detection function is very small.
[0096]
According to an eighth aspect of the present invention, in the program according to any one of the fifth to seventh aspects, a digital moving image compression method for performing image compression processing using only intra-frame information is the Motion JPEG2000 method. A high-quality moving image can be obtained with a high compression ratio.
[0097]
According to the computer-readable storage medium of the ninth aspect of the present invention, since the program according to any one of the fifth to eighth aspects is stored, the program stored in the storage medium can be read by the computer. By doing so, the same operation and effect as the invention according to any one of claims 5 to 8 can be obtained.
[0098]
According to the moving image processing method of the invention according to claim 10, a moving image processing method for reproducing moving image data compressed using a digital moving image compression method that performs image compression processing using only intra-frame information, A frame separating step of sequentially extracting frame data constituting the moving image data for each frame; a decoding step of decoding the frame data extracted in the frame separating step; and a decoding step of extracting the frame data expanded in the decoding step. A frame buffer that is stored in the order of registration and is sequentially output from the oldest one, and data that detects the number of frame data stored in the frame buffer and obtains the number of frame data that can be further stored in the frame buffer. An accumulation number detection step, and the frame bar acquired from the data accumulation number detection step. A quality parameter calculating step of calculating a quality parameter for determining a decoding quality in the decoding process in the decoding step based on the number of frame data that can be further held in the frame, and the frame acquired from the data accumulation number detecting step. A frame position determining step of determining a frame position to be processed next based on the number of frame data that can be further held in the buffer; and a decoding step of updating the quality parameter calculated by the quality parameter calculating means for the decoding step. A quality updating step and a frame position updating step for designating the frame position determined by the frame position determining step are performed by computer processing control with respect to the frame separating step, and the decoding step is extracted by the frame separating step. Frame data based on quality parameters The quality parameter is calculated in the quality parameter calculation step based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detection step, and the quality parameter is updated in the decode quality update step. In addition, a frame position to be processed next is determined based on the number of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step in the frame position determination step, and the frame position is updated to the frame separation step by the frame position update step. By instructing the position of the frame to be processed next, which has been determined, the image quality can be adaptively controlled according to the decompression processing capacity. In principle, the quality is adjusted while maintaining the frame rate Real time without dropping frames due to time delay of playback Even when time extension processing can be performed and the frame rate has to be reduced, the image quality and the frame rate can be maintained as much as possible. In other words, smooth moving image reproduction can be performed with minimum occurrence of dropped frames due to delay in reproduction.
[0099]
According to an eleventh aspect of the present invention, in the moving image processing method according to the tenth aspect, in the quality parameter calculating step, the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detecting step is D. Is larger than the first threshold value (D> first threshold value), the quality parameter is set to the highest quality, and the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is equal to the second quality parameter. (D <second threshold <first threshold), the quality parameter of the lowest quality is used, and the number D of frame data that can be further held in the frame buffer acquired from the data storage number detection step is If the value is smaller than the first threshold value and larger than the second threshold value (second threshold value <D <first threshold value), steps are performed according to the number D of frame data that can be held. With determined quality parameter, based on the number of further holding possible frame data to the frame buffer acquired in the data storage number detecting step, it is possible to determine the quality parameters in a simple process.
[0100]
According to a twelfth aspect of the present invention, in the moving image processing method according to the tenth aspect, the frame position determining step includes the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detecting step. Is smaller than the second threshold value (D <second threshold value <first threshold value), the number of frames for dropping frames is calculated, and the position advanced by this number of frames is set as the next frame position. Accordingly, the frame rate can be reduced only when the number of frame data that can be further held in the frame buffer acquired in the data accumulation number detection step is very small.
[0101]
According to a thirteenth aspect of the present invention, in the moving image processing method according to any one of the tenth to twelfth aspects, the digital moving image compression method for performing image compression processing using only intra-frame information is the Motion JPEG2000 method. As a result, a high-compression rate and high-quality moving image can be obtained.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a system for realizing a hierarchical coding algorithm which is a basis of the JPEG2000 system on which the present invention is based.
FIG. 2 is an explanatory diagram showing a divided rectangular area of each component of an original image.
FIG. 3 is an explanatory diagram showing subbands at each decomposition level when the number of decomposition levels is three.
FIG. 4 is an explanatory diagram showing a precinct.
FIG. 5 is an explanatory diagram showing an example of a procedure for ranking bit planes.
FIG. 6 is an explanatory diagram showing a schematic configuration of one frame of code string data.
FIG. 7 is an explanatory diagram showing a code stream structure in which packets containing encoded wavelet coefficient values are represented for each subband.
FIG. 8 is an explanatory diagram showing the concept of Motion JPEG2000.
FIG. 9 is a block diagram illustrating an overall configuration of a moving image output system according to an embodiment of the present invention.
FIG. 10 is a module configuration diagram of the moving image processing apparatus.
FIG. 11 is a functional block diagram showing functions realized by processing executed by a CPU based on a moving image processing program.
FIG. 12 is a flowchart illustrating a flow of a process control in a determination unit.
FIG. 13 is a graph showing a relationship between a quality parameter index (I) and the number of data that can be further stored in a frame buffer (D).
[Explanation of symbols]
3 Moving image processing device
15 Storage media
31 Frame separation means
32 Decoding means
33 frame buffer
34 Frame position updating means
35 Decoding quality updating means
36 Data storage number detection means
37 quality parameter calculating means, frame position determining means

Claims (13)

フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理装置において、
前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離手段と、
このフレーム分離手段により取り出されたフレームデータをデコード処理するデコード手段と、
このデコード手段で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、
このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出手段と、
このデータ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード手段におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出手段と、
前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定手段と、
前記デコード手段に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新手段と、
前記フレーム分離手段に対し、前記フレーム位置決定手段により決定されたフレーム位置を指示するフレーム位置更新手段と、
を備えることを特徴とする動画像処理装置。
In a moving image processing apparatus that reproduces moving image data compressed using a digital moving image compression method that performs image compression processing based on only intra-frame information,
Frame separating means for sequentially extracting frame data constituting the moving image data frame by frame;
Decoding means for decoding the frame data extracted by the frame separating means;
A frame buffer for holding the frame data expanded by the decoding means in the order of registration, and sequentially outputting the frame data in an order from the oldest one;
A data storage number detection unit that detects the number of frame data stored in the frame buffer and obtains the number of frame data that can be further stored in the frame buffer;
Quality parameter calculating means for calculating a quality parameter for determining a decoding quality at the time of decoding processing in the decoding means, based on the number of frame data which can be further held in the frame buffer obtained from the data accumulation number detecting means,
Frame position determining means for determining a frame position to be processed next based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detecting means,
Decoding quality updating means for updating the quality parameter calculated by the quality parameter calculating means, for the decoding means,
Frame position updating means for indicating to the frame separating means the frame position determined by the frame position determining means,
A moving image processing apparatus comprising:
前記品質パラメータ算出手段は、
前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、
前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、
前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとする、
ことを特徴とする請求項1記載の動画像処理装置。
The quality parameter calculation means,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection means is larger than a first threshold (D> first threshold), the quality parameter is set to the highest quality.
If the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection means is smaller than a second threshold (D <second threshold <first threshold), the quality parameter of the lowest quality age,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection means is smaller than a first threshold and larger than a second threshold (second threshold <D <first threshold) Is a quality parameter that is determined stepwise according to the number D of frame data that can be held.
The moving image processing apparatus according to claim 1, wherein:
前記フレーム位置決定手段は、
前記データ蓄積数検出手段から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とする、
ことを特徴とする請求項1記載の動画像処理装置。
The frame position determining means,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection means is smaller than a second threshold value (D <second threshold value <first threshold value), a frame drop The number of frames is calculated, and the position advanced by this number of frames is set as the next frame position.
The moving image processing apparatus according to claim 1, wherein:
フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式であることを特徴とする請求項1ないし3のいずれか一記載の動画像処理装置。4. The moving image processing apparatus according to claim 1, wherein a digital moving image compression method for performing image compression processing using only intra-frame information is a Motion JPEG2000 method. フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データの再生をコンピュータに実行させるプログラムであって、前記コンピュータに、
前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離機能と、
このフレーム分離機能により取り出されたフレームデータをデコード処理するデコード機能と、
このデコード機能で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、
このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出機能と、
このデータ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード機能におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出機能と、
前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定機能と、
前記デコード機能に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新機能と、
前記フレーム分離機能に対し、前記フレーム位置決定機能により決定されたフレーム位置を指示するフレーム位置更新機能と、
を実行させることを特徴とするプログラム。
A program that causes a computer to execute reproduction of moving image data compressed using a digital moving image compression method that performs image compression processing based on only intra-frame information.
A frame separation function for sequentially extracting frame data constituting the moving image data for each frame;
A decoding function for decoding frame data extracted by the frame separating function;
A frame buffer for holding the frame data expanded by the decoding function in the order of registration, and sequentially outputting the frame data in an order of time,
A data accumulation number detection function for detecting the number of frame data held in the frame buffer and obtaining the number of frame data that can be further held in the frame buffer;
A quality parameter calculation function for calculating a quality parameter for determining a decoding quality at the time of decoding processing in the decoding function, based on the number of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function;
A frame position determination function for determining a frame position to be processed next based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detection function;
For the decoding function, a decoding quality update function for updating the quality parameter calculated by the quality parameter calculation means,
For the frame separation function, a frame position update function for indicating a frame position determined by the frame position determination function,
A program characterized by executing
前記品質パラメータ算出機能は、
前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、
前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、
前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとする、
ことを特徴とする請求項5記載のプログラム。
The quality parameter calculation function,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function is larger than a first threshold (D> first threshold), the quality parameter is set to the highest quality parameter;
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function is smaller than a second threshold (D <second threshold <first threshold), the quality parameter of the lowest quality is used. age,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function is smaller than the first threshold and larger than the second threshold (second threshold <D <first threshold) Is a quality parameter that is determined stepwise according to the number D of frame data that can be held.
The program according to claim 5, characterized in that:
前記フレーム位置決定機能は、
前記データ蓄積数検出機能から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とする、
ことを特徴とする請求項5記載のプログラム。
The frame position determination function includes:
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection function is smaller than a second threshold value (D <second threshold value <first threshold value), a frame drop The number of frames is calculated, and the position advanced by this number of frames is set as the next frame position.
The program according to claim 5, characterized in that:
フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式であることを特徴とする請求項5ないし7のいずれか一記載のプログラム。The program according to any one of claims 5 to 7, wherein a digital moving image compression method for performing image compression processing using only intra-frame information is the Motion JPEG2000 method. 請求項5ないし8のいずれか一記載のプログラムを記憶していることを特徴とするコンピュータに読取り可能な記憶媒体。A computer-readable storage medium storing the program according to any one of claims 5 to 8. フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式を用いて圧縮された動画像データを再生する動画像処理方法であって、
前記動画像データを構成するフレームデータを1フレーム毎に順次取り出すフレーム分離工程と、
このフレーム分離工程により取り出されたフレームデータをデコード処理するデコード工程と、
このデコード工程で伸長された前記フレームデータを登録順に保持し、時間的に古いものから順次出力するフレームバッファと、
このフレームバッファに保持されているフレームデータの数を検出し、当該フレームバッファに更に保持可能なフレームデータの数を取得するデータ蓄積数検出工程と、
このデータ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、前記デコード工程におけるデコード処理の際のデコード品質を決定する品質パラメータを算出する品質パラメータ算出工程と、
前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数を基に、次に処理するフレーム位置を決定するフレーム位置決定工程と、
前記デコード工程に対し、前記品質パラメータ算出手段により算出された品質パラメータを更新するデコード品質更新工程と、
前記フレーム分離工程に対し、前記フレーム位置決定工程により決定されたフレーム位置を指示するフレーム位置更新工程と、
をコンピュータの処理制御により行なうことを特徴とする動画像処理方法。
A moving image processing method for reproducing moving image data that has been compressed using a digital moving image compression method that performs image compression processing based on only intra-frame information,
A frame separation step of sequentially extracting frame data constituting the moving image data for each frame;
A decoding step of decoding frame data extracted in the frame separation step;
A frame buffer for holding the frame data decompressed in the decoding step in the order of registration, and sequentially outputting the frame data from the oldest one;
A data accumulation number detection step of detecting the number of frame data held in the frame buffer and acquiring the number of frame data that can be further held in the frame buffer;
A quality parameter calculating step of calculating a quality parameter for determining a decoding quality in a decoding process in the decoding step, based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detecting step;
A frame position determining step of determining a frame position to be processed next based on the number of frame data that can be further held in the frame buffer obtained from the data accumulation number detecting step;
For the decoding step, a decoding quality updating step of updating the quality parameter calculated by the quality parameter calculating means,
For the frame separation step, a frame position update step of indicating the frame position determined by the frame position determination step,
Moving image processing under the control of a computer.
前記品質パラメータ算出工程は、
前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より多い場合(D>第1の閾値)には最高品質の品質パラメータとし、
前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)には最低品質の品質パラメータとし、
前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第1の閾値より少なくて第2の閾値より多い場合(第2の閾値<D<第1の閾値)には保持可能なフレームデータの数Dに応じて段階的に決められる品質パラメータとする、
ことを特徴とする請求項10記載の動画像処理方法。
The quality parameter calculating step,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is larger than a first threshold (D> first threshold), the quality parameter is set to the highest quality.
If the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is smaller than a second threshold (D <second threshold <first threshold), the quality parameter of the lowest quality age,
When the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is smaller than a first threshold and larger than a second threshold (second threshold <D <first threshold) Is a quality parameter that is determined stepwise according to the number D of frame data that can be held.
The moving image processing method according to claim 10, wherein:
前記フレーム位置決定工程は、
前記データ蓄積数検出工程から取得した前記フレームバッファに更に保持可能なフレームデータの数Dが第2の閾値より少ない場合(D<第2の閾値<第1の閾値)に、コマ落しのためのコマ数を算出し、このコマ数分だけ進めた位置を次のフレーム位置とする、
ことを特徴とする請求項10記載の動画像処理方法。
The frame position determining step includes:
If the number D of frame data that can be further held in the frame buffer acquired from the data accumulation number detection step is smaller than a second threshold value (D <second threshold value <first threshold value), a frame drop The number of frames is calculated, and the position advanced by this number of frames is set as the next frame position.
The moving image processing method according to claim 10, wherein:
フレーム内情報のみによる画像圧縮処理を行うデジタル動画像圧縮方式は、Motion JPEG2000方式であることを特徴とする請求項10ないし12のいずれか一記載の動画像処理方法。13. The moving image processing method according to claim 10, wherein a digital moving image compression method for performing image compression processing using only intra-frame information is a Motion JPEG2000 method.
JP2003129808A 2003-05-08 2003-05-08 Dynamic image processing apparatus, program, storage medium, and dynamic image processing method Pending JP2004336405A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003129808A JP2004336405A (en) 2003-05-08 2003-05-08 Dynamic image processing apparatus, program, storage medium, and dynamic image processing method
US10/840,368 US7433524B2 (en) 2003-05-08 2004-05-07 Processing system with frame rate and image quality optimized

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003129808A JP2004336405A (en) 2003-05-08 2003-05-08 Dynamic image processing apparatus, program, storage medium, and dynamic image processing method

Publications (1)

Publication Number Publication Date
JP2004336405A true JP2004336405A (en) 2004-11-25

Family

ID=33505505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003129808A Pending JP2004336405A (en) 2003-05-08 2003-05-08 Dynamic image processing apparatus, program, storage medium, and dynamic image processing method

Country Status (1)

Country Link
JP (1) JP2004336405A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006107454A2 (en) 2005-03-31 2006-10-12 Symbol Technologies, Inc. Systems and methods for dataform decoding
JP2010166386A (en) * 2009-01-16 2010-07-29 Casio Computer Co Ltd Motion picture playback apparatus and program
CN102905139A (en) * 2008-12-22 2013-01-30 联发科技股份有限公司 Video decoding method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006107454A2 (en) 2005-03-31 2006-10-12 Symbol Technologies, Inc. Systems and methods for dataform decoding
EP1864241A2 (en) * 2005-03-31 2007-12-12 Symbol Technologies, Inc. Systems and methods for dataform decoding
EP1864241A4 (en) * 2005-03-31 2011-07-27 Symbol Technologies Inc Systems and methods for dataform decoding
CN102905139A (en) * 2008-12-22 2013-01-30 联发科技股份有限公司 Video decoding method
JP2010166386A (en) * 2009-01-16 2010-07-29 Casio Computer Co Ltd Motion picture playback apparatus and program

Similar Documents

Publication Publication Date Title
TWI436286B (en) Method and apparatus for decoding image
JP4392783B2 (en) Movie reproduction system, movie transmission device, movie transmission method, program, and recording medium
JP4350342B2 (en) Image processing apparatus, image recording apparatus, camera system, program, storage medium, and image processing method
JP2007142614A (en) Image processing apparatus and method, program, and information recording medium
JP2003179759A (en) Still image decompression device
US7957604B2 (en) Moving image coding apparatus, moving image decoding apparatus, control method therefor, and computer-readable storage medium
JP4190157B2 (en) Image data transmitting apparatus and image data receiving apparatus
JP3952459B2 (en) Image processing apparatus, program, storage medium, and image processing method
US7433524B2 (en) Processing system with frame rate and image quality optimized
JP2004336405A (en) Dynamic image processing apparatus, program, storage medium, and dynamic image processing method
JP4361755B2 (en) Moving image processing apparatus, program, storage medium, and moving image processing method
JP4145086B2 (en) Image decoding apparatus, image processing apparatus, moving image display system, program, storage medium, and image decoding method
JP4124436B2 (en) Motion estimation device, program, storage medium, and motion estimation method
JP2006129248A (en) Image encoding and decoding method and apparatus thereof
JP3954459B2 (en) Moving image processing apparatus, moving image processing method, and surveillance camera system
JP4489474B2 (en) Image processing apparatus, program, and recording medium
JP2002369202A (en) Image compression device, image expansion device, image compressing method, image expanding method, program and recording medium stored with the program
JP4040404B2 (en) Code string conversion apparatus and method, image processing apparatus, and image recording apparatus
JP2004056260A (en) Image decoder, image processor, program, recording medium and image decoding method
JP4667423B2 (en) Image decoding device
JP2004096695A (en) Image processing apparatus, image display device, program, storage medium, and image processing method
JP2011045138A (en) Method for decoding image
JP4667424B2 (en) Image decoding device
JP2004214983A (en) Image processing method
JP2005110145A (en) Code string converter, code string converting method, photographing system, image display system, monitoring system, program, and information recording

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041012

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060417

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909