JPH0851625A - 動画再生装置 - Google Patents

動画再生装置

Info

Publication number
JPH0851625A
JPH0851625A JP18481694A JP18481694A JPH0851625A JP H0851625 A JPH0851625 A JP H0851625A JP 18481694 A JP18481694 A JP 18481694A JP 18481694 A JP18481694 A JP 18481694A JP H0851625 A JPH0851625 A JP H0851625A
Authority
JP
Japan
Prior art keywords
coefficients
coefficient
data
processing
image data
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
JP18481694A
Other languages
English (en)
Inventor
Yasutake Kurokawa
能毅 黒川
Kiyokazu Nishioka
清和 西岡
Koichi Terada
光一 寺田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP18481694A priority Critical patent/JPH0851625A/ja
Publication of JPH0851625A publication Critical patent/JPH0851625A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】希望するフレームレートが設定されたとき、A
C係数の個数を適宜変更、設定して、こま落ちのない動
画再生を行える手段を提供すること。 【構成】VLCのデコード手段と、逆量子化手段と、I
DCT処理手段と、動き補償処理手段と、フレームレー
トを入力する入力手段と、復号画像を表示する表示手段
と、DCT係数のうち、直流分を表すDC係数を除く、
0以外の値である、AC係数の数を定める処理手段を少
なくとも備える。そして、処理手段は、フレームレー
ト、および、性能パラメータを使用し、予め定めた規則
に従ってAC係数の数を決定して、所定のAC係数のみ
による画像復号を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デジタル動画再生処理
装置の性能の向上、特に、再生処理能力不足に対応した
装置を提供する技術に関する。
【0002】
【従来の技術】デジタルの動画像データをそのままの状
態で記憶しておくには、そのデータ量は、膨大な量とな
るため、デジタルの動画像データを記録しておくために
は、高速でアクセスが可能で、かつ、大容量の記憶容量
を有する記憶装置が必要となり、このような記憶装置を
備えたシステムを構築するには、システムの大きさや、
製造コストの向上等の各種各様の問題が存在している。
【0003】そこで、動画データの圧縮処理が必要とな
り、現在、デジタル動画の記憶、転送を含む各種の処理
を行うために、いわゆる画像情報圧縮を行っている。
【0004】この中で、蓄積型のデジタル動画データ標
準規格として、MPEG(Motion Picture Image Coding
Experts Group)と称される規格が最も良く知られてい
る。
【0005】このMPEGなる規格においては、自然動
画の画像情報が有する特性を利用して、データの圧縮処
理を行っている。
【0006】この圧縮処理および再生処理の流れを、図
37から40を参照して説明する。
【0007】図37は、原画像がエンコードされ大容量
記憶装置に記憶される処理と、大容量記憶装置に記憶さ
れている、原画像のエンコードデータを復号画像とす
る、デコード処理の流れについて、大別して示してい
る。なお、同一符号を付した部分は、同一の処理を行う
ことを意味する。
【0008】まず、自然画の特性として、隣接した画素
間で、値の変化が小さい(画像信号の高周波成分が小さ
い)という特性がある。これは、自然界に存在する物が
瞬間的に移動する距離は、それほど長い距離ではなく、
自然界に存在する物の動きの情報、すなわち、自然画の
情報は、連続的なものとなるという特性に由来する。
【0009】したがって、離散コサイン変換(以下、D
CT(Discrete Cosine Transform)と称す:図37、
300参照)を利用して、「8画素×8画素」(垂直8
画素、水平8画素の合計64画素)のデータ(図38
(a)参照)を、周波数スペクトルに変換する。この変
換処理されたデータを、DCTデータと称する(図38
b参照)。
【0010】この変換処理は、いわゆる直交変換である
ので、データ量は変化しない。しかしながら、自然画の
特性から、比較的、低周波領域のデータが大きくなり、
一方、高周波領域ではデータは、小さくなり、無視でき
る程度の値、すなわち、DCTデータの値を「0」とし
て扱えるレベルのデータとなる。
【0011】さらに、図37、302に示すように、D
CTデータを、量子化することによって、実際に「0」
となるデータを増加させ、圧縮処理を行う。図38
(c)に、DCTデータを量子化したデータを示す。な
お、量子化は、DCTデータのパターンに対して、予め
定めている量子化のための定数を記憶している、量子化
テーブルの内容を参照して行われる。
【0012】また、自然画の特性として、ある時刻にお
ける1枚の画像情報(これを「フレーム」と称する)
と、前記ある時刻の、前後の時刻におけるフレームは、
似ている(すなわち、画像情報が変化した部分は少な
い)ので、この関係を利用して、圧縮処理を行う。な
お、このような処理を、動き補償処理と称する(図3
7、304参照)。
【0013】「16画素×16画素」のかたまりで、1
つのブロックを構成し、このブロックごとに、前記、前
および後のフレーム中の、画像データと比較を行い、マ
ッチングする箇所が存在する場合、その箇所のフレーム
間での相対座標を、圧縮データとする。この様子を、図
39に示す。
【0014】すなわち、1ブロックの左上角の座標デー
タが、図に示すように座標系を設定して、参照する画面
では、(X1,Y1)となっているが、現在の画面で
は、(X2,Y2)となっており、1ブロックが移動し
たことを示している。したがって、このことを利用する
ため、座標の差分、すなわち、動きベクトルデータ(X
2−X1,Y2−Y1)だけ、いわゆるVLC(Variab
le Length Code)変換することにより、一層の圧縮処理
が行われる。
【0015】この2つの方法(図37に示すように、1
つは、動き補償を行う方法、他の1つは、DCT、量子
化処理を行う方法)で圧縮したデータは、さらに圧縮す
るために、エントロピー符号化(ハフマン符号化)し
て、VLC(Variable LengthCode)とする(図37、
303、図38(d)、図39等参照)。VLCへの変
換処理は、デジタルデータの並びパターンに対する変換
コードを予め定めている、VLC変換テーブルの内容を
参照して行われる。
【0016】そして、同じ場所のデータを圧縮した、2
つのデータのサイズを比較して、データサイズの小さい
方を、圧縮データとして記録する(図37、305参
照)。
【0017】これを再生、すなわち、デコードするため
の処理の大まかな流れが、図37および図40に示され
ている。特に、図40に詳しく示している。
【0018】まず、大容量記憶装置に記録されている、
1ブロックに対するVLCデータ(デジタル信号の信号
列)を取り出し、VLCをデコードする(図37、デコ
ーダ内の、VLC308参照)。
【0019】そして、このデコードの対象となるブロッ
クが、DCTデータであるのか、動き補償データである
かを判定する。
【0020】動き補償データであれば、図40に示すよ
うに、前または後フレーム、あるいは、前後双方のフレ
ームのデータの必要部分を抽出し、再生画像を生成する
処理を行う(図37、309参照)。また、DCTブロ
ックデータである場合は、逆量子化、逆離散コサイン変
換(IDCT「Inversion Discrete Cosine Transfor
m」)を行って再生(復号)画像データとする(図3
7、306、407参照)。なお、逆量子化は、図40
に示すように、量子化時に、除算に使用した値を、量子
化テーブルを参照して求め、今度は、その値で乗算を行
う処理である。
【0021】また、逆離散コサイン変換は、図40に示
すように、逆量子化されたデータを、画像データに変換
する処理であり、前記離散コサイン変換と、逆の処理を
行っていることが分かる。
【0022】なお、以上のような処理の詳細について
は、例えば、「動画像データ圧縮規格標準化動向:安田
浩:インターフェース1991年12月号」に記載され
ている。
【0023】さて、この動画圧縮技術においては、MP
EG以外に、衛星放送用や通信用(TV電話、TV会議
システム等)等の放送用の動画データ標準規格も提案さ
れている。
【0024】このような通信用の動画情報では、伝送路
が動画を再生するのに十分な伝送帯域幅を有することが
できないために、従来から、伝送帯域幅内で、動画を通
信し、受信側で再生可能なように、送信側、すなわち、
エンコーダする際に、処理に工夫をしている。
【0025】例えば、特開平3ー150987号公報
「動画像符号化装置および画像符号化方法」において
は、デジタル動画圧縮時に、フレーム毎のデータ量を規
定し、この量を越えないことを条件として、量子化テー
ブルのしきい値や、送出符号量を制限している。また、
特開平4ー290088号公報「テレビ電話」において
は、符号化する映像の内容に応じて、再生画像を、高解
像度と低解像度の領域に分けて、再生処理を行ってい
る。さらにまた、特開平4ー307887号公報「画像
符号化における伝送レート制御方式」においては、予定
符号量と称される値を設定し、平均符号量が、前記予定
符号量を越えた場合には、予め定めておいた個数、の符
号のみを送信するようにしている。
【0026】
【発明が解決しようとする課題】しかしながら、これら
の従来技術においては、通信用のデータを作成するエン
コーダに関するもののみであり、エンコードしたデータ
を記憶媒体(CD−ROM等)等に大量に記憶してお
き、必要に応じてエンコードデータをデコードする、い
わゆる蓄積型の装置には、利用できないものである。
【0027】蓄積型のデジタル動画データの再生処理
は、デコーダのみが、その処理を行うものである。デコ
ーダは、前記2つの方法(図37に示すように、1つ
は、動き補償を行いVLC化する方法、他の1つは、D
CT、量子化処理を行い、VLC化する方法)で圧縮し
たデータを、前記2つの変換方法の逆変換を行ってい
き、復号、すなわち、再生する。
【0028】この逆変換の処理速度が、フレームの再生
速度に追いつかない場合、1つのフレームの再生を止め
て、フレームの再生に追いつこうとする。
【0029】このため、再生能力の低いデコーダを使用
した場合には、再生されないフレームが頻繁に発生し、
再生された動画画像が、見た目に、ぎこちない動きを示
す画像となってしまう。
【0030】つまり、動画の動きが、スムーズな動きと
して観測されるように動画再生を行うためにはす、再生
能力の高い、比較的コストの高いデコーダを使用しなく
てはならなかった。
【0031】
【課題を解決するための手段】CPUおよびメモリを少
なくとも有し、予め定められている規則にしたがって符
号化された画像データを、復号する装置であって、符号
化された画像データであるVLC(Variable Length Co
de)が与えられると、これを、量子化されたDCT(Di
screte Cosine Transform:離散余弦変換)係数とする
デコード手段と、量子化されたDCT係数の各要素に、
所定の値を乗じ、DCT係数を求める逆量子化手段と、
求められたDCT係数をIDCT(Inversion Discrete
CosineTransform:逆離散余弦変換)処理し、復号され
た画像データを求めるIDCT処理手段と、前記VLC
に、動き補償をすべき旨のデータおよび動きベクトルが
含まれているときに、あるフレームにおける複数画素の
データを、前記動きベクトルを参照して移動させた場所
に位置するように、次フレームの画像データを生成する
動き補償処理手段と、画像データを復号する際のフレー
ムレートを少なくとも入力する入力手段と、復号された
画像データを少なくとも表示する表示手段と、DCT係
数のうち、直流分を表すDC係数を除く、0以外の値で
ある、AC係数の数を定める処理手段を備えた構成にす
る。
【0032】そして、処理手段は、前記入力手段を介し
て入力されたフレームレート、および、予め定められて
いるパラメータであって、前記CPUの動作周波数を含
む自装置の処理性能を示す性能パラメータとを使用し、
予め定めた規則に従ってAC係数の数を決定し、決定し
たAC係数の数を参照して、前記IDCT処理手段がI
DCT処理の対象とするDCT係数の要素を定め、要素
が定められたDCT係数を用い、前記符号化に使用した
予め定められている規則を参照して、画像データを復号
する装置である。
【0033】
【作用】上述の課題を解決するためには、再生能力の低
いデコーダでネックとなる、DCTの逆変換(以下「I
DCT」と称する)の演算に必要な時間を短縮する必要
がある。デジタル動画処理では、「8画素×8画素」の
データを、DCTにより、「8×8」のマトリクス状
の、AC係数データに変換する。この変換後の「8×
8」のデータテーブルの各要素は、(0,0)の低周波
成分から、(7,7)の高周波成分まで存在し、一般
に、自然画では低周波成分のデータが大きく、高周波成
分のデータは小さい。これを量子化し、VLCに変換し
て記録する際、低周波成分から順に記録される。よっ
て、再生を行うときには、これらのデータを読み出して
逆量子化を行い、再現した、「8×8」のAC係数テー
ブルをもとに、IDCTを行って、画素データを再生す
る。
【0034】このときのIDCTの演算時間は、「8×
8」のAC係数テーブル中の「0」以外の値となる、A
C係数の個数に依存する。そこで、自然画の高周波成分
のデータは小さいという特性を利用して、再生に使用す
るAC係数の数を、高周波成分側から、削除していくこ
とによって、IDCTの演算に必要となる時間は短縮さ
れることに、注目して創作した。
【0035】具体的には、以下のように動作する。
【0036】入力手段を介して入力されたフレームレー
トを入力する。
【0037】次に、フレームレートおよび予め定められ
ているパラメータであって、前記CPUの動作周波数を
含む、自装置の処理性能を示す性能パラメータとを使用
し、予め定めた規則に従って定まるAC係数の数を決定
する。
【0038】そして、決定されたAC係数の数を参照し
て、前記IDCT処理手段がIDCT処理の対象とする
DCT係数の要素を定める。
【0039】最後に、要素が定められたDCT係数を用
い、前記符号化に使用した予め定められている規則を参
照して、画像データを復号する。
【0040】また、デコーダの初期設定時に、デコーダ
の再生性能を測定するためのテストデータを再生して、
デコーダの再生性能を測定しておくことも考えられる。
【0041】この結果を参照して、データ再生に使用す
るAC係数の数を決定して、データ再生に使用するAC
係数データの数を制限する。
【0042】
【実施例】以下、図面を参照して本発明の実施例を説明
する。
【0043】図1は、第1実施例の構成図である。
【0044】101は、中央演算処理装置(以下「CP
U」と記す)、102は、メモリ、103は、大容量記
憶装置、104は、表示用メモリ(以下「VRAM」と
記す)、105は、表示装置、106は、入力装置であ
る。
【0045】そして、これらの構成要素は、システムバ
ス107で接続された構成となっている。メモリ10
2、VRAM104は、例えば、RAM等の電子デバイ
スにて実現できる。大容量記憶装置103は、例えば、
ディスク装置によって実現でき、表示装置105は、例
えば、CRT、液晶ディスプレイ、ELディスプレイ等
によって実現できる。入力装置106は、例えば、マウ
ス、キーボード等によって実現できるが、具体的に、図
2を参照して説明する。
【0046】図2に、入力装置106の構成の一例を示
す。
【0047】201は、キーボードであり、該キーボー
ドは、複数のキーを備えており、いずれかのキーが、フ
レームレート決定モード選択ボタン(203)や、数値
を入力するための数値入力キー(204)に割り当てら
れている。
【0048】また、202は、マウスであり、マウス2
02を操作することによって、画面上のメニューを選択
可能な構成となっている。
【0049】図1に示す装置上で、本発明にかかる動画
再生処理プログラムを実行させ、入力装置106介し
て、所望のフレームレートを設定し、該フレームレート
を使用して、大容量記憶装置103に記憶されている圧
縮処理画像を再生する機能を実現する。動画再生処理プ
ログラムは、例えば、大容量記憶装置103に記憶され
ており、記憶されているプログラムにしたがって、CP
U101が、処理プログラムの実行を行う。
【0050】次に、図3、図4に、フレームレート設定
時の入力画面の表示状態の一例を示す。
【0051】このような表示処理を行うプログラムも、
動画再生処理プログラムの一部として、大容量記憶装置
103に蓄えられ、大容量記憶装置103から、メモリ
102上に、必要なプログラムがロードされて表示処理
が実行される。
【0052】図3は、動画再生画面の表示例を示したも
のである。
【0053】動画再生ウィンドウ301は、動画を再生
するための表示領域である動画再生スクリーン302
と、動画再生プログラムの制御を行うためのメニューを
表示するメニューバー303を有して構成されており、
このメニューバーの中に、フレームレート設定のための
表示部304がある。この表示部をマウス202でクリ
ック選択したとき、あるいは、フレームレート決定モー
ド選択ボタン203を押したとき、図4に示す、フレー
ムレート設定入力画面401が表示される。
【0054】この設定入力画面401は、フレームレー
ト設定コントロールバー402と、数値入力部分403
を有して構成されている。
【0055】このうち、フレームレート設定コントロー
ルバー402は、例えば直線上に、フレームレートの数
値が数値の大きさに従って並んだ状態で表示される。そ
して、コントロールバー402上には、カーソル404
が存在し、このカーソル404を、マウス202の操作
によって移動させる。
【0056】また、キーボードの数値入力キー204を
使用して、数値入力部分403に、所望のフレームレー
トの値を、数値で直接入力して、フレームレートを設定
しても良い。この設定画面を終了させると、数値入力部
分403に数値が書き込まれている場合は、この数値を
フレームレートとして採用し、数値入力部分403に数
値が書き込まれていない場合は、フレームレート設定コ
ントロールバー402上のカーソル404の示す位置に
対応する数値が、設定したフレームレートとして採用さ
れる。
【0057】さて、図5を参照して、CPU101が行
う処理を説明する。
【0058】まず、最初に、マシン性能の情報を、装置
が備えるOS(Operating System)から入手する(ステ
ップ501)。入手するマシン性能情報としては、装置
が備えるCPU101の種類、そのCPU動作周波数、
描画アクセラレータの有無等の情報がある。
【0059】次に、動画再生の開始を行い、大容量記憶
装置103に記録されている動画データに付されたヘッ
ダ情報を参照して、動画データ記録時に付された、動画
データの希望再生フレームレートのデータを得る(ステ
ップ502)。
【0060】そして、上記マシン性能情報に基づいて、
希望再生フレームレートを実現できる、DCTにおける
AC係数の個数を計算し、再生AC係数の数の初期値と
する(ステップ503)。
【0061】次に、入力装置106を介して新たなフレ
ームレートの設定を行うことを希望しているか否かを調
べ(ステップ504)、フレームレートの設定を希望し
ている場合には(Y)、設定画面401を表示して(ス
テップ506)、図4を参照して説明した方法によっ
て、ユーザの希望するフレームレートを得る(ステップ
507)。なお、フレームレートの設定を希望していな
い場合には(N)、直接、ステップ509にブランチす
る。
【0062】そして、上記マシン性能情報に基づいて、
設定した再生フレームレートを実現できる、AC係数の
個数を計算し、再生AC係数の個数の、新しい値とす
る。
【0063】次に、VLC形式で、大容量記憶装置(1
03)に記録されている画像データを読み出し、デコー
ドして(ステップ509)、デコードの結果、画像デー
タが動きベクトルであれば(ステップ510:Y)、前
述した動き補償処理を行う(ステップ511)。
【0064】また、DCTブロックデータであれば(ス
テップ510:N)、VLCに基づき、再生AC係数の
個数まで、デコードを行う(ステップ512)。この
後、前述した、逆量子化(ステップ513)、IDCT
(ステップ514)処理を行って、DCTブロックの再
生処理を終了する。そして、すべての画像データの再生
処理が終了するまで、ステップ505からの処理を繰り
返す。
【0065】以上が、本実施例にかかる処理の概要であ
る。
【0066】次に、図6を参照して、本実施例の処理に
必要となる、メモリ上の変数およびデータベースについ
て説明する。
【0067】601から606は、必要となる変数を表
している。これらの変数は、メモリ102の所定のアド
レスに格納されている。
【0068】CPU種類601、CPUを動作させる周
波数であるCPU動作周波数602、描画アクセラレー
タの有無603は、前述のマシン性能情報であり、これ
らの情報は、システムに依存するため、OSから、図5
ステップ501の処理により得る。
【0069】希望フレームレート604には、フレーム
レートの値が格納されており、図5ステップ504の処
理で、その初期値が格納され、ステップ507の処理に
より、格納される値が変更される。
【0070】再生AC係数個数605は、実際に、60
1から604の変数を使用して計算される数値で、希望
フレームレート604の変更に伴って、再計算され、そ
の値が順次更新される(図5、ステップ508に対
応)。AC係数カウンタ606は、実際にVLCからI
DCT処理を行っていく際に、AC係数を変換処理した
数を記憶する。
【0071】607は、VLCデータバッファ、608
は、DCT量子化テーブル、609は、DCTデータで
あり、いずれも動画データであるDCTブロックの再生
処理の際に、使用される。例えば、VLCデータバッフ
ァ607には、取り出してきたVLCコードが格納され
ている。DCT量子化テーブル608には、例えば、D
CTデータを量子化するために必要なデータが、また、
DCTデータ609には、DCT処理されたデータが格
納されている。また、データベースは、必要な演算結果
等を、一時的に格納しておく領域として使用される。
【0072】また、データベースとしては、610から
615までが存在する。これらのデータベースも、メモ
リ102の所定のアドレスに格納されるようにしておけ
ばよい。
【0073】CPU種類係数変換テーブル610は、C
PUの種類(例えば、どのメーカが製造した、何ビット
のCPUであるか等を示す情報)を示すコードを格納す
るCPU種類611の格納部と、CPUの種類ごとに予
め定めている係数であるCPU係数612の格納部を有
している。
【0074】613は、CPUの動作周波数に対して、
予め定めておく係数を格納する格納部、614は、描画
アクセラレータが有る場合に、予め定めておく係数を格
納する格納部、615は、描画アクセラレータが無い場
合に、予め定めておく係数を格納する格納部である。こ
れらのデータベースは、601から603のマシン性能
情報とともに、再生AC係数の個数を決定する際に使用
される。
【0075】図7に、図5に示したフローチャートにお
ける、ステップ503とステップ508の処理において
使用される、再生AC係数の数を求める計算例を示す。
【0076】この処理に必要な変数としては、CPU種
類601、CPU動作周波数602、描画アクセラレー
タの有無603、のマシン性能情報と、希望フレームレ
ート604であり、また、データベース(610〜61
5)に格納されているデータを使用して、計算を行い、
計算結果は、再生AC係数個数605に格納する。
【0077】さて、以下に処理手順を示す。
【0078】CPU種類601に格納されている、CP
U種類の情報を得て、CPU種類係数変換テーブル61
0を参照して、CPUの種類ごとに、予め定められてい
るCPU係数を決定する(ステップ701)。そして、
描画アクセラレータの有無603に格納されている描画
アクセラレータの有無の情報を得て、描画アクセラレー
タの有無を判断し、描画アクセラレータ有の係数61
4、または、描画アクセラレータ無しの係数615を選
択して、ステップ703に示す式で、再生AC係数の個
数を算出し、出力する(ステップ704)。
【0079】このような処理によって、再生AC係数の
個数を算出することが可能となる。なお、ステップ70
3における式は、一例であり、重要なのは、再生AC係
数の個数は、フレームレートと、主としてCPUにより
決定される性能パラメータによって決定されることであ
る。したがって、フレームレートと、主としてCPUに
より決定される性能パラメータを使用した演算式であれ
ばよく、ステップ703にて示した式は、特に好ましい
例にすぎない。
【0080】次に、図8では、図5に示したフローチャ
ートにおけるステップ512で行う、VLCデータの変
換処理ルーチンの一例を示す。
【0081】この処理ルーチンにおける入力情報は、V
LCコード(607に格納されている)で、出力データ
は、変換処理してAC係数の個数を制限したDCTデー
タを格納するDCT量子化テーブル(608)に格納さ
れる。
【0082】まず、ステップ801では、AC係数カウ
ンタ(606)をクリアする。次に、ステップ802で
は、AC係数カウンタが、予め定めた再生AC係数個数
(605)以上となっているか否かをチェックして、予
め定めた再生AC係数個数(605)以上となっていな
ければ、ステップ803の処理を行い、予め定めた再生
AC係数個数(605)以上となっていれば、ステップ
805の処理を行う。
【0083】ステップ803では、AC係数に対して定
められているVLCを、DCTコードに変換する。
【0084】そして、ステップ804では、AC係数カ
ウンタをインクリメントして、ステップ802の判定処
理に戻る。また、ステップ805では、残ったAC係数
を無視して、このルーチンを終了する。
【0085】図9に従来の画像出力一例、図10に、本
実施例での画像出力の一例を示す。
【0086】図9では、希望のフレームレートを設定
し、該フレームレートで再生する機能を有しない、従来
の再生処理プログラムを使用した画像の出力例である。
【0087】図9中、左から右へ時間順に再生フレーム
901を並べてあるが、再生することの不可能なフレー
ム902が発生している。いわゆるフレーム落ちが発生
している様子が分かる。これに対して、図10に示す画
像出力例では、希望のフレームレートを設定し、該フレ
ームレートで再生処理を行う機能を有する、本実施例の
再生処理プログラムを使用した処理例である。画質は、
落ちることは否めないが、フレームが落ちることがない
ように再生している点が従来と異なる。
【0088】次に図11からは、第1実施例における構
成を、カードタイプにハードウェア化をした、第2実施
例について説明する。
【0089】図11に、ハードウェア全体の構成を示
す。
【0090】図11中、101〜107は、図1の同一
符号を有する構成要素と同一の構成要素である。この構
成に、新たに、カードインタフェース1101とカード
1102を追加する構成を想定する。
【0091】カードインタフェース1101は、カード
1102と必要なデータの送受信を行うためのインタフ
ェースであり、例えば、ハーネス、接続ピン、通信用I
C等の電子デバイスによって実現できる。
【0092】カードは、カードインターフェース110
3と動画処理エンジン1104を有して構成される。ま
た、カードは、カードバス1105を介してシステム側
と結線される。
【0093】第1実施例では、CPUとメモリを用いて
行っていた処理を、ハードウェアが行うように構成し、
該ハードウエアをカードに内蔵し、第1の実施例と同一
の効果を奏するようにした実施例である。
【0094】図12は、カード1102の内部の構成図
である。
【0095】カード内部には、カードインターフェース
1103と、動画処理エンジン1104とを備える。動
画処理エンジン1104は、VLCデコーダ1201、
動き補償エンジン1202、逆量子化エンジン120
3、IDCTエンジン1204、バッファ1205有し
て構成され、これにAC係数フィルタ1206が付加さ
れている。VLCデコーダ1201、動き補償エンジン
1202、逆量子化エンジン1203、IDCTエンジ
ン1204は、それぞれ、VLCデコーダ処理、動き補
償処理、逆量子化処理、IDCT処理を行う手段であ
る。なお、図12に示す各構成要素は、抵抗、各種CM
OS論理素子等の電子デバイスにて実現可能であり、必
要によっては、カスタムIC化することも可能である。
【0096】以下、このカードにおける動作の説明をす
る。なお、図6に示す、変数情報およびデータベース
は、メモリ102内に記憶されているとする。
【0097】カードインターフェース1103は、11
05を介して送信されてくる再生AC係数個数(60
5)を、AC係数フィルタ1206へ送信し、次に、送
信されてくるVLCコードを順次受け取る。
【0098】このコードを、VLCデコーダ1201で
デコードし、動きベクトルデータであれば、動き補償エ
ンジン1202へデータが送られて、動き補償処理が行
われるする。また、データが、DCTブロックデータで
あれば、この中のDC係数は、逆量子化エンジン120
3へ送られ、また、AC係数は、AC係数フィルタ12
06へ送られる。
【0099】AC係数フィルタ1206は、カードイン
ターフェース1103から送信されてくる再生AC係数
個数(605)を内部に保存し、送られてくるAC係数
をカウントして、カウント値が、再生AC係数個数(6
05)の値より小さい場合には、そのAC係数を逆量子
化エンジン1203へ送り、カウント値が、再生AC係
数個数(605)の値より大きくなったら、それ以後
は、AC係数を送出しないようにする。
【0100】AC係数フィルタ1206から、逆量子化
エンジン1203へ送られるAC係数は、量子化されて
いるので、逆量子化エンジン1203によって、逆量子
化処理を行い、処理データをIDCTエンジン1204
へ送る。IDCTエンジン1204では、転送されてき
たAC係数を計算して画像情報を再生する処理を行い、
再生情報を、バッファ1205へ記憶する。また、バッ
ファ1205の記憶内容は、カードインターフェース1
103を介して、VRAM104に書き込まれる処理が
行われ、表示装置105に動画が表示される。
【0101】以上の処理が、図12に示す構成要素によ
って、どのように行われるかについて更に詳しく説明す
る。
【0102】まず、カードインターフェース1103
は、再生AC係数個数(605)を、カードバス110
5を介して得て、AC係数フィルタ1206へ送信し、
AC係数フィルタ1206は、この値を受け取って、内
部に記憶する。
【0103】次に、カードインターフェース1103
は、カードバス1105を介して、VLCを逐次受け取
り、VLCデコーダ1201へ送信する。これを受け取
ったVLCデコーダ1201は、VLCをデコードし
て、動き補償データであれば、動き補償エンジン120
2へ、また、DCTブロックデータであれば、このうち
DC係数は、逆量子化エンジン1203へ転送し、AC
係数は、AC係数フィルタ1206へ転送される。AC
係数フィルタ1206は、内部に記憶している再生AC
係数個数(605)分のデータを、逆量子化エンジン1
203へ転送する。
【0104】AC係数、DC係数が送られてきた、逆量
子化エンジン1203は、データの逆量子化を行い、I
DCTエンジン1204で画像データに変換して、変換
データをバッファ1205に記憶する。また、バッファ
1205に記憶されたデータは、適時、カードインター
フェース1103を介して、VRAM104への書き込
まれ、表示装置105に、再生画像が表示される。
【0105】図13は、カードインターフェース110
3の内部構成図である。
【0106】1301は、アドレスをデコードする機能
を有するアドレスデコーダ、1302は、データセレク
タ、1303は、セレクト信号、1304は、再生AC
係数個数バッファ、1305は、VLC転送バッファ、
1306は、画像データ送出バッファである。
【0107】アドレスデコーダ1301は、カードバス
1105を介して送られてくるデータのアドレスをデコ
ードして、再生AC係数バッファ1304、VLC転送
バッファ1305、画像データ送出バッファ1306に
対応するアドレスであれば、データセレクタ1302へ
セレクト信号1303を送信する。データセレクタ13
02は、セレクト信号1303に基づいて、データバス
と所定のバッファを接続し、各バッファへのデータの読
み書きを行う。
【0108】再生AC係数バッファ1304は、AC係
数フィルタ1206へ、VLC転送バッファ1305
は、VLCデコーダ1201へ、記憶しているデータを
送信し、画像データ送出バッファ1306は、バッファ
1205からのデータを受け取り、カードバス1105
へデータを送信する。
【0109】したがって、カードインターフェース11
01は、次のように動作する。
【0110】CPU101は、システムバス107を介
して、カードバス1105に対して、再生AC係数個数
バッファ1304またはVLC転送バッファ1305に
対するアドレスと、該アドレスに対応するバッファに送
信するためのデータを送る。
【0111】これを、アドレスデコーダ(1301)が
デコードして、再生AC係数個数バッファ1304、ま
たは、VLC転送バッファ1305のいずれのデータで
あるかを、データセレクタ1302に、セレクト信号1
303を使用して伝達する。
【0112】データセレクタ1302は、カードバス1
105と、セレクトされたバッファ(1304または1
305)を接続して、セレクトされたバッファにデータ
を転送する。また、バッファ内のデータを表示する場合
には、画像データ送出バッファ1306は、バッファ1
205からデータを受け取り、カードバス1105へデ
ータを送出する。データは、カードバス1105、シス
テムバス(107)を介して、VRAM104へ書き込
まれ、表示装置105で表示出力される。
【0113】図14は、VLCデコーダの構成図であ
る。
【0114】カードインターフェース1103から、V
LCデータを受取り、VLC参照テーブル1401を参
照して、VLCをデコードする。VLC参照テーブル1
401には、符号化データであるVLCと、DCTとの
関係が対応づけられている。
【0115】VLCデータが、動きベクトルデータであ
れば、動きベクトルバッファ1402へ変換データを転
送し、動き補償エンジンイネーブル信号1403を送信
し、これを受け取った動きベクトルバッファ1402
は、バッファ内部のデータを動き補償エンジン1202
へ送信する。また、DCTブロックのDC係数であれ
ば、DC係数バッファ1404に書き込み、同時に、D
C係数イネーブル信号1405を送信し、DC係数バッ
ファ1404内のデータは、逆量子化エンジン1203
へデータを送信する。また、AC係数であれば、AC係
数バッファ1406へ書き込み、同時に、AC係数イネ
ーブル信号1407を送信し、AC係数バッファ140
6内のデータは、AC係数フィルタ1206へ送信され
る。
【0116】図15は、AC係数フィルタ1206の構
成図である。
【0117】DCTブロックのデータの始まりを示す信
号である、DC係数イネーブル信号1405を、VLC
デコーダ1201から受け取り、AC係数カウンタ15
01をリセットして、順次送られてくるAC係数を受け
取るたびに、このAC係数カウンタ1501をインクリ
メントする。AC係数イネーブル信号1407は、イン
クリメント信号として機能する。
【0118】また、カードインターフェース1103か
ら送られてくる値を、再生AC係数レジスタ1502に
格納し、比較器1503によって、AC係数カウンタ1
501の値と、再生AC係数レジスタ1502の値を比
較し、前者の方が大きな場合には、イネーブル信号15
04をアサートして、AC係数スイッチ1505をオン
にし、後者が大きくなる場合には、イネーブル信号15
04をネゲートして、AC係数スイッチ1505をオフ
にする。これによって、AC係数は、フィルタリングさ
れて再生したい数だけの、AC係数のみが逆量子化エン
ジン1202に送され、逆量子化されることになる。
【0119】図16を参照して、CPU101による処
理を説明する。図中第1実施例でのソフトウェア処理と
同じ処理には、同じ番号を付する。
【0120】まず、処理マシンの「CPU種類」、「C
PU動作周波数」、「描画アクセラレータ」の、マシン
情報をOSから得る(ステップ501)。次に、動画再
生を開始して、動画データに付されたヘッダから、この
動画データを再生すべきフレームレートの情報を得る
(ステップ502)。そして、上記マシン情報を参照し
て、希望する再生フレームレートを実現できるAC係数
の個数を計算し、その数を、再生AC係数の初期値とす
る(ステップ503)。この値を、カードの再生AC係
数レジスタに設定する(ステップ1601)。
【0121】次に、フレームレートの設定操作があるか
否かを調べ(ステップ504)、ある場合、設定画面4
01を表示して(ステップ506)、図4で説明した方
法によって、ユーザの希望するフレームレートを入手す
る(ステップ507)。
【0122】そして、上記マシン情報から、設定した再
生フレームレートを実現できるAC係数の個数を計算
し、該個数を再生AC係数バッファ1304へ書き込む
(ステップ1602)。次に、VLCの形式で記録され
ている画像データをカードに順次転送する(ステップ1
603)。そして、すべてのデータの再生が終了するま
で、ステップ504からの処理を繰り返す。
【0123】図17に、本実施例で使用する、変数とデ
ータベースを示す。
【0124】図中、第1実施例でのソフトウェア処理で
使用する変数、データベースと、同じ変数、データベー
スには、同一の番号を付してある。図6と比較すると、
AC係数カウンタ606、DCT量子化テーブル60
8、DCTデータ609が不要となっていることが分か
る。
【0125】図18からは、本発明にかかる第3実施例
について説明する。
【0126】図面のうち、ハードウェア構成、入力手段
の一例、フレームレート設定時の入力画面は、第1実施
例と同じ構成であるため、図1、図2、図3、図4を参
照する。
【0127】図18は、CPU内での一連の処理の概要
を示したフローチャートである。
【0128】第1実施例と比較して、変更した部分につ
いてのみ、新たな番号を付してあり、図5における番号
と同一番号が付された処理は、図5において説明した処
理と同一の処理である。
【0129】具体的には、第1実施例では、OS等で管
理している、マシンの情報を読み込んで、再生AC係数
の個数の計算に使用したが、本実施例では、再生処理性
能測定ルーチンで、直接再生処理性能を測定し(ステッ
プ1801)、この結果に基づいて、再生AC係数の個
数を求める。したがって、この処理に伴って、新たに必
要となる処理部分について、以下、図19、図20、お
よび図21を参照して説明する。
【0130】図19に、第3実施例において、メモリが
格納する各種変数等を示す。図6と比較して、変数で
は、CPU種類601、CPU動作周波数602、描画
アクセラレータの有無603の変数が不要となり、これ
に代わって、テスト用フレームカウンタ1901、テス
ト用DCTブロック係数カウンタ1902、テスト用A
C係数カウンタ1903、再生時間タイマ1904〜1
906、IDCT演算時間タイマ1907〜1909
が、新たに設けられている。また、データベースでは、
610〜615は、全て不要となり、これに代わって、
再生処理性能測定用データ1910が設けられている。
【0131】次に、図20に、再生処理性能を測定する
処理のフローチャートを示す。
【0132】このルーチンでは、まず、予め用意してあ
るテストデータをメモリ上にロードして(ステップ20
01)、再生処理の初期設定を行い(ステップ200
2)、テストデータの再生処理を開始する。
【0133】まず、再生時間タイマ開始値(1904)
に、開始時間を記録し(ステップ2003)、データが
フレームの先頭であったら(ステップ2004)、テス
ト用フレーム数カウンタ1901の値をインクリメント
して(ステップ2007)、VLCデコードを開始す
る。
【0134】VLCが、動きベクトルであれば(ステッ
プ2007)、動き補償処理を行い(ステップ200
8)、DCTブロックであれば、テスト用DCTブロッ
ク数カウンタ1902の値をインクリメントして(ステ
ップ2009)、AC係数のデコードを行っていく。
【0135】AC係数の値が「0」でなければ(ステッ
プ2010)、AC係数カウンタ606の値をインクリ
メントして(ステップ2011)、AC係数をDCTデ
ータ609に書き込む(ステップ2012)。
【0136】AC係数が「0」となった時点で、逆量子
化を行う(ステップ2013)。
【0137】次に、IDCT演算時間タイマ開始値(ス
テップ1907)に、開始時刻を記録して、IDCTを
行い(ステップ2014)、処理が終了したら、IDC
T演算時間タイマ終了値(ステップ1908)に終了時
刻を記録し(ステップ2016)、IDCT演算時間タ
イマ累計値を計算する(ステップ2017)。
【0138】ここで、IDCT演算時間タイマ累計値と
は、1回のIDCT処理ごとに、IDCT演算時間タイ
マ終了値1908からIDCT演算時間タイマ開始値1
907を減じ、この差分値を、累計していったときの値
である。
【0139】このあと、テスト終了であるか否かを判定
し(ステップ2018)、テストが続行であれば、ステ
ップ2004に処理を戻し、終了していれば、再生時間
タイマ終了値(1905)に、終了時刻を記録し(ステ
ップ2019)、再生時間タイマ差分値(1906)を
計算する(ステップ2020)。再生時間タイマ差分値
は、再生時間タイマ終了値1905の値から、再生時間
タイマ開始値1904の値を減じた値である。
【0140】図21に、第3実施例での、再生AC係数
個数の計算方法について示す。
【0141】まず、図20に示した方法で再生処理性能
を測定し(ステップ2101)、図に示すような数式に
基づいて、再生AC係数の個数を求める(ステップ21
02)。この結果を、再生AC係数の個数(605)と
して出力する(ステップ2103)。
【0142】すなわち、希望するフレームレート(F
r)、テストデータのフレーム数(F)、テストデータ
の再生時間(Ts)、テストデータのIDCT再生時間
(Td)、およびテストデータAC係数の平均値(A
a)を使用し、AC係数の数(A)を、 A=[Aa×
(1−(Ts−Fr×F)/Td)] ([ ]は、ガ
ウス記号)として、Aを求める処理を行う。なお、テス
トデータの再生時間(Ts)、テストデータのIDCT
再生時間(Td)等は、テストデータを使用して計測し
た再生処理性能である。
【0143】図22、図23に、第3実施例における動
画の出力例を示す。
【0144】図22は、従来方式との性能の比較を示
す。従来では、普通の画質(901)で動画を再生して
いくため、性能不足から、フレ−ム落ち(902)が発
生していることが分かる。一方、本実施例では、再生前
にテスト再生(2201)を行って、再生AC係数の個
数を予め調整し、決定しているため、画質を落としても
(903)、フレ−ム落ちが全く無い、再生を行ってい
ることが分かる。
【0145】図23では、本実施例を、高性能のマシン
と、低性能のマシンで動作させた場合の再生状態を示し
た様子を示している。双方ともテスト再生(2201)
を行い、高性能のマシーンでは、高画質の動画再生(9
01)が行え、低性能のマシーンでは、低画質の動画再
生(1001)を行って、フレームレートを、高性能の
マシーンと同一にしている様子が分かる。
【0146】次に、図24等を参照して、第3実施例の
ハードウエアをカード化した構成とする第4実施例につ
いて説明をする。
【0147】ハードウェア全体の構成図は、第2実施例
の構成と変わる点がないので、ここで重複説明すること
は省略する。
【0148】図24に、第4実施例の構成図を示す。図
12と比較して、再生処理性能測定エンジン2402、
AC係数決定エンジン2403を新たに設けて、さら
に、カードインターフェース2401と、VLCデコー
ダ2404の内部構成を変更することによって実現す
る。その他の構成要素は、図12と同一である。
【0149】このカード型のハードウェアによる動作の
概要は、以下のようになる。
【0150】まず、テスト再生処理であることを、カー
ドインターフェース2401が受信すると、このことを
再生処理性能測定エンジン2402に伝え、これを受け
て、再生処理性能測定エンジン2402は、各処理性能
を示すパラメータの測定を開始する。
【0151】次に、VLCデコーダ2404は、テスト
データを受け取り、再生処理性能測定エンジン2404
へ必要な情報を送信する。
【0152】テスト再生が終了したことを、カードイン
ターフェース2401が受信したら、カードインターフ
ェース2401は、テスト再生が終了したことを、再生
処理性能測定エンジン2402へ送信し、これを受け
て、再生処理性能測定エンジン2402は、AC係数再
生数決定エンジン2403へ必要な情報を送信する。
【0153】送信された情報を受け取ったAC係数再生
数決定エンジン2403は、再生AC係数の個数を計算
して、その個数を、AC係数フィルタ1206へ設定す
る。
【0154】図25は、カードインターフェース240
1の構成図である。
【0155】第2実施例におけるカードインターフェー
スの構成を示す、図13と比較すると、テスト再生開始
終了バッファ2501と、希望フレームレートバッファ
2502が、新たに設けられた構成となっている。この
2つのバッファは、VLC転送バッファ1305と同じ
構成のバッファであり、データセレクタ1302から送
信されてきたデータをラッチする機能を有する。
【0156】テスト再生開始終了バッファ2501は、
テスト開始またはテスト終了のコマンドをラッチして、
テスト開始コマンドであれば、テスト開始信号250
3、また、テスト終了コマンドであれば、テスト終了信
号2504を、再生処理性能測定エンジン2402へ送
る。これにより、再生処理性能測定エンジン2402
は、テスト開始またはテスト終了を把握することが可能
となる。
【0157】また、希望フレームレートバッファ250
2の記憶内容は、AC係数再生数決定エンジン2403
へ送られる。
【0158】次に、図26に、再生処理性能測定エンジ
ン2401の構成を示す。
【0159】再生処理性能測定エンジン2401の内部
には、フレーム数カウンタ2602、DCTブロック数
カウンタ2604、AC係数個数カウンタ2605と、
再生時間タイマ2606、DCT演算時間タイマ260
7、DCT演算時間レジスタ2612、テストデータ再
生時間レジスタ2613、テストデータフレーム数レジ
スタ2614、テストデータAC平均数レジスタ261
5を有した構成となっている。
【0160】2602は、フレーム数を計数する、フレ
ーム数カウンタであり、テスト開始信号2503によっ
てリセットされ、図28を参照して後述する、フレーム
開始信号2603によって、値をインクリメントする。
この値は、テストデータフレーム数レジスタ2614
に、テスト終了信号(2504)によってラッチされ、
AC係数再生数決定エンジン2403へ送られる。
【0161】2604は、DCT処理の対象となるブロ
ック数を計数する、DCTブロック数カウンタで、テス
ト開始信号2503によってリセットされ、DCTブロ
ック開始信号1404によって、値をインクリメントす
る。
【0162】また、2605は、AC係数の個数を計数
する、AC係数個数カウンタで、テスト開始信号250
3によってリセットされ、AC係数復号信号1407に
よって、値をインクリメントする。
【0163】この2つの値(DCTブロック数カウンタ
およびAC係数個数カウンタの値)は、除算器2611
で除算され、結果はテストデータフレーム数レジスタ2
614に、テスト終了信号2504をラッチ信号として
ラッチされ、AC係数再生数決定エンジン2403へ送
られる。
【0164】2606は、テストデータを再生するのに
要した時間を計測する、再生時間タイマであり、テスト
開始信号2503によってリセットされ、さらに、スタ
ートして、テスト終了信号2504で終了する。この値
は、テストデータ再生時間レジスタ2613に、テスト
終了信号2504によってラッチされ、AC係数再生数
決定エンジン2403へ送られる。
【0165】2607は、DCT処理に要する時間を計
測する、DCT演算時間タイマであり、テスト開始信号
2503によってリセットして、DCT演算スタート信
号2608によってスタートし、DCT演算終了信号2
608によって停止する。この値は、DCT演算時間レ
ジスタ2612に、テスト終了信号2504によってラ
ッチされ、AC係数再生数決定エンジン2403へ送ら
れる。
【0166】これらのカウンタ、タイマを、テスト再生
開始信号2601でリセットして、各信号によって、カ
ウンタは、インクリメント、タイマは、スタート、スト
ップの動作を行う。テスト再生終了を示す、テスト再生
終了信号2610を受信して、各カウンタ、タイマ値
を、所定のレジスタがラッチして再生処理性能測定エン
ジン2401の処理は、終了する。
【0167】図27は、AC係数再生数決定エンジンの
構成図である。
【0168】再生処理性能測定エンジン2402による
再生処理性能の測定結果、および、カードインタフェー
ス2401が受け取った希望フレームレートのデータに
基づいて、再生AC係数の個数を算出する。
【0169】2701は、除算器、2702は、減算
器、2703は、値が1の定数、2704は、乗算器で
ある。ここで行う計算は、図21のステップ2102に
示した数式による計算である。2614からテストデー
タのフレーム数(F)を、2602から希望するフレー
ムレート(Fr)を、2613からテストデータの再生
時間(Ts)を、2612からテストデータのIDCT
再生時間(Td)を、2615からテストデータAC係
数の平均値(Aa)のデータを得る。
【0170】そして、2701、2702、2703、
2704を使用して、A=[Aa×(1−(Ts−Fr
×F)/Td)] ([ ]は、ガウス記号)なる演算
を行い、再生AC計数の個数Aを求める処理を行う。
【0171】図28は、VLCデコーダの構成図であ
る。図14に示されたVLCデコーダの構成と比較する
と、フレーム開始に相当するデータをデコードした場
合、フレーム開始信号2603を送信する機能を、新た
に付加している。
【0172】図29は、第4実施例における、CPUが
行う処理を示すフローチャートである。
【0173】まず、カードの初期化が終了するのを待ち
(ステップ2901)、次に、テスト開始のための信号
をカードへ発信する(ステップ2902)。
【0174】次に、テストデータの再生を行い(ステッ
プ2903)、テストデータの再生が終了したら、テス
トの終了の旨の信号を、カードに送信する(ステップ2
904)。
【0175】そして、再生すべきVLCコードをカード
に送信する処理を行う(ステップ2905)。再生処理
が完了するまで、ステップ2905における処理を繰り
返す(ステップ2906)。
【0176】図30は、第4の実施例におけるメモリマ
ップである。第3実施例と比較して、カード側にレジス
タやバッファを設けるため、希望フレームレート190
1、VLCデータバッファ607、および再生処理性能
測定用データ1910のみ、システム側のメモリ内に設
けておけば良い。
【0177】次に、第5実施例を図31等の図面を参照
して説明する。
【0178】なお、システム全体のハードウェア構成、
入力手段の一例、フレームレート設定時の入力画面につ
いては、第1実施例と同一であるため、図1、図2、図
3、図4を参照する。
【0179】図31に、第5実施例における、CPUが
行う処理を表すフローチャートを示す。
【0180】図中、第3実施例における処理と同一の処
理には、同一の番号を付している。
【0181】本処理における、装置の再生処理性能を測
定してから、再生AC係数の個数を計算して、該個数を
カードに送信するまでの処理と、フレームレートを希望
の値に変更する処理は、第3実施例で行われる処理と同
じである。本実施例では、MPEGのフレームの集まり
の単位である、いわゆるGOP(Group of Picture)と
称される単位を利用して、このGOP毎に、フレーム落
ちがないかを監視する機能を付加したものである。した
がって、実際の再生処理では、第3実施例で行われる処
理に変更を加える必要がある。
【0182】ステップ1801、502、503におけ
る処理は、第3実施例と同一の処理であるため重複して
説明するのは避ける。ステップ1601において、再生
AC係数の個数を計算して、該個数をカードに送信す
る。
【0183】ステップ504においてフレームレートの
設定を希望するか否かを判断する。
【0184】希望する場合には、ステップ506にブラ
ンチし、希望しない場合には、ステップ3101にブラ
ンチする。
【0185】再生処理を開始して、GOP再生時間タイ
マによる処理時間の計測をスタートし、開始時刻を記憶
しておく(ステップ3101)、フレームカウンタ32
04をクリアし(ステップ3102)、GOPの終わり
か否を判定をする(ステップ3103)。
【0186】GOPの終わりでない場合には、データが
フレームの先頭か否かを判定して(ステップ310
4)、フレームの先頭の場合には、フレームカウンタ3
204の値をインクリメントして(ステップ310
5)、再生処理を行う(ステップ3106)。そっし
て、再生が終了しているか否かを判定し、終了していな
ければ、ステップ3103まで処理を戻す(ステップ3
107)。
【0187】また、ステップ3103において、GOP
の終わりであると判定される場合、GOP再生時間の計
測を終了すべく、GOP再生時間タイマを停止させ、終
了時刻を記録しておく(ステップ3108)、希望再生
時間を計算する(ステップ3109)。希望再生時間
は、フレームカウンタ3204の値を、希望フレームレ
ート604の値で除した値である。
【0188】そして、再生時間が、希望再生時間より大
きくなっているか否かを判断する。
【0189】ここで、再生時間とは、ステップ3108
の終了時刻から、ステップ3101の開始時刻を減じた
時間である。
【0190】そして、再生時間が、希望再生時間より大
きくなっている場合(ステップ3110)、再生AC係
数の個数を、デクリメントする(ステップ3111)。
【0191】図32は、本実施例のメモリマップであ
る。第3の実施例と比較して、さらに、GOP再生タイ
マ(3201〜3203)、フレームカウンタ(320
4)、希望再生時間(3205)が、新たに設けられて
いる。
【0192】図33は、本実施例での処理画像の出力例
を示したものである。
【0193】テスト再生によって再生AC係数の個数を
設定しているが、実際の再生時には、テスト再生より、
処理負荷の大きな再生処理を行うことになってしまい、
フレーム落ち(3302)が、発生してしまう場合があ
る。
【0194】本実施例では、1GOP(3303、33
05)毎に、再生時間を測定して、フレーム落ち(33
02)が発生した場合、再生AC係数の個数を変更し
て、動的に画質を変化して(3304)、フレーム落ち
(3302)が発生しないように再生処理(3305)
を行うように動作する。
【0195】次に、図34等の図面を参照して、第6実
施例について説明する。
【0196】第4実施例と比較して、AC係数再生数変
更エンジン3401を新たに設けて、AC係数フィルタ
3402の内部構成を変更する。
【0197】このハードウエアにおける動作において、
再生AC係数の個数を計算して、該個数をAC係数フィ
ルタ3402へ設定するまでは、第4実施例と同一の動
作である。動作の主たる相違点は、以下に示す点であ
る。
【0198】再生処理が開始してから、AC係数再生数
変更エンジン3401で再生能力をモニタしておき、再
生フレームレートが、希望のフレームレートを満たさな
い場合(すなわち、図31、ステップ3110で「Y」
の場合)、AC係数フィルタ3402へ、再生AC係数
の個数を、「1」減らす旨の要求信号を送信する。
【0199】AC係数フィルタ3402は、この信号を
受信して、再生AC係数の個数を「1」減らす処理を行
う。また、再生時間に余裕があると判断した場合には、
再生AC係数の個数を「1」増やして、可能な限りの高
画質を保持するような構成にしておいても良い。
【0200】次に、図35に、AC係数再生数変更エン
ジンの構成図を示す。
【0201】GOP再生タイマ3501は、GOPスタ
ート信号3502によってリセットされ、同時に、時間
計測をスタートし、GOPエンド信号3550によっ
て、時間計測をストップするという動作を行い、GOP
の再生時間を測定している。
【0202】なお、GOPの再生時間は、GOPスター
ト信号3502をラッチ信号として、3503にラッチ
される。この値は、信号線3507を介して、比較器3
510に入力される。
【0203】また、フレームカウンタ3504は、GO
Pスタート信号3502によってリセットされ、フレー
ムスタート信号3505によって、値がインクリメント
される。
【0204】GOPの再生処理が終了した時点で、除算
器3508は、フレームカウンタ3504の値を、信号
線3506を介して与えられる希望フレームレートで除
算して、希望する再生時間を算出する。なお、除算は、
GOPスタート信号3502をオン信号(オン信号が出
力されている以外は、オフ信号が出力されているとす
る)として、このオン信号によって、スイッチ1505
が作動し、除算器に、フレームカウンタの値が送られる
ことにより行われる。
【0205】この値は、信号線3509を介して比較器
に与えられる。この除算値とGOP再生タイマの値を比
較器3510で比較して、GOP再生タイマの値が大き
い場合、再生AC係数をデクリメントする信号3511
を発信し、GOP再生タイマの値が小さい場合、再生A
C係数をインクリメントする信号(3512)を発信す
る。
【0206】図36に、AC係数フィルタの構成図を示
す。図15とほぼ同一であるが、再生AC係数レジスタ
3601が、インクリメント信号3511、デクリメン
ト信号3512を受信したときに、それぞれ、レジスタ
の内容が、インクリメント、デクリメントされるように
構成されている。
【0207】以上説明したきたように、本発明によれば
以下のような効果を奏する。
【0208】第1、2実施例では、再生処理性能が異な
るシステム上でも、こま落ちのない動画再生装置を実現
できる。すなわち、システムの有する再生処理性能を示
すパラメータを利用して、再生するAC係数の数を決定
することが可能な動画再生装置を実現できる。
【0209】また、第3、4実施例では、予め用意して
いるテストデータを利用して、希望フレームレートで再
生しても、こま落ちのない動画再生装置を、再生するA
C係数の数を動的に変更することによって可能とする装
置を提供できる。
【0210】さらに、第5、6実施例においても、GO
P単位に、こま落ちのない動画再生を実現できる。
【0211】
【発明の効果】希望フレームレートで動画を再生して
も、再生処理性能やテストデータを利用して、再生する
AC係数の数を適宜変更することによって、こま落ちの
ない動画再生を行うことが可能な装置を提供できる。
【図面の簡単な説明】
【図1】第1実施例のハードウェアの構成図である。
【図2】入力装置の1例の構成図である。
【図3】動画再生画面例の説明図である。
【図4】フレームレート設定時の入力画面例の説明図で
ある。
【図5】第1実施例における、CPUの処理フローチャ
ートである。
【図6】第1実施例のメモリマップの説明図である。
【図7】第1実施例の再生AC係数の個数計算のフロー
チャートである。
【図8】第1実施例のVLCデータ変換処理のフローチ
ャートである。
【図9】従来の出力画像の説明図である。
【図10】第1実施例での出力画像の説明図である。
【図11】第2実施例の構成図である。
【図12】第2実施例のカードの構成図である。
【図13】第2実施例のカードインタフェースの構成図
である。
【図14】第2実施例のVLCデコーダの構成図であ
る。
【図15】第2実施例のAC係数フィルタの構成図であ
る。
【図16】第2実施例における、CPUの処理フローチ
ャートである。
【図17】第2実施例のメモリマップの説明図である。
【図18】第3実施例における、CPUの処理フローチ
ャートである。
【図19】第3実施例のメモリマップの説明図である。
【図20】第3実施例の再生処理性能測定処理フローチ
ャートである。
【図21】第3実施例の再生AC係数の個数計算のフロ
ーチャートである。
【図22】第3実施例での出力例の説明図である。
【図23】第3実施例での出力例の説明図である。
【図24】第4実施例のカードの構成図である。
【図25】第4実施例のカードインタフェースの構成図
である。
【図26】第4実施例のパフォーマンス測定エンジンの
構成図である。
【図27】第4実施例の再生AC係数決定エンジンの構
成図である。
【図28】第4実施例のVLCデコーダの構成図であ
る。
【図29】第4実施例における、CPUの処理フローチ
ャートである。
【図30】第4実施例のメモリマップの説明図である。
【図31】第5実施例における、CPUの処理フローチ
ャートである。
【図32】第5実施例のメモリマップの説明図である。
【図33】第5実施例での出力例の説明図である。
【図34】第6実施例のカードの構成図である。
【図35】第6実施例の再生AC係数変更エンジンの構
成図である。
【図36】第6実施例のAC係数フィルタの構成図であ
る。
【図37】MPEGの処理フローの説明図である。
【図38】DCTおよび量子化の説明図である。
【図39】動き補償処理の説明図である。
【図40】MPEGのデコード処理フローの説明図であ
る。
【符号の説明】
101…中央演算処理装置(CPU)、102…メモ
リ、103…大容量記憶装置、104…表示用メモリ
(VRAM)、105…表示装置、106…入力装置、
107…システムバス、201…キーボード、202…
マウス、203…フレームレート決定モード選択ボタ
ン、204…数値入力キー、301…動画再生ウィンド
ウ、302…動画再生スクリーン、303…メニューバ
ー、304…フレームレート設定ボタン、401…フレ
ームレート設定入力画面、402…フレームレート設定
コントロールバー、404…カーソル、901…再生フ
レーム、902…フレーム落ち、903…再生フレー
ム、1101…カードインタフェース、1102…カー
ド、1103…カードインターフェース、1104…動
画処理エンジン、1105…カードバス、1201…V
LCデコーダ、1202…動き補償エンジン、1203
…逆量子化エンジン、1204…IDCTエンジン、1
205…バッファ、1206…AC係数フィルタ、13
01…アドレスデコーダ、1302…データセレクタ、
1303…セレクト信号、1304…再生AC係数バッ
ファ、1305…VLC転送バッファ、1306…画像
データ送出バッファ、1401…VLC参照テーブル、
1402…動きベクトルバッファ、1404…DC係数
バッファ、1406…AC係数バッファ、1501…A
C係数カウンタ、1502…再生AC係数レジスタ、1
503…比較器、1505…スイッチ、2401…カー
ドインターフェース、2402…再生処理性能測定エン
ジン、2403…AC係数決定エンジン、2404…V
LCデコーダ、2501…テスト再生開始終了バッフ
ァ、2502…希望フレームレートバッファ、2604
…DCTブロック数カウンタ、2605…AC係数個数
カウンタ、2606…再生時間タイマ、2607…DC
T演算時間タイマ、2611…除算器、2612…DC
T演算時間レジスタ、2613…テストデータ再生時間
レジスタ、2614…テストデータフレーム数レジス
タ、2615…テストデータAC平均数レジスタ、27
01…除算器、2702…減算器、2704…乗算器、
3301…再生フレーム、3304…再生フレーム、3
302…コマ落ち、3401…AC係数再生数変更エン
ジン、3402…AC係数フィルタ、3501…GOP
再生タイマ、3508…除算器、3510…比較器、3
511…デクリメント信号、3512…インクリメント
信号、
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03M 7/40 9382−5K

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】CPUおよびメモリを少なくとも有し、予
    め定められている規則にしたがって符号化された画像デ
    ータを、復号する装置であって、 符号化された画像データであるVLC(Variable Lengt
    h Code)が与えられると、これを、量子化されたDCT
    (Discrete Cosine Transform:離散余弦変換)係数と
    するデコード手段と、量子化されたDCT係数の各要素
    に、所定の値を乗じ、DCT係数を求める逆量子化手段
    と、求められたDCT係数をIDCT(Inversion Disc
    rete Cosine Transform:逆離散余弦変換)処理し、復
    号された画像データを求めるIDCT処理手段と、前記
    VLCに、動き補償をすべき旨のデータおよび動きベク
    トルが含まれているときに、あるフレームにおける複数
    画素のデータを、前記動きベクトルを参照して移動させ
    た場所に位置するように、次フレームの画像データを生
    成する動き補償処理手段と、画像データを復号する際の
    フレームレートを少なくとも入力する入力手段と、復号
    された画像データを少なくとも表示する表示手段と、D
    CT係数のうち、直流分を表すDC係数を除く、0以外
    の値である、AC係数の数を定める処理手段を備え、 該処理手段は、前記入力手段を介して入力されたフレー
    ムレート、および、予め定められているパラメータであ
    って、前記CPUの動作周波数を含む自装置の処理性能
    を示す性能パラメータを使用し、予め定めた規則に従っ
    てAC係数の数を決定し、決定したAC係数の数を参照
    して、前記IDCT処理手段がIDCT処理の対象とす
    るDCT係数の要素を定め、要素が定められたDCT係
    数を用い、前記符号化に使用した予め定められている規
    則を参照して、画像データを復号することを特徴とする
    動画再生装置。
  2. 【請求項2】請求項1において、AC係数の数を定める
    ための前記予め定めた規則は、前記性能パラメータの値
    を、前記入力されたフレームレートの値で除した値を、
    AC係数の数とすることを特徴とする動画再生装置。
  3. 【請求項3】請求項2において、前記性能パラメータの
    値は、前記CPUの動作周波数、CPUの種類応じて定
    めている係数、描画アクセラレータに対して定めている
    係数であることを特徴とする動画再生装置。
  4. 【請求項4】CPUおよびメモリを少なくとも有し、予
    め定められている規則にしたがって符号化された画像デ
    ータを、着脱可能なカードを接続した状態で、復号する
    装置であって、 装置側は、カードとの間で必要なデータを送受する第1
    インターフェイスと、画像データを復号する際のフレー
    ムレートを少なくとも入力する入力手段と、前記第1イ
    ンターフェイスを介して得られた、復号された画像デー
    タを少なくとも表示する表示手段とを備え、 前記カードは、装置側との間で必要なデータを送受する
    第2インターフェイスと、符号化された画像データであ
    るVLC(Variable Length Code)が与えられると、こ
    れを、量子化されたDCT(Discrete Cosine Transfor
    m:離散余弦変換)係数とするデコード手段と、量子化
    されたDCT係数の各要素に、所定の値を乗じ、DCT
    係数を求める逆量子化手段と、求められたDCT係数を
    IDCT(Inversion Discrete Cosine Transform:逆
    離散余弦変換)処理し、復号された画像データを求める
    IDCT処理手段と、前記VLCに、動き補償をすべき
    旨のデータおよび動きベクトルが含まれているときに、
    あるフレームにおける複数画素のデータを、前記動きベ
    クトルを参照して移動させた場所に位置するように、次
    フレームの画像データを生成する動き補償処理手段と、
    DCT係数のうち、直流分を表すDC係数を除く、0以
    外の値である、AC係数の数を定める処理手段とを備
    え、 該処理手段は、前記入力手段によって入力されたフレー
    ムレート、および、前記第2インターフェイスを介して
    受け取り、予め定められているパラメータであって、前
    記CPUの動作周波数を含む、自装置の処理性能を示す
    性能パラメータとを使用し、予め定めた規則に従ってA
    C係数の数を決定し、決定したAC係数の数を参照し
    て、前記IDCT処理手段がIDCT処理の対象とする
    DCT係数の要素を定め、要素が定められたDCT係数
    を用い、前記符号化に使用した予め定められている規則
    を参照して、画像データを復号し、前記第2インターフ
    ェイスを介して、前記表示手段に与えることを特徴とす
    る動画再生装置。
  5. 【請求項5】CPUおよびメモリを少なくとも有し、予
    め定められている規則にしたがって符号化された画像デ
    ータを、復号する装置であって、 符号化された画像データであるVLC(Variable Lengt
    h Code)が与えられると、これを、量子化されたDCT
    (Discrete Cosine Transform:離散余弦変換)係数と
    するデコード手段と、量子化されたDCT係数の各要素
    に、所定の値を乗じ、DCT係数を求める逆量子化手段
    と、求められたDCT係数をIDCT(Inversion Disc
    rete Cosine Transform:逆離散余弦変換)処理し、復
    号された画像データを求めるIDCT処理手段と、前記
    VLCに、動き補償をすべき旨のデータおよび動きベク
    トルが含まれているときに、あるフレームにおける複数
    画素のデータを、前記動きベクトルを参照して移動させ
    た場所に位置するように、次フレームの画像データを生
    成する動き補償処理手段と、画像データを復号する際の
    フレームレート(Fr)を少なくとも入力する入力手段
    と、復号された画像データを少なくとも表示する表示手
    段と、DCT係数のうち、直流分を表すDC係数を除
    く、0以外の値である、AC係数の数を定める処理手段
    と、AC係数の数を定めるための、所定フレーム数
    (F)分のテストデータを格納する記憶手段と、テスト
    データをデコード手段に与えたとき、前記IDCT処理
    手段による前記テストデータの再生時間(Td)を計測
    するIDCT再生時間計測手段と、テストデータをデコ
    ード手段に与えてから、逆量子化手段およびIDCT処
    理手段によって、画像再生する処理を完了するまでの時
    間(Ts)を計測するテストデータ再生時間計測手段
    と、テストデータを順次デコード手段に与えたとき、逆
    量子化手段およびIDCT処理手段により求めるDCT
    係数からAC係数の数を求めていき、その平均値(A
    a)を求めるテストデータAC係数平均手段を備え、 前記処理手段は、前記フレームレート(Fr)、所定フ
    レーム数(F)、時間(Ts)、再生時間(Td)、お
    よび平均値(Aa)を使用し、予め定めた規則に従って
    AC係数の数を決定し、決定したAC係数の数を参照し
    て、前記IDCT処理手段がIDCT処理の対象とする
    DCT係数の要素を定め、要素が定められたDCT係数
    を用い、前記符号化に使用した予め定められている規則
    を参照して、画像データを復号することを特徴とする動
    画再生装置。
  6. 【請求項6】請求項5において、AC係数の数を定める
    ための前記予め定めた規則は、AC係数の数(A)を、 A=[Aa×(1−(Ts−Fr×F)/Td)]
    ([ ]は、ガウス記号)とすることを特徴とする動画
    再生装置。
  7. 【請求項7】CPUおよびメモリを少なくとも有し、予
    め定められている規則にしたがって符号化された画像デ
    ータを、復号する装置であって、 符号化された画像データであるVLC(Variable Lengt
    h Code)が与えられると、これを、量子化されたDCT
    (Discrete Cosine Transform:離散余弦変換)係数と
    するデコード手段と、量子化されたDCT係数の各要素
    に、所定の値を乗じ、DCT係数を求める逆量子化手段
    と、求められたDCT係数をIDCT(Inversion Disc
    rete Cosine Transform:逆離散余弦変換)処理し、復
    号された画像データを求めるIDCT処理手段と、前記
    VLCに、動き補償をすべき旨のデータおよび動きベク
    トルが含まれているときに、あるフレームにおける複数
    画素のデータを、前記動きベクトルを参照して移動させ
    た場所に位置するように、次フレームの画像データを生
    成する動き補償処理手段と、画像データを復号する際の
    フレームレートを受け付ける入力部と、復号された画像
    データを出力する出力部と、DCT係数のうち、直流分
    を表すDC係数を除く、0以外の値である、AC係数の
    数を定める処理手段を備え、 該処理手段は、入力部を介して入力されたフレームレー
    ト、および、予め定められているパラメータであって、
    前記CPUの動作周波数を含む自装置の処理性能を示す
    性能パラメータを使用し、予め定めた規則に従ってAC
    係数の数を決定し、決定したAC係数の数を参照して、
    前記IDCT処理手段がIDCT処理の対象とするDC
    T係数の要素を定め、要素が定められたDCT係数を用
    い、前記符号化に使用した予め定められている規則を参
    照して、画像データを復号することを特徴とする動画再
    生装置。
JP18481694A 1994-08-05 1994-08-05 動画再生装置 Pending JPH0851625A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18481694A JPH0851625A (ja) 1994-08-05 1994-08-05 動画再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18481694A JPH0851625A (ja) 1994-08-05 1994-08-05 動画再生装置

Publications (1)

Publication Number Publication Date
JPH0851625A true JPH0851625A (ja) 1996-02-20

Family

ID=16159795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18481694A Pending JPH0851625A (ja) 1994-08-05 1994-08-05 動画再生装置

Country Status (1)

Country Link
JP (1) JPH0851625A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005278194A (ja) * 2004-03-25 2005-10-06 Sony Corp 画像復号装置及びその方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005278194A (ja) * 2004-03-25 2005-10-06 Sony Corp 画像復号装置及びその方法、並びにプログラム

Similar Documents

Publication Publication Date Title
JP2912593B2 (ja) マルチメディアデータの符号化および復号化のためのシステム、マルチメディアデータの圧縮および伸長のためのmpegシステム、ならびにマルチメディアデータの圧縮および伸長の方法
US6219381B1 (en) Image processing apparatus and method for realizing trick play
US5822541A (en) Compressed video data amount reducing device, compressed video data amount reducing system and compressed video data amount reducing method
US8477843B2 (en) Method of implementing improved rate control for a multimedia compression and encoding system
US7403561B2 (en) Fixed bit rate, intraframe compression and decompression of video
JP2001346216A (ja) 動画像圧縮方法および情報処理装置
US7657108B2 (en) Encoding of digital data combining a plurality of encoding modes
US20020113898A1 (en) Picture processing apparatus and method, and recording medium
US20080205527A1 (en) Video decoding device and method, and video coding device
US20020041630A1 (en) Compression-encoded data decoding apparatus
US7050700B2 (en) Picture compression managing apparatus and picture compression managing method used therefor
EP1892965A2 (en) Fixed bit rate, intraframe compression and decompression of video
JP3619612B2 (ja) ビデオデータ流の全ての画素に対するビデオデータ流の符号化と復号化のための方法及び装置
US6438166B2 (en) Method and a apparatus for controlling a bit rate of picture data, and a storage medium which stores a program for controlling the bit rate
JPH0851625A (ja) 動画再生装置
WO2004091221A2 (en) Fixed bit rate, intraframe compression and decompression of video
JP2004518199A (ja) コーディング
US20020087933A1 (en) Quantization unit setting apparatus, quantization unit setting method, coding apparatus, coding method, and information record medium
CN117041583A (zh) 一种视频压缩方法、装置、设备及介质
JPH07282594A (ja) 可変長デジタル・コード解読器のシフタ段装置
WO2008065249A1 (en) Image processing method
US20020057743A1 (en) Video MP3 system with apparatus and method for generating and restoring reduced video data
JP2828920B2 (ja) テストレジスタを備えるディジタル処理回路
JPH01103387A (ja) 予測符号化による画像データの圧縮装置
JP3586749B2 (ja) 画像圧縮装置、画像伸張装置、画像圧縮方法及び画像伸張方法