(57)【特許請求の範囲】
【請求項１】
複数のバッファを備えたフレームバッファと、
所定の画像圧縮符号化方式で圧縮符号化された動画像データを記憶している記憶装置と、
前記記憶装置から圧縮された画像データを読み込んで１フレーム毎に復号し、当該復号した画像データを前記フレームバッファに格納するビデオデコード部と、
１フレームの画像データを復号する度に切り替え、前記フレームバッファ内に常に前回復号した画像と今回復号した画像を格納するように制御する画像格納バッファ切り替え部と、
表示切り替え指定を受けた後に、次の垂直ブランキング期間に表示する前記複数のバッファを切り替えてディスプレイに表示する表示制御部と、
前記表示制御部から現在のスキャンラインを取得して当該スキャンライン値によって前記表示切り替え指定の発行タイミングを調整するタイミング調整部を有する
ことを特徴とする動画像再生システム。
【請求項２】
前記タイミング調整部は、１フレームを２つのフィールドに分けて表示する場合、先に表示する片方のフィールドを表示する時に、前記ディスプレイのスキャンライン値を取得して前記表示切り替え指定のタイミングを調整することを特徴とする請求項１に記載の動画像再生システム。
【請求項３】
所定の画像圧縮符号化方式で圧縮符号化された動画像データを記憶装置に記憶する工程と、
前記記憶装置から圧縮された画像データを読み込んで１フレーム毎に復号し、当該復号した画像データをビデオデコード部を用いて、複数のバッファを備えたフレームバッファに格納する工程と、
１フレームの画像データを復号する度に切り替え、前記フレームバッファ内に常に前回復号した画像と今回復号した画像を格納するように画像格納バッファ切り替え部を用いて制御する工程と、
表示切り替え指定を受けた後に、次の垂直ブランキング期間に表示する前記複数のバッファを切り替えてディスプレイに表示制御部を用いて表示する工程と、
前記表示制御部から現在のスキャンラインを取得して当該スキャンライン値によって前記表示切り替え指定の発行タイミングをタイミング調整部を用いて調整する工程を有する
ことを特徴とする動画像再生方法。
【請求項４】
１フレームを２つのフィールドに分けて表示する場合、先に表示する片方のフィールドを表示する時に、前記ディスプレイのスキャンライン値を取得して前記表示切り替え指定のタイミングを調整する工程を有することを特徴とする請求項３に記載の動画像再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画の再生技術に係り、特にディスプレイの表示周期を監視し動画像をスムーズに再生するための動画像再生システム及び動画像再生方法に関する。
【０００２】
【従来の技術】
従来の動画像再生方法の構成を図８に示す。図８において、８０は記憶装置、８１はビデオデコード部、８２は画像格納バッファ切り替え部、８３はフレームバッファ、８４は表示バッファ切り替え部、８６は表示制御部、８７は時計部を示している。
【０００３】
図８を参照すると、従来の動画像再生方法は、記憶装置８０と、ビデオデコード部８１と、画像格納バッファ切り替え部８２と、複数のバッファ１，２，３，…で構成されるフレームバッファ８３と、垂直ブランキング期間ＶＳＹＮＣに応じて複数のバッファ１，２，３，…からの一のバッファ信号を選択して表示制御部８６に供給する表示バッファ切り替え部８４と、ディスプレイ（不図示）を表示制御する表示制御部８６と、時計部８７とから構成されている。表示制御部８６で表示制御されるディスプレイ（不図示）は、１秒間に６０枚の表示が可能である。従来の動画像再生方法では、ビデオ画面が秒間３０枚の表示が可能である。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような構成を有する従来の動画像再生方法では、時計部８７からの時間情報を参照するビデオデコード部８１において時間を見て表示切り替え指定の発行タイミングを調整しており、ディスプレイ（不図示）の表示周期と同期していないため、表示切り替えの指定タイミングとディスプレイ（不図示）の表示周期との間にずれが生じるという問題点があった。さらに、ビデオデコード部８１が指定する表示切り替え指定のタイミングにふらつきがあると、後述する図５（ａ）のように表示間隔が長くなったり、短くなったりしてスムーズな再生にならないという問題点もあった。
【０００５】
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、ディスプレイの表示周期を監視し動画像をスムーズに再生するための動画像再生システム及び動画像再生方法を提供する点にある。
【０００６】
【課題を解決するための手段】
この発明の請求項１に記載の発明の要旨は、複数のバッファを備えたフレームバッファと、所定の画像圧縮符号化方式で圧縮符号化された動画像データを記憶している記憶装置と、前記記憶装置から圧縮された画像データを読み込んで１フレーム毎に復号し、当該復号した画像データを前記フレームバッファに格納するビデオデコード部と、１フレームの画像データを復号する度に切り替え、前記フレームバッファ内に常に前回復号した画像と今回復号した画像を格納するように制御する画像格納バッファ切り替え部と、表示切り替え指定を受けた後に、次の垂直ブランキング期間に表示する前記複数のバッファを切り替えてディスプレイに表示する表示制御部と、前記表示制御部から現在のスキャンラインを取得して当該スキャンライン値によって前記表示切り替え指定の発行タイミングを調整するタイミング調整部を有することを特徴とする動画像再生システムに存する。
また、この発明の請求項２に記載の発明の要旨は、前記タイミング調整部は、１フレームを２つのフィールドに分けて表示する場合、先に表示する片方のフィールドを表示する時に、前記ディスプレイのスキャンライン値を取得して前記表示切り替え指定のタイミングを調整することを特徴とする請求項１に記載の動画像再生システムに存する。
また、この発明の請求項３に記載の発明の要旨は、所定の画像圧縮符号化方式で圧縮符号化された動画像データを記憶装置に記憶する工程と、前記記憶装置から圧縮された画像データを読み込んで１フレーム毎に復号し、当該復号した画像データをビデオデコード部を用いて、複数のバッファを備えたフレームバッファに格納する工程と、１フレームの画像データを復号する度に切り替え、前記フレームバッファ内に常に前回復号した画像と今回復号した画像を格納するように画像格納バッファ切り替え部を用いて制御する工程と、表示切り替え指定を受けた後に、次の垂直ブランキング期間に表示する前記複数のバッファを切り替えてディスプレイに表示制御部を用いて表示する工程と、前記表示制御部から現在のスキャンラインを取得して当該スキャンライン値によって前記表示切り替え指定の発行タイミングをタイミング調整部を用いて調整する工程を有することを特徴とする動画像再生方法に存する。
また、この発明の請求項４に記載の発明の要旨は、１フレームを２つのフィールドに分けて表示する場合、先に表示する片方のフィールドを表示する時に、前記ディスプレイのスキャンライン値を取得して前記表示切り替え指定のタイミングを調整する工程を有することを特徴とする請求項３に記載の動画像再生方法に存する。
【０００７】
【発明の実施の形態】
（第１の実施の形態）
以下、本発明の第１の実施の形態を図面に基づいて詳細に説明する。図１は、本発明の第１の実施の形態に係る動画像再生システム２０を説明するための機能ブロック図である。図１において、１０は記憶装置、１１はビデオデコード部、１２は画像格納バッファ切り替え部、１３はフレームバッファ、１，２及び３はフレームバッファ１３を構成するバッファ、１４は表示バッファ切り替え部、１５はタイミング調整部、１６は表示制御部、１７は時計部、２０は本実施の形態の動画像再生システム、ＶＳＹＮＣは垂直ブランキング期間を示している。
【０００８】
図１を参照すると、本実施の形態の動画像再生システム２０は、記憶装置１０と、ビデオデコード部１１と、画像格納バッファ切り替え部１２と、フレームバッファ１３と、表示バッファ切り替え部１４と、タイミング調整部１５と、表示制御部１６と、時計部１７を中心にして構成されている。
【０００９】
フレームバッファ１３は、２枚以上のバッファ（バッファ１，バッファ２，バッファ３，…）を備えている。記憶装置１０は、ＭＰＥＧ方式（所定の画像圧縮符号化方式の一例）等で圧縮符号化された動画像データを記憶している。
【００１０】
ビデオデコード部１１は、記憶装置１０から圧縮された画像データを読み込んで１フレーム毎に復号する。また、復号した画像データを画像格納バッファ切り替え部１２を介してフレームバッファ１３に格納する。
【００１１】
画像格納バッファ切り替え部１２は、１フレームの画像データを復号する度に切り替えられ、フレームバッファ１３内に常に前回復号した画像と今回復号した画像とが格納されるように制御する。
【００１２】
タイミング調整部１５は、表示制御部１６から現在のスキャンライン（ディスプレイ（不図示）が現在描画している走査線）を取得して当該スキャンライン値によって表示切り替え指定の発行タイミングを調整する。
【００１３】
表示制御部１６は、表示切り替え指定を受けた後に、次の垂直ブランキング期間ＶＳＹＮＣに表示するバッファ（バッファ１，バッファ２，バッファ３，…）を切り替えてディスプレイ（不図示）に表示する。
【００１４】
次に、動画像再生システム２０の動作（動画像再生方法）について説明する。
【００１５】
図１を参照すると、記憶装置１０は、圧縮された動画像データを記憶している。ビデオデコード部１１で復号された動画像データは、フレームバッファ１３に格納される。
【００１６】
フレームバッファ１３は、複数（２枚以上）のバッファ１，バッファ２，バッファ３，…によって構成されている。ビデオデコード部１１で復号された動画像データは、画像格納バッファ切り替え部１２によって指定されたバッファ（バッファ１，バッファ２，バッファ３，…）に格納される。タイミング調整部１５は、表示制御部１６から現在のスキャンライン（すなわち、ディスプレイ（不図示）が現在描画している走査線）を取得してスキャンライン値によって表示切り替え指定の発行タイミングを調整する。
【００１７】
表示制御部１６は、表示切り替え指定を受けた後に、次の垂直ブランキング期間ＶＳＹＮＣに表示するバッファ（バッファ１，バッファ２，バッファ３，…）を切り替えてディスプレイ（不図示）に表示する。
【００１８】
これにより、現在のスキャンライン値から表示切り替え指定の発行タイミングを調整することによって動画像データをスムーズに再生できるようになるといった効果を奏する。
【００１９】
次に、図１から図５を参照して本実施の形態の全体の動作について詳細に説明する。図２は、本発明の第１の実施の形態に係る動画像再生方法を説明するためのフローチャート、図３は、動画像再生時に再生したフレームと各フレームデコード後に取得したスキャンライン値の関係を説明するためのグラフ、図４は、表示切り替え指定する直前にスキャンライン値を取得した場合の、再生したフレームとスキャンライン値の関係を説明するためのグラフ、図５は、各フレームの表示時間を説明するための信号図である。図３，４において、横軸は再生フレーム、縦軸はスキャンライン値である。
【００２０】
図２を参照すると、本実施の形態では、処理の開始に続いてまずステップＳ１を実行する。ステップＳ１では、ビデオデコード部１１で記憶装置１０より圧縮された動画像データを読み込み、１フレーム分のビデオデコードを行う（１フレームビデオデコード）。また、デコードされた画像データは、画像格納バッファ切り替え部１２を介してフレームバッファ１３内に順番に格納される。ここで、フレームバッファ１３内の各バッファ（バッファ１，バッファ２，バッファ３，…）はリングバッファの構成をとっており、本実施の形態のようにバッファ１からバッファ３までの３つのバッファがある場合、バッファ１，バッファ２，バッファ３，バッファ１の順に１フレームずつ格納されることになる。
【００２１】
ステップＳ１に続くステップＳ２では、時計部１７から現在のシステムの時間（時間情報）を読み込み、表示を更新すべき時間になるまで待つ（時間待ち）。
ここで、表示を更新すべき時間とは、例えば、秒間３０枚のフレームを表示すべき動画像データを意味し、例えば、１フレーム目を時間０（ゼロ）で表示した場合、２フレーム目の表示を更新すべき時間は約３３ｍｓ（ミリ秒），３フレーム目の表示を更新すべき時間は約６７ｍｓとなる。
【００２２】
ステップＳ２に続くステップＳ３では、タイミング調整部１５が表示制御部１６から現在のスキャンライン値を取得する。ここで、図３を参照して、動画像再生時に再生したフレームと各フレームデコード後にステップＳ３で取得したスキャンライン値の関係を説明する。なお、以下の説明では、ディスプレイ（不図示）は１秒間に６０回、スキャンライン値が０（ゼロ）から７６７の間で遷移し、（７６７から０に移る部分が垂直ブランキング期間ＶＳＹＮＣとなる）動画像の表示は１秒間に３０回だけ行うものとする。
【００２３】
本来、理想的なシステムであればディスプレイ（不図示）が２回だけ、０（ゼロ）〜７６７までをスキャンする毎に１枚の画像が表示されるので、再生したフレームとスキャンライン値の関係は図３（ａ）に示すようになるはずである。また、ディスプレイ（不図示）とシステムの時間が同期していない場合は、図３（ｂ）に示すように、ステップＳ３で取得したスキャンライン値は少しずつずれる現象が発生する。さらに、ステップＳ２で取得する時間情報の精度が悪く、ふらつきのある場合は図３（ｃ）に示すようになる。図３（ｃ）ではおよそ右上がりのグラフになっているが、ディスプレイ（不図示）とシステムの時間の関係によって右下がりのグラフになる場合もある。
【００２４】
ステップＳ３に続くステップＳ４では、ステップＳ３におけるディスプレイ（不図示）とシステム（動画像再生システム２０）の時間の関係が右上がりのシステムなのか、右下がりのシステムなのかを判定する。判定方法については特に記述しないが、ステップＳ３でフレーム毎にスキャンライン値を取得しているので判定可能である。
【００２５】
ステップＳ４の判定において右下がりのグラフであると判定した場合（ステップＳ４の「右下がり」）、ステップＳ５においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつ、スキャンライン値がある一定値以下かどうかを判定する。ステップＳ５で、ある一定値とはスキャンラインが遷移する範囲の１／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は、１９２以下かどうかを判定することになる。
【００２６】
ステップＳ５の判定において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつスキャンライン値がある一定値以下であると判断した場合は（ステップＳ５の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＮにして（ステップＳ６）、ステップＳ１３を実行する。
【００２７】
また、それ以外の場合は（ステップＳ５の「いいえ」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつスキャンライン値がある一定の範囲内か否かを判定する（ステップＳ７）。
【００２８】
ステップＳ７で、ある一定の範囲内とは、スキャンラインが遷移する範囲の２／４から３／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は、３８４から５７６の範囲かどうかを判定することになる。
【００２９】
ステップＳ７においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつ、スキャンライン値がある一定の範囲内であると判断した場合は（ステップＳ７の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＦＦにして（ステップＳ８）、ステップＳ１３を実行する。
【００３０】
また、ステップＳ７においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮでない場合、または、スキャンライン値がある一定の範囲内でないと判断した場合は（ステップＳ７の「いいえ」）、ステップＳ１３を実行する。
【００３１】
一方、ステップＳ４の判定で右上がりのグラフであると判定した場合（ステップＳ４の「右上がり」）、ステップＳ９を実行する。ステップＳ９では、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつスキャンライン値がある一定値以上かどうかを判定する。ステップＳ９で、ある一定値とはスキャンラインが遷移する範囲の３／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は、５７６以上かどうかを判定することになる。
【００３２】
ステップＳ９の判定において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつスキャンライン値がある一定値以上であると判断した場合は（ステップＳ９の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＮにして（ステップＳ１０）、ステップＳ１３を実行する。
【００３３】
タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦでない場合、またはスキャンライン値がある一定値より小さいと判断した場合は（ステップＳ９の「いいえ」）、ステップＳ１１を実行する。
【００３４】
ステップＳ１１においては、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつスキャンライン値がある一定の範囲内か否かを判定する。ステップＳ１１で、ある一定の範囲内とはスキャンラインが遷移する範囲の１／４から２／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は１９２から３８４の範囲かどうかを判定することになる。
【００３５】
ステップＳ１１において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつスキャンライン値がある一定の範囲内であると判断した場合は（ステップＳ１１の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＦＦにして（ステップＳ１２）、ステップＳ１３を実行する。
【００３６】
ステップＳ１１において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮでない場合、またはスキャンライン値がある一定の範囲以外であると判断した場合は（ステップＳ１１の「いいえ」）、ステップＳ１３を実行する。
【００３７】
ステップＳ１３では、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮか否かをチェックし、ＯＮであれば（ステップＳ１３の「ＯＮ」）、ステップＳ１４を実行してタイミングを調整するため数ｍｓだけ待つ処理（時間待ちの処理）を実行する。
【００３８】
ステップＳ１４における数ｍｓとは、ディスプレイ（不図示）がスキャンラインを１画面分スキャンする時間の１／４から１／２の間程度でよい。例えば、ディスプレイ（不図示）が１秒間に６０回スキャンする場合は６ｍｓ程度でよい。
【００３９】
一方、ステップＳ１３においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであれば（ステップＳ１３の「ＯＦＦ」）、ステップＳ１４を飛ばしてステップＳ１５に進む。
【００４０】
ステップＳ１５では、表示制御部１６に対して表示切り替え指定を行う。これに応じて表示制御部１６が、表示切り替え指定を受けた後の垂直ブランキング期間ＶＳＹＮＣで１フレーム表示の更新をする。
【００４１】
ステップＳ１６では、再生が終わったかどうかを判定し、再生が終わるまで（ステップＳ１６の「いいえ」）、ステップＳ１からステップＳ１５の処理を繰り返す。再生が終わった場合は（ステップＳ１６の「はい」）、処理を終了する。
【００４２】
このように、ステップＳ１４でタイミング調整をすることによって、図示していないが、ステップＳ１５で表示切り替え指定する直前にスキャンライン値を取得した場合、再生したフレームとスキャンライン値の関係は図４に示すように調整される。
【００４３】
また、各フレームの表示時間を別の図で説明すると図５のようになる。図５（ａ）は、図３（ｃ）の範囲ａで示す部分を時間軸上で示した図である。図５（ａ）中、黒丸印●は表示切り替えを指定した時間である。表示制御部１６では表示切り替えの指定を受けた後に、次の垂直ブランキング期間ＶＳＹＮＣで表示を切り替えるため、各フレームの表示時間は図のようにふらつきがある。
【００４４】
これに対して、本実施の形態を適用した場合は、図５（ｂ）に示すようになる。図５（ｂ）中、白丸印○は表示制御部１６からスキャンラインを取得した時間であり、図中、黒丸印●は表示切り替えを指定した時間である。表示制御部１６では表示切り替えの指定を受けた後に、次の垂直ブランキング期間ＶＳＹＮＣで表示を切り替えるため、各フレームの表示時間は図のようになり、その結果、ふらつきがなくなる。
【００４５】
このようにシステムから取得する時間情報の精度が悪く、ふらつきのある場合でもスムーズな動画像再生ができるようになる。
【００４６】
以上説明したように本実施の形態によれば以下に掲げる効果を奏する。まず第１の効果は、システムから取得する時間情報の精度が悪くふらつきのある場合でも、スムーズに動画像を再生できることである。その理由は、ディスプレイ（不図示）のスキャンライン値によって表示のタイミングを調整するためである。
【００４７】
そして第２の効果は、デコードした画像を無駄無く表示できることである。その理由は、先に表示する片方のフィールドについて、ディスプレイ（不図示）のスキャンライン値によって表示のタイミングを調整するためである。
【００４８】
（第２の実施の形態）
以下、本発明の第２の実施の形態を図面に基づいて詳細に説明する。図６は、本発明の第２の実施の形態に係る動画像再生方法を説明するためのフローチャート、図７は、各フレームの表示時間を説明するための信号図である。なお、上記第１の実施の形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。
【００４９】
第１の実施の形態の説明では、１秒間に３０枚のフレームを表示する場合の例を示したが、各フレームを２つのフィールドに分け、１秒間に６０枚のフィールドを表示するようにしてもよい。１秒間に６０枚のフィールドを表示する場合のフローチャートを図６に示す。
【００５０】
図６を参照すると、本実施の形態では、処理の開始に続いてまずステップＳ６１を実行する。ステップＳ６１では、ビデオデコード部１１で記憶装置１０より圧縮された動画像データを読み込み、１フレーム分のビデオデコードを行う（１フレームビデオデコード）。また、デコードされた画像データは、画像格納バッファ切り替え部１２を介してフレームバッファ１３内に順番に格納される。ここで、フレームバッファ１３内の各バッファ（バッファ１，バッファ２，バッファ３，…）はリングバッファの構成をとっており、本実施の形態のようにバッファ１からバッファ３までの３つのバッファがある場合、バッファ１，バッファ２，バッファ３，バッファ１の順に１フレームずつ格納されることになる。
【００５１】
ステップＳ６１に続くステップＳ６２では、時計部１７から現在のシステムの時間（時間情報）を読み込み、表示を更新すべき時間になるまで待つ（時間待ち）。ここで、表示を更新すべき時間とは、例えば、秒間３０枚のフレームを表示すべき動画像データを意味し、例えば、１フレーム目を時間０（ゼロ）で表示した場合、２フレーム目の表示を更新すべき時間は約３３ｍｓ（ミリ秒），３フレーム目の表示を更新すべき時間は約６７ｍｓとなる。
【００５２】
ステップＳ６２に続くステップＳ６３では、タイミング調整部１５が表示制御部１６から現在のスキャンライン値を取得する。ここで、図３を参照して、動画像再生時に再生したフレームと各フレームデコード後にステップＳ６３で取得したスキャンライン値の関係を説明する。なお、以下の説明では、ディスプレイ（不図示）は１秒間に６０回、スキャンライン値が０（ゼロ）から７６７の間で遷移し、（７６７から０に移る部分が垂直ブランキング期間ＶＳＹＮＣとなる）動画像の表示は１秒間に３０回だけ行うものとする。
【００５３】
本来、理想的なシステムであればディスプレイ（不図示）が２回だけ、０（ゼロ）〜７６７までをスキャンする毎に１枚の画像が表示されるので、再生したフレームとスキャンライン値の関係は図３（ａ）に示すようになるはずである。また、ディスプレイ（不図示）とシステムの時間が同期していない場合は、図３（ｂ）に示すように、ステップＳ６３で取得したスキャンライン値は少しずつずれる現象が発生する。さらに、ステップＳ６２で取得する時間情報の精度が悪く、ふらつきのある場合は図３（ｃ）に示すようになる。図３（ｃ）ではおよそ右上がりのグラフになっているが、ディスプレイ（不図示）とシステムの時間の関係によって右下がりのグラフになる場合もある。
【００５４】
ステップＳ６３に続くステップＳ６４では、ステップＳ６３におけるディスプレイ（不図示）とシステム（動画像再生システム２０）の時間の関係が右上がりのシステムなのか、右下がりのシステムなのかを判定する。判定方法については特に記述しないが、ステップＳ６３でフレーム毎にスキャンライン値を取得しているので判定可能である。
【００５５】
ステップＳ６４の判定において右下がりのグラフであると判定した場合（ステップＳ６４の「右下がり」）、ステップＳ６５においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつ、スキャンライン値がある一定値以下かどうかを判定する。ステップＳ６５で、ある一定値とはスキャンラインが遷移する範囲の１／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は、１９２以下かどうかを判定することになる。
【００５６】
ステップＳ６５の判定において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつスキャンライン値がある一定値以下であると判断した場合は（ステップＳ６５の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＮにして（ステップＳ６６）、ステップＳ７３を実行する。
【００５７】
また、それ以外の場合は（ステップＳ６５の「いいえ」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつスキャンライン値がある一定の範囲内か否かを判定する（ステップＳ６７）。
【００５８】
ステップＳ６７で、ある一定の範囲内とは、スキャンラインが遷移する範囲の２／４から３／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は、３８４から５７６の範囲かどうかを判定することになる。
【００５９】
ステップＳ６７においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつ、スキャンライン値がある一定の範囲内であると判断した場合は（ステップＳ６７の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＦＦにして（ステップＳ６８）、ステップＳ７３を実行する。
【００６０】
また、ステップＳ６７においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮでない場合、または、スキャンライン値がある一定の範囲内でないと判断した場合は（ステップＳ６７の「いいえ」）、ステップＳ７３を実行する。
【００６１】
一方、ステップＳ６４の判定で右上がりのグラフであると判定した場合（ステップＳ６４の「右上がり」）、ステップＳ６９を実行する。ステップＳ６９では、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつスキャンライン値がある一定値以上かどうかを判定する。ステップＳ６９で、ある一定値とはスキャンラインが遷移する範囲の３／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は、５７６以上かどうかを判定することになる。
【００６２】
ステップＳ６９の判定において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであって、かつスキャンライン値がある一定値以上であると判断した場合は（ステップＳ６９の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＮにして（ステップＳ７０）、ステップＳ７３を実行する。
【００６３】
タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦでない場合、またはスキャンライン値がある一定値より小さいと判断した場合は（ステップＳ６９の「いいえ」）、ステップＳ７１を実行する。
【００６４】
ステップＳ７１においては、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつスキャンライン値がある一定の範囲内か否かを判定する。ステップＳ７１で、ある一定の範囲内とはスキャンラインが遷移する範囲の１／４から２／４程度でよい。例えば、スキャンライン値が０（ゼロ）から７６７の間で遷移する場合は１９２から３８４の範囲かどうかを判定することになる。
【００６５】
ステップＳ７１において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮであって、かつスキャンライン値がある一定の範囲内であると判断した場合は（ステップＳ７１の「はい」）、タイミング調整フラグ（チャート内では単に「フラグ」と略記）をＯＦＦにして（ステップＳ７２）、ステップＳ７３を実行する。
【００６６】
ステップＳ７１において、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮでない場合、またはスキャンライン値がある一定の範囲以外であると判断した場合は（ステップＳ７１の「いいえ」）、ステップＳ７３を実行する。
【００６７】
ステップＳ７３では、タイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＮか否かをチェックし、ＯＮであれば（ステップＳ７３の「ＯＮ」）、ステップＳ７４を実行してタイミングを調整するため数ｍｓだけ待つ処理（時間待ちの処理）を実行する。
【００６８】
ステップＳ７４における数ｍｓとは、ディスプレイ（不図示）がスキャンラインを１画面分スキャンする時間の１／４から１／２の間程度でよい。例えば、ディスプレイ（不図示）が１秒間に６０回スキャンする場合は６ｍｓ程度でよい。
【００６９】
一方、ステップＳ７３においてタイミング調整フラグ（チャート内では単に「フラグ」と略記）がＯＦＦであれば（ステップＳ７３の「ＯＦＦ」）、ステップＳ７４を飛ばしてステップＳ７５に進む。
【００７０】
ステップＳ７５では、１つのバッファ（バッファ１，バッファ２，バッファ３，…）内の片フィールド分について表示切り替え指定を行い、さらに１６ｍｓ後に同一バッファ（バッファ１，バッファ２，バッファ３，…）内の残りの片フィールド分について表示切り替え指定を行う（ステップＳ７６）。
【００７１】
なお、本実施の形態では、ステップＳ７６が終了してから次のフレームをデコードするようになっているが、ステップＳ７６の残りの片フィールド分について表示切り替え指定が完了する前に次のフレームをデコードしてもよい。この場合は、フレームのデコード中に、残りの片フィールド分について表示切り替え指定がなされることになる。
【００７２】
ステップＳ７７では、再生が終わったかどうかを判定し、再生が終わるまで（ステップＳ７７の「いいえ」）、ステップＳ６１からステップＳ７６の処理を繰り返す。再生が終わった場合は（ステップＳ７７の「はい」）、処理を終了する
【００７３】
このように１秒間に６０枚のフィールドを表示するようにした場合の各フレームの表示時間を図７に示す。図７（ａ）は、本実施の形態を適用する前の図であり、図中、黒丸印●は片フィールドの表示切り替えを指定した時間、黒い三角印▲は残りの片フィールドの表示切り替えを指定した時間である。表示制御部１６では表示切り替えの指定を受けた後に、次の垂直ブランキング期間ＶＳＹＮＣで表示を切り替えるため、図のように表示されないフィールドがある。
【００７４】
これに対して、本実施の形態を適用した場合は、図７（ｂ）に示すようになる。図中、白丸印○は表示制御部１６からスキャンラインを取得した時間であり、黒丸印●は片フィールドの表示切り替えを指定した時間、黒い三角印▲は残りの片フィールドの表示切り替えを指定した時間である。表示制御部１６では表示切り替えの指定を受けた後に、次の垂直ブランキング期間ＶＳＹＮＣで表示を切り替えるため、各フレームの表示時間は図のようになり、すべてのフィールドが表示される。
【００７５】
以上説明したように本実施の形態によれば上記第１の実施の形態と同様の効果を奏する。
【００７６】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、上記各実施の形態は適宜変更され得ることは明らかである。また上記構成部材の数、位置、形状等は上記各実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。また、各図において、同一構成要素には同一符号を付している。
【００７７】
【発明の効果】
本発明は以上のように構成されているので、以下に掲げる効果を奏する。まず第１の効果は、システムから取得する時間情報の精度が悪くふらつきのある場合でも、スムーズに動画像を再生できることである。その理由は、ディスプレイのスキャンライン値によって表示のタイミングを調整するためである。
【００７８】
そして第２の効果は、デコードした画像を無駄無く表示できることである。その理由は、先に表示する片方のフィールドについて、ディスプレイのスキャンライン値によって表示のタイミングを調整するためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る動画像再生システムを説明するための機能ブロック図である。
【図２】本発明の第１の実施の形態に係る動画像再生方法を説明するためのフローチャートである。
【図３】動画像再生時に再生したフレームと各フレームデコード後に取得したスキャンライン値の関係を説明するためのグラフである。
【図４】表示切り替え指定する直前にスキャンライン値を取得した場合の、再生したフレームとスキャンライン値の関係を説明するためのグラフである。
【図５】各フレームの表示時間を説明するための信号図である。
【図６】本発明の第２の実施の形態に係る動画像再生方法を説明するためのフローチャートである。
【図７】各フレームの表示時間を説明するための信号図である。
【図８】従来の動画像再生方法の構成を示す図である。
【符号の説明】
１，２，３…バッファ
１０…記憶装置
１１…ビデオデコード部
１２…画像格納バッファ切り替え部
１３…フレームバッファ
１４…表示バッファ切り替え部
１５…タイミング調整部
１６…表示制御部
１７…時計部
２０…動画像再生システム
ＶＳＹＮＣ…垂直ブランキング期間
【図１】
0003551139.tif 000002
【図２】
0003551139.tif 000003
【図３】
0003551139.tif 000004
【図４】
0003551139.tif 000005
【図５】
0003551139.tif 000006
【図６】
0003551139.tif 000007
【図７】
0003551139.tif 000008
【図８】
0003551139.tif 000009