Nothing Special   »   [go: up one dir, main page]

JP2006101321A - 情報処理装置および同装置で用いられるプログラム - Google Patents

情報処理装置および同装置で用いられるプログラム Download PDF

Info

Publication number
JP2006101321A
JP2006101321A JP2004286541A JP2004286541A JP2006101321A JP 2006101321 A JP2006101321 A JP 2006101321A JP 2004286541 A JP2004286541 A JP 2004286541A JP 2004286541 A JP2004286541 A JP 2004286541A JP 2006101321 A JP2006101321 A JP 2006101321A
Authority
JP
Japan
Prior art keywords
computer
load
block
information processing
processing apparatus
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
JP2004286541A
Other languages
English (en)
Inventor
Noriaki Kitada
典昭 北田
Kosuke Uchida
耕輔 内田
Satoshi Hoshina
聡 保科
Yoshihiro Kikuchi
義浩 菊池
Yuji Kawashima
裕司 川島
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004286541A priority Critical patent/JP2006101321A/ja
Priority to EP05107386A priority patent/EP1646243B1/en
Priority to DE602005015067T priority patent/DE602005015067D1/de
Priority to US11/210,308 priority patent/US8040951B2/en
Priority to CNB2006100891463A priority patent/CN100466737C/zh
Publication of JP2006101321A publication Critical patent/JP2006101321A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】大幅な画質低下を招くことなく、動画像ストリームのデコードをスムーズに実行することが可能な情報処理装置を実現する。
【解決手段】ビデオ再生アプリケーションプログラム201は、コンピュータ10の現在の負荷量を検出する。コンピュータ10が高負荷状態ではないならば、ビデオ再生アプリケーションプログラム201は、通常の手順で動画像ストリームをデコードする。コンピュータ10が高負荷状態になると、ビデオ再生アプリケーションプログラム201は、各ブロックに含まれる直交変換係数(DCT係数)の値に基づいて予測誤差成分が所定値よりも少ないブロックを検出する。そして、ビデオ再生アプリケーションプログラム201は、検出されたブロックに対する逆直交変換処理(逆DCT処理)の実行をスキップして、当該検出されたブロックの予測誤差信号を零とする処理を実行する。
【選択図】 図5

Description

本発明はパーソナルコンピュータのような情報処理装置および同装置で用いられるデコード用のプログラムに関する。
近年、DVD(Digital Versatile Disc)プレーヤ、TV装置のようなオーディオ・ビデオ(AV)機器と同様のAV機能を備えたパーソナルコンピュータが開発されている。
このようなパーソナルコンピュータにおいては、圧縮符号化された動画像ストリームをソフトウェアによってデコードするソフトウェアデコーダが用いられている。ソフトウェアデコーダの使用により、専用のハードウェアを設けることなく、圧縮符号化された動画像ストリームをプロセッサ(CPU)によってデコードすることが可能になる。
代表的な圧縮符号化技術としては、動き補償フレーム間予測符号化と直交変換とを組み合わせたハイブリッド符号化が知られている。デコーダとしては、逆DCT(逆直交変換)部および動き補償処理部とを備えたシステムが知られている(例えば、特許文献1参照)。このシステムにおいては、逆DCT処理に要する処理量を低減するために、PピクチャまたはBピクチャに対する逆DCT処理を省略するという制御が実行される。
特開平11−146398号公報
しかし、上記システムでは、PピクチャまたはBピクチャに対する逆DCT処理はDCT係数の値とは無関係に常に省略されてしまうので、再生画像の画質が大幅に低下する危険がある。
ところで、最近では、次世代の動画像圧縮符号化技術として、H.264/AVC(AVC:Advanced Video Coding)規格が注目されている。H.264/AVC規格は、MPEG2、MPEG4のような従来の圧縮符号化技術よりも高能率の圧縮符号化技術であり、HD(High Definition)のような高精細画像の符号化に使用される。このため、H.264/AVC規格に対応するエンコード処理およびデコード処理の各々においては、MPEG2、MPEG4のような従来の圧縮符号化技術よりも多くの処理量が必要とされる。
したがって、H.264/AVC規格で圧縮符号化された動画像ストリームをソフトウェアによってデコードするように設計されたパーソナルコンピュータにおいては、高精細画像の再生が可能になる反面、システムの負荷が増大すると、デコード処理自体に遅れが生じ、これによってスムーズな動画再生を実行できなくなる危険がある。
本発明は上述の事情を考慮してなされたものであり、大幅な画質低下を招くことなく、圧縮符号化された動画像ストリームをスムーズにデコードすることが可能な情報処理装置およびプログラムを提供することを目的とする。
上述の課題を解決するため、本発明は、圧縮符号化された動画像ストリームをデコードする情報処理装置において、デコード対象画面に対応する直交変換係数を所定のブロック単位で画素値に変換する逆直交変換処理を実行して前記デコード対象画面に対応する予測誤差信号を生成する逆直交変換手段と、前記デコード対象画面が参照する1以上のデコードされた画面から生成されたフレーム間予測信号および前記デコード対象画面から生成されるフレーム内予測信号の一方と前記逆直交変換手段によって生成された予測誤差信号とを加算して前記デコード対象画面をデコードする手段と、前記情報処理装置の負荷を検出する負荷検出手段と、前記負荷検出手段によって検出された負荷が所定の基準値以上である場合、前記デコード対象画面の各ブロックに含まれる直交変換係数の値に基づいて予測誤差成分が所定値よりも少ないブロックを検出すると共に、前記検出されたブロックに対する逆直交変換処理の実行をスキップして前記検出されたブロックの予測誤差信号を零とする処理を実行する制御手段とを具備することを特徴とする。
本発明によれば、大幅な画質低下を招くことなく、動画像ストリームのデコードをスムーズに実行することが可能となる。
以下、図面を参照して、本発明の実施形態を説明する。
まず、図1および図2を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ10として実現されている。
図1はノートブック型パーソナルコンピュータ10のディスプレイユニットを開いた状態における正面図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12にはLCD(Liquid Crystal Display)17から構成される表示装置が組み込まれており、そのLCD17の表示画面はディスプレイユニット12のほぼ中央に位置されている。
ディスプレイユニット12は、コンピュータ本体11に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体11は薄い箱形の筐体を有しており、その上面にはキーボード13、本コンピュータ1を電源オン/オフするためのパワーボタン14、入力操作パネル15、およびタッチパッド16などが配置されている。
入力操作パネル15は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、TV起動ボタン15A、DVD(Digital Versatile Disc)起動ボタン15Bも含まれている。TV起動ボタン15Aは、デジタルTV放送番組のような放送番組データの再生及び記録を行うためのTV機能を起動するためのボタンである。TV起動ボタン15Aがユーザによって押下された時、TV機能を実行するためのアプリケーションプログラムが自動的に起動される。DVD起動ボタン15Bは、DVDに記録されたビデオコンテンツを再生するためのボタンである。DVD起動ボタン15Bがユーザによって押下された時、ビデオコンテンツを再生するためのアプリケーションプログラムが自動的に起動される。
次に、図2を参照して、本コンピュータ10のシステム構成について説明する。
本コンピュータ10は、図2に示されているように、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ119、BIOS−ROM120、ハードディスクドライブ(HDD)121、光ディスクドライブ(ODD)122、デジタルTV放送チューナ123、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124、およびネットワークコントローラ125等を備えている。
CPU111は本コンピュータ10の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ(HDD)121から主メモリ113にロードされる、オペレーティングシステム(OS)、およびビデオ再生アプリケーションプログラム201のような各種アプリケーションプログラムを実行する。
ビデオ再生アプリケーションプログラム201は、圧縮符号化された動画像データをデコードおよび再生するためのソフトウェアである。このビデオ再生アプリケーションプログラム201は、H.264/AVC規格に対応するソフトウェアデコーダである。ビデオ再生アプリケーションプログラム201は、H.264/AVC規格で定義された符号化方式で圧縮符号化されている動画像ストリーム(例えば、デジタルTV放送チューナ123によって受信されたデジタルTV放送番組、光ディスクドライブ(ODD)122から読み出されるHD(High Definition)規格のビデオコンテンツ、など)をデコードするための機能を有している。
このビデオ再生アプリケーションプログラム201は、図3に示すように、負荷検出モジュール211、デコード制御モジュール212、およびデコード実行モジュール213を備えている。
デコード実行モジュール213は、H.264/AVC規格で定義されたデコード処理を実行するデコーダである。負荷検出モジュール211は、コンピュータ10の負荷を検出するモジュールである。この負荷検出モジュール211は、例えば、オペレーティングシステム(OS)200にコンピュータ10の現在の負荷を問い合わせることによって、コンピュータ10の現在の負荷量を検出する。コンピュータ10の負荷量は、例えば、CPU111の使用率に基づいて決定される。
また、コンピュータ10の負荷量は、CPU111の使用率とメモリ113の使用率との組み合わせによって決定することもできる。通常、ソフトウェアデコーダをスムーズに実行するためには、ある一定サイズ以上のメモリが必要である。システムのメモリ使用率が高くなると、OSのページングにより、ソフトウェアデコーダのデコードパフォーマンスは低下する。よって、CPU111の使用率とメモリ113の使用率との組み合わせによってコンピュータ10の負荷量を検出することにより、コンピュータ10の現在の負荷量がソフトウェアデコーダの実行に支障を来す負荷量(高負荷状態)であるかどうかをより精度よく判別することができる。
デコード制御モジュール212は、負荷検出モジュール211によって検出されたコンピュータ10の負荷に応じて、デコード実行モジュール213によって実行されるデコード処理の内容を制御する。
具体的には、デコード制御モジュール212は、コンピュータ10の負荷量が予め決められた基準値以下である場合には、H.264/AVC規格で定義されたデコード処理がCPU111によって実行されるように、デコード実行モジュール213によって実行すべきデコード処理の内容を制御する。一方、コンピュータ10の負荷量が基準値よりも大きい場合には(高負荷状態)、デコード制御モジュール212は、H.264/AVC規格で定義されたデコード処理の一部が省略または簡略された処理に置換されるように、デコード実行モジュール213によって実行すべきデコード処理の内容を制御する。
ビデオ再生アプリケーションプログラム201によってデコードされた動画像データは、表示ドライバ202を介してグラフィクスコントローラ114のビデオメモリ114Aに順次書き込まれる。これにより、デコードされた動画像データはLCD17に表示される。表示ドライバ202はグラフィクスコントローラ114を制御するためのソフトウェアである。
また、CPU111は、BIOS−ROM120に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。
ノースブリッジ112はCPU111のローカルバスとサウスブリッジ119との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ113をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ112は、AGP(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ114との通信を実行する機能も有している。
グラフィクスコントローラ114は本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このグラフィクスコントローラ114はビデオメモリ(VRAM)114Aに書き込まれた画像データからLCD17に送出すべき表示信号を生成する。
サウスブリッジ119は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ119は、HDD121、ODD122を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ119は、デジタルTV放送チューナ123を制御する機能、およびBIOS−ROM120をアクセス制御するための機能も有している。
HDD121は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ(ODD)123は、ビデオコンテンツが格納されたDVDなどの記憶メディアを駆動するためのドライブユニットである。デジタルTV放送チューナ123は、デジタルTV放送番組のような放送番組データを外部から受信するための受信装置である。
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。さらに、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124は、ユーザによるTV起動ボタン15A、DVD起動ボタン15Bの操作に応じて、本コンピュータ10をパワーオンすることもできる。ネットワークコントローラ125は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
次に、図4を参照して、ビデオ再生アプリケーションプログラム201によって実現されるソフトウェアデコーダの機能構成を説明する。
ビデオ再生アプリケーションプログラム201のデコード実行モジュール213は、H.264/AVC規格に対応しており、図示のように、エントロピー復号部301、逆量子化部302、逆DCT部(DCT:Discrete Cosine Transform)303、加算部304、デブロッキングフィルタ部305、フレームメモリ306、動きベクトル予測部307、補間予測部308、重み付き予測部309、イントラ予測部310、およびモード切替スイッチ部311を含む。H.264の直交変換は整数精度であり、従来のDCTとは異なるが、ここではDCTと称することとする。
各画面(ピクチャ)の符号化は、たとえば16x16画素のマクロブロック単位で実行される。各マクロブロックごとに、フレーム内符号化モード(イントラ符号化モード)および動き補償フレーム間予測符号化モード(インター符号化モード)のいずれか一方が選択される。
動き補償フレーム間予測符号化モードにおいては、既に符号化された画面(ピクチャ)からの動きを推定することによって、符号化対象画面に対応する動き補償フレーム間予測信号が定められた形状単位で生成される。そして、符号化対象画面(ピクチャ)から動き補償フレーム間予測信号を引いた予測誤差信号が、直交変換(DCT)、量子化、およびエントロピー符号化によって、符号化される。また、イントラ符号化モードにおいては、符号化対象画面(ピクチャ)から予測信号が生成され、その予測信号が直交変換(DCT)、量子化、およびエントロピー符号化によって、符号化される。
H.264/AVC規格に対応するコーデックは、さらに圧縮率を高めるために、
(1)従来のMPEGよりも高い画素精度(1/4画素精度)の動き補償
(2)フレーム内符号化を効率的に行うためのフレーム内予測
(3)ブロック歪みを低減するためのデブロッキングフィルタ
(4)4x4画素単位の整数DCT
(5)任意の位置の複数の画面(ピクチャ)を参照画面として使用可能なマルチリファレンスフレーム
(6)重み付け予測
等の技術を利用する。
以下、図4のソフトウェアデコーダの動作を説明する。
H.264/AVC規格にしたがって圧縮符号化された動画像ストリームは、まず、エントロピー復号部301に入力される。圧縮符号化された動画像ストリームには、符号化された画像情報の他に、動き補償フレーム間予測符号化(インター予測符号化)で用いられた動きベクトル情報、フレーム内予測符号化(イントラ予測符号化)で用いられたフレーム内予測情報、予測モード(インター予測符号化/イントラ予測符号化)を示すモード情報等が含まれている。
デコード処理は、たとえば16x16画素のマクロブロック単位で実行される。エントロピー復号部301は動画像ストリームに対して可変長復号のようなエントロピー復号処理を施して、動画像ストリームから、量子化DCT係数、動きベクトル情報(動きベクトル差分情報)、フレーム内予測情報、およびモード情報を分離する。この場合、例えば、デコード対象画面(ピクチャ)内の各マクロブロックは4x4画素(または8x8画素)のブロック毎にエントロピー復号処理され、各ブロックは4x4(または8x8画素)の量子化DCT係数に変換される。以下では、各ブロックが4x4である場合を想定する。
動きベクトル情報は、動きベクトル予測部307に送られる。フレーム内予測情報は、イントラ予測部310に送られる。モード情報はモード切替スイッチ部311に送られる。
各デコード対象ブロックの4x4の量子化DCT係数は、逆量子化部302による逆量子化処理により4x4のDCT係数(直交変換係数)に変換される。この4x4のDCT係数は、逆DCT部303による逆整数DCT(逆直交変換)処理によって、周波数情報から、4x4の画素値に変換される。この4x4の画素値は、デコード対象ブロックに対応する予測誤差信号である。この予測誤差信号は加算部304に送られ、そこでデコード対象ブロックに対応する予測信号(動き補償フレーム間予測信号またはフレーム内予測信号)が加算され、これによってデコード対象ブロックに対応する4x4の画素値がデコードされる。
イントラ予測モードにおいては、モード切替スイッチ部311によってイントラ予測部310が選択され、これによってイントラ予測部310からのフレーム内予測信号が予測誤差信号に加算される。インター予測モードにおいては、モード切替スイッチ部311によって重み付き予測部309が選択され、これによって、動きベクトル予測部307、補間予測部308、および重み付き予測部309によって得られる動き補償フレーム間予測信号が予測誤差信号に加算される。
このように、デコード対象画面に対応する予測誤差信号に予測信号(動き補償フレーム間予測信号またはフレーム内予測信号)を加算してデコード対象画面をデコードする処理が所定のブロック単位で実行される。
デコードされた各画面(ピクチャ)は、デブロッキングフィルタ部305によってデブロッキングフィルタ処理が施された後に、フレームメモリ306に格納される。このデブロッキングフィルタ部305は、例えば4x4画素のブロック単位で、デコードされた各画面に対してブロックノイズを低減するためのデブロッキングフィルタ処理を施す。このデブロッキングフィルタ処理は、ブロック歪みが参照画像に含まれてしまい、これによってブロック歪みが復号画像に伝搬してしまうことを防止する。デブロッキングフィルタ処理のための処理量は膨大であり、ソフトウェアデコーダの全処理量の50パーセントを占める場合もある。デブロッキングフィルタ処理は、ブロック歪みが生じやすい箇所に対してはより強いフィリタリングが施され、ブロック歪みが生じにくい箇所に対しては弱いフィリタリングが施されるように、適応的に実行される。デブロッキングフィルタ処理はループフィルタ処理によって実現されている。
そして、デブロッキングフィルタ処理された各画面は、フレームメモリ306から出力画像フレーム(または出力画像フィールド)として読み出される。また、動き補償フレーム間予測のための参照画像として使用されるべき各画面(参照画面)は、フレームメモリ306内に一定期間保持される。H.264/AVC規格の動き補償フレーム間予測符号化においては、複数の画面を参照画面として使用することができる。このため、フレームメモリ306は、複数画面分の画像を記憶するための複数個のフレームメモリ部を備えている。
動きベクトル予測部307は、デコード対象ブロックに対応する動きベクトル差分情報に基づいて、動きベクトル情報を生成する。補間予測部308は、デコード対象ブロックに対応する動きベクトル情報に基づいて、参照画面内の、整数精度の画素群および1/4画素精度の予測補間画素群から、動き補償フレーム間予測信号を生成する。1/4画素精度の予測補間画素の生成においては、6タップフィルタ(入力6つ、出力1つ)が用いられる。このため、高周波成分まで考慮した高精度の予測補間処理を実行できるが、その分、動き補償には多くの処理量が必要となる。
重み付け予測部309は、動き補償フレーム間予測信号に対して重み係数を乗じる処理を動き補償ブロック単位で実行することにより、重み付けされた動き補償フレーム間予測信号を生成する。この重み付け予測は、デコード対象画面の明るさを予測する処理である。この重み付け予測処理により、フェード・イン、フェード・アウトのように、明るさが時間の経過と共に変化する画像の画質を向上することができる。しかし、その分、ソフトウェアデコードに必要な処理量は増大する。
イントラ予測部310は、デコード対象画面からその画面内に含まれるデコード対象ブロックのフレーム内予測信号を生成するものである。このイントラ予測部310は、上述のフレーム内予測情報に従って画面内予測処理を実行して、デコード対象ブロックと同一画面内に存在する、当該デコード対象ブロックに近接する既にデコードされた他のブロック内の画素値からフレーム内予測信号を生成する。このフレーム内予測(イントラ予測)は、ブロック間の画素相関を利用して圧縮率を高める技術である。このフレーム内予測においては、フレーム内予測情報に従って、垂直予測(予測モード0)、水平予測(予測モード1)、平均値予測(予測モード3)、平面予測(予測モード4)を含む4種類の予測モードの内の一つが、フレーム内予測ブロック(例えば16x16画素)単位で選択される。平面予測が選択される頻度は他のフレーム内予測モードよりも低いが、平面予測のために必要とされる処理量は、他のどのフレーム内予測モードの処理量よりも多い。
本実施形態においては、たとえコンピュータ10の負荷が増大しても時間制約内に動画像ストリームをリアルタイムにデコードできるようにするために、コンピュータ10の負荷に応じて、図4で説明したデコード処理(以下、通常デコード処理と称する)と、特殊デコード処理とを選択的に実行する。特殊デコード処理は、逆DCT(逆直交変換)処理の実行を簡略化したデコード処理である。特殊デコード処理においては、各ブロックに含まれるDCT係数の値に基づいて予測誤差成分が所定値よりも少ないブロックが検出され、当該検出されたブロックの逆DCT(逆直交変換)処理の実行がスキップされる。逆DCT処理がスキップされたブロックに対応する予測誤差信号は零として扱われる。この結果、当該ブロックは予測信号(動き補償フレーム間予測信号またはフレーム内予測信号)のみによってデコードされることになる。
以下、図5のフローチャートを参照して、ビデオ再生アプリケーションプログラム201によって実行されるデコード処理の手順を説明する。
ビデオ再生アプリケーションプログラム201は、デコード処理の実行期間中、OSに対してコンピュータ10の現在の負荷を問い合わせることによってコンピュータ10の現在の負荷を検出する処理を定期的に繰り返し実行する(ステップS101)。このステップS101においては、ビデオ再生アプリケーションプログラム201は、CPU111の現在の使用率(プロセッサ使用率)と主メモリ113の現在の使用率(メモリ使用率)とをOSから取得する。
そして、ビデオ再生アプリケーションプログラム201は、コンピュータ10の現在の負荷量が所定の基準値よりも大きいかどうかによって、コンピュータ10が高負荷状態であるかどうかを判別する(ステップS102)。ステップS102においては、例えば、ビデオ再生アプリケーションプログラム201は、現在のプロセッサ使用率が予め決められたプロセッサ基準使用率よりも大きいか否かを判別するとともに、現在のメモリ使用率が予め決められたメモリ基準使用率よりも大きいか否かを判別する。現在のプロセッサ使用率および現在のメモリ使用率のいずれか一方でもそれに対応する基準使用率よりも大きい場合には、ビデオ再生アプリケーションプログラム201は、コンピュータ10が高負荷状態であると判定する。現在のプロセッサ使用率および現在のメモリ使用率の双方がそれらに対応する基準使用率以下ならば、ビデオ再生アプリケーションプログラム201は、コンピュータ10が高負荷状態ではないと判定する。
コンピュータ10が高負荷状態ではないならば(ステップS102のNO)、ビデオ再生アプリケーションプログラム201は、CPU111に実行させるべきデコード処理として上述の通常デコード処理を選択し、これによって図4で説明した一連の処理をCPU111上で実行する(ステップS103)。コンピュータ10が高負荷状態にならない限り、つまりデコードパフォーマンスが低下しない限り、動画像ストリームは通常デコード処理によってデコードされる。
一方、コンピュータ10が高負荷状態であるならば(ステップS102のYES)、ビデオ再生アプリケーションプログラム201は、CPU111に実行させるべきデコード処理として上述の特殊デコード処理を選択し、これによって予測誤差成分が所定値よりも少ないブロックに対する逆DCT処理の実行が省略されたデコード処理をCPU111上で実行する(ステップS104)。この場合、逆DCT処理の実行が省略されたブロックの予測誤差信号は零として扱われ、このブロックの復号画像は予測信号から生成される。
このように、特定のブロックの逆DCT処理の実行を省略することにより、1画面あたりのソフトウェアデコードに必要な処理量は大幅に低下する。よって、ソフトウェアデコードの実行中にたとえ他のプログラムが実行されてコンピュータ10が高負荷状態となっても、コマ落ちや、オブジェクトの動きが極端に遅くなるなどの不具合を招くことなく、動画像データのデコードおよび再生をスムーズに継続して実行することができる。また、逆DCT処理の実行が省略されるのは予測誤差成分が少ないブロックだけであるので、逆DCT処理を省略してもそれによって画質が極端に低下されることはない。
動画像ストリーム全てのデコードが完了するまで、上述のステップS101〜S104の処理は繰り返し実行される(ステップS105)。他のプログラムの実行が終了されること等によってコンピュータ10の負荷が下がると、デコード処理は、特殊デコード処理から通常デコード処理に再び切り替えられる。
次に、図6のフローチャートを参照して、特殊デコード処理内で実行される逆DCT制御処理について説明する。
ビデオ再生アプリケーションプログラム201は、逆量子化されたブロック内に含まれる各DCT係数が零に近い値を持っているとき、そのブロックの予測誤差成分が所定値よりも少ないと判断する。すなわち、ビデオ再生アプリケーションプログラム201は、ブロックを構成するDCT係数に対し、値がある定数a以下のDCT係数の個数nをカウントする(ステップS201)。個数nがある定数bよりも多いならば(ステップS202のYES)、ビデオ再生アプリケーションプログラム201は、ブロック内のDCT係数はすべて零であるとみなし、逆DCT処理を行わない(ステップS204)。この場合、ビデオ再生アプリケーションプログラム201は、ブロックの画素値つまり予測誤差信号を零として扱い、そのブロックの復号画像を予測信号のみから生成する。
一方、個数nが定数b以下であれば(ステップS202のNO)、ビデオ再生アプリケーションプログラム201は、ブロックの逆DCT処理を実行する(ステップS204)。このブロックは、通常デコード処理と同じ手順でデコードされる。
以上のように、本実施形態によれば、システムが高負荷状態の場合には、特定のブロックの逆DCT処理を省略してシステムの負荷を低減することにより、コマ落ちや、オブジェクトの動きが極端に遅くなるなどの不具合を招くことなく、スムーズな動画再生を実現することができる。
なお、上述のデコード制御処理は全てコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入するだけで、本実施形態と同様の効果を容易に実現することができる。
また、本実施形態のソフトウェアデコーダは、パーソナルコンピュータに限らず、PDA、携帯型電話機等にも適用することができる。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
本発明の一実施形態に係るコンピュータの概観を示す斜視図。 図1のコンピュータのシステム構成を示すブロック図。 図1のコンピュータで用いられるビデオ再生アプリケーションプログラムの機能構成を示すブロック図。 図3のビデオ再生アプリケーションプログラムによって実現されるソフトウェアデコーダの構成を示すブロック図。 図3のビデオ再生アプリケーションプログラムによって実行されるデコード処理の手順を示すフローチャート。 図3のビデオ再生アプリケーションプログラムによって実行される逆DCT制御処理の手順を示すフローチャート。
符号の説明
10…コンピュータ、111…CPU、113…メモリ、114…グラフィクスコントローラ、201…負荷検出モジュール、212…デコード制御モジュール、213…デコード実行モジュール、301…エントロピー復号部、302…逆量子化部、303…逆DCT部、304…加算部、305…デブロッキングフィルタ部、306…フレームメモリ、307…動きベクトル予測部、308…補間予測部、309…重み付き予測部、310…イントラ予測部、311…モード切替スイッチ部。

Claims (10)

  1. 圧縮符号化された動画像ストリームをデコードする情報処理装置において、
    デコード対象画面に対して所定のブロック単位で逆直交変換処理を実行して前記デコード対象画面に対応する予測誤差信号を生成する逆直交変換手段と、
    前記デコード対象画面が参照する1以上のデコードされた画面から生成されたフレーム間予測信号および前記デコード対象画面から生成されるフレーム内予測信号の一方と前記逆直交変換手段によって生成された予測誤差信号とを加算して前記デコード対象画面をデコードする手段と、
    前記情報処理装置の負荷を検出する負荷検出手段と、
    前記負荷検出手段によって検出された負荷が所定の基準値以上である場合、前記デコード対象画面の各ブロックに含まれる直交変換係数の値に基づいて予測誤差成分が所定値よりも少ないブロックを検出すると共に、前記検出されたブロックに対する逆直交変換処理の実行をスキップして前記検出されたブロックの予測誤差信号を零とする処理を実行する制御手段とを具備することを特徴とする情報処理装置。
  2. 前記制御手段は、前記各ブロックに含まれる所定値以下の直交変換係数の個数を計数して各ブロックの予測誤差成分を検出する手段を含むことを特徴とする請求項1記載の情報処理装置。
  3. 前記負荷検出手段は、前記情報処理装置上で実行されるオペレーティングシステムに対して前記情報処理装置の負荷を問い合わせる手段を含むことを特徴とする請求項1記載の情報処理装置。
  4. 前記負荷検出手段は、前記情報処理装置に設けられたプロセッサの使用率に基づいて前記情報処理装置の負荷を検出する手段を含むことを特徴とする請求項1記載の情報処理装置。
  5. 前記負荷検出手段は、前記情報処理装置に設けられたプロセッサの使用率および前記情報処理装置に設けられたメモリの使用率に基づいて前記情報処理装置の負荷を検出する手段を含むことを特徴とする請求項1記載の情報処理装置。
  6. 圧縮符号化された動画像ストリームをデコードする処理をコンピュータに実行させるプログラムであって、
    デコード対象画面に対応する直交変換係数を所定のブロック単位で画素値に変換する逆直交変換処理を実行して前記デコード対象画面に対応する予測誤差信号を生成する処理を、前記コンピュータに実行させる手順と、
    前記デコード対象画面が参照する1以上のデコードされた画面から生成されたフレーム間予測信号および前記デコード対象画面から生成されるフレーム内予測信号の一方と前記逆直交変換手段によって生成された予測誤差信号とを加算してデコードされた画面を生成する処理を、前記コンピュータに実行させる手順と、
    前記コンピュータの負荷を検出する処理を前記コンピュータに実行させる手順と、
    前記検出された負荷が所定の基準値以上である場合、前記デコード対象画面の各ブロックに含まれる直交変換係数の値に基づいて予測誤差成分が所定値よりも少ないブロックを検出すると共に、前記検出されたブロックに対する逆直交変換処理の実行をスキップして前記検出されたブロックの予測誤差信号を零とする処理を、前記コンピュータに実行させる手順とを具備することを特徴とするプログラム。
  7. 前記制御処理は、前記各ブロックに含まれる所定値以下の直交変換係数の個数を計数して各ブロックの予測誤差成分を検出する処理を含むことを特徴とする請求項6記載のプログラム。
  8. 前記コンピュータの負荷を検出する処理を前記コンピュータに実行させる手順は、前記コンピュータ上で実行されるオペレーティングシステムに対して前記コンピュータの負荷を問い合わせる処理を、前記コンピュータに実行させる手順を含むことを特徴とする請求項6記載のプログラム。
  9. 前記コンピュータの負荷を検出する処理を前記コンピュータに実行させる手順は、前記コンピュータに設けられたプロセッサの使用率に基づいて前記コンピュータの負荷を検出する処理を、前記コンピュータに実行させる手順を含むことを特徴とする請求項6記載のプログラム。
  10. 前記コンピュータの負荷を検出する処理を前記コンピュータに実行させる手順は、前記コンピュータに設けられたプロセッサの使用率および前記コンピュータに設けられたメモリの使用率に基づいて前記コンピュータの負荷を検出する処理を、前記コンピュータに実行させる手順を含むことを特徴とする請求項6記載のプログラム。
JP2004286541A 2004-09-30 2004-09-30 情報処理装置および同装置で用いられるプログラム Pending JP2006101321A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004286541A JP2006101321A (ja) 2004-09-30 2004-09-30 情報処理装置および同装置で用いられるプログラム
EP05107386A EP1646243B1 (en) 2004-09-30 2005-08-11 Information processing apparatus and program for use in the same
DE602005015067T DE602005015067D1 (de) 2004-09-30 2005-08-11 Informationsbearbeitungsgerät und Programm
US11/210,308 US8040951B2 (en) 2004-09-30 2005-08-24 Information processing apparatus and program for use in the same
CNB2006100891463A CN100466737C (zh) 2004-09-30 2005-09-09 信息处理设备以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004286541A JP2006101321A (ja) 2004-09-30 2004-09-30 情報処理装置および同装置で用いられるプログラム

Publications (1)

Publication Number Publication Date
JP2006101321A true JP2006101321A (ja) 2006-04-13

Family

ID=36240692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004286541A Pending JP2006101321A (ja) 2004-09-30 2004-09-30 情報処理装置および同装置で用いられるプログラム

Country Status (2)

Country Link
JP (1) JP2006101321A (ja)
CN (1) CN100466737C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136338A1 (ja) * 2007-04-26 2008-11-13 Nec Corporation 動画像復号装置、動画像復号プログラム、動画像復号方法
US9319695B2 (en) 2010-04-28 2016-04-19 Fujitsu Limited Moving image output apparatus and method
CN114554200A (zh) * 2017-09-08 2022-05-27 交互数字Vc控股公司 使用基于图案的块滤波进行视频编码和解码的方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9204173B2 (en) 2006-07-10 2015-12-01 Thomson Licensing Methods and apparatus for enhanced performance in a multi-pass video encoder
CN100493192C (zh) * 2006-12-01 2009-05-27 清华大学 一种h.264解码器的运动补偿插值方法
WO2011000255A1 (en) * 2009-07-02 2011-01-06 Mediatek Inc. Methods of intra prediction, video encoder, and video decoder thereof
CA2799144C (en) * 2010-05-13 2016-03-15 Sharp Kabushiki Kaisha Prediction image generation device, moving image decoding device, and moving image coding device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986709A (en) * 1996-11-18 1999-11-16 Samsung Electronics Co., Ltd. Adaptive lossy IDCT for multitasking environment
JPH11122624A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US20030095603A1 (en) * 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Reduced-complexity video decoding using larger pixel-grid motion compensation
US6907079B2 (en) * 2002-05-01 2005-06-14 Thomson Licensing S.A. Deblocking filter conditioned on pixel brightness
WO2004030369A1 (en) * 2002-09-27 2004-04-08 Videosoft, Inc. Real-time video coding/decoding

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136338A1 (ja) * 2007-04-26 2008-11-13 Nec Corporation 動画像復号装置、動画像復号プログラム、動画像復号方法
JP2008278000A (ja) * 2007-04-26 2008-11-13 Nec Corp 動画像復号装置、動画像復号プログラム、動画像復号方法
US8243813B2 (en) 2007-04-26 2012-08-14 Nec Corporation Moving picture decoding device, moving picture decoding program, and moving picture decoding method
US9319695B2 (en) 2010-04-28 2016-04-19 Fujitsu Limited Moving image output apparatus and method
CN114554200A (zh) * 2017-09-08 2022-05-27 交互数字Vc控股公司 使用基于图案的块滤波进行视频编码和解码的方法和装置

Also Published As

Publication number Publication date
CN1756357A (zh) 2006-04-05
CN100466737C (zh) 2009-03-04

Similar Documents

Publication Publication Date Title
JP4643453B2 (ja) 情報処理装置及び情報処理装置の動画像復号方法
US8040951B2 (en) Information processing apparatus and program for use in the same
US20070140355A1 (en) Information processing apparatus, control method, and program
JP4825524B2 (ja) 動画像復号装置および動画像復号方法
JP2008072647A (ja) 情報処理装置、デコーダおよび再生装置の動作制御方法
US20060203910A1 (en) Information processing apparatus and decoding method
US20090034615A1 (en) Decoding device and decoding method
US20060203909A1 (en) Information processing apparatus and decoding method
US20060204221A1 (en) Information processing apparatus and information processing program
US8611433B2 (en) Information processing apparatus and video decoding method of information processing apparatus
JP4834590B2 (ja) 動画像復号化装置及び動画像復号化方法
JP2006254230A (ja) 情報処理装置およびプログラム
JP2006101322A (ja) 情報処理装置および同装置で用いられるプログラム
JP2006101321A (ja) 情報処理装置および同装置で用いられるプログラム
JP5066232B2 (ja) 情報処理装置および画像処理方法
JP2006101406A (ja) 情報処理装置および同装置で用いられるプログラム
JP2006101405A (ja) 情報処理装置および同装置で用いられるプログラム
JP2007318615A (ja) 動画再生装置、動画再生方法およびプログラム
JP4282582B2 (ja) 情報処理装置および同装置で用いられるプログラム
JP2010288044A (ja) 動画像復号装置、プログラムおよび復号処理簡略化方法
JP2006101323A (ja) 情報処理装置および同装置で用いられるプログラム
JP2006101404A (ja) 情報処理装置および同装置で用いられるプログラム
JP2009182891A (ja) 情報処理装置およびプログラム
JP2006101402A (ja) 情報処理装置および同装置で用いられるプログラム
JP2008085868A (ja) 情報処理装置および情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090707