JP2009003370A - Information playback apparatus - Google Patents

Information playback apparatus Download PDF

Info

Publication number
JP2009003370A
JP2009003370A JP2007166629A JP2007166629A JP2009003370A JP 2009003370 A JP2009003370 A JP 2009003370A JP 2007166629 A JP2007166629 A JP 2007166629A JP 2007166629 A JP2007166629 A JP 2007166629A JP 2009003370 A JP2009003370 A JP 2009003370A
Authority
JP
Japan
Prior art keywords
graphic
graphic object
decoding
objects
decoded
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
JP2007166629A
Other languages
Japanese (ja)
Inventor
Akira Nakanishi
晃 中西
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 JP2007166629A priority Critical patent/JP2009003370A/en
Publication of JP2009003370A publication Critical patent/JP2009003370A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for suppressing delay of screen constitution due to decode completion waiting. <P>SOLUTION: An information playback apparatus comprises: a decode means of decoding a graphic object; a storage means of storing the decoded graphic object; a graphic screen construction processing means which performs graphic screen construction processing of drawing a plurality of graphic objects on prescribed positions on a graphic plane in a prescribed order based on layout information of the plurality of graphic objects and performs drawing order altering processing of deferring the drawing of the graphic object incapable of setting the decode in time, in the graphic screen construction processing; and an output means of outputting the graphic plane on which the plurality of graphic objects are drawn by the graphic screen construction processing means. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、例えばHD DVD規格で定義されているアドバンスドコンテンツにおける再生技術に関する。   The present invention relates to a playback technique in advanced content defined by, for example, the HD DVD standard.

近年、高画質及び高機能を有するDVDビデオディスク及びそのディスクを再生するビデオプレーヤの普及が進んでいる。しかしながら、ここ数年、タイトル本編も含めメニュー画面や特典映像等のコンテンツにおいて、より色彩に富んだメニューやインタラクティブ性の向上等、コンテンツ内容の拡充によるユーザヘのより魅力的なコンテンツの提供環境がコンテンツ供給者から望まれている。   In recent years, DVD video discs having high image quality and high functions and video players for reproducing the discs have been widely used. However, in the past few years, content such as menu screens and privileged video including the main title has become a more attractive content provision environment for users by expanding the content, such as more colorful menus and improved interactivity. Requested by suppliers.

そこで、色彩に富んだメニューやインタラクティブ性の高いコンテンツとしてアドバンスコンテンツが発案され、アドバンスコンテンツを有する情報記録媒体や、アドバンスコンテンツを再生する情報再生装置が存在している(例えば、特許文献1参照)。アドバンスコンテンツには、音声、静止画(背景画を含む)アニメーション、文字フォント、動画等が含まれており、これらのアドバンスコンテンツのデータは、符号化された状態で情報記録媒体に格納されている。アドバンスコンテンツを再生する情報再生装置は、アドバンスコンテンツの再生を実現する再生システムモデルとして、アドバンスドコントロールプレーヤ(Advanced Content Player)を含んでいる。アドバンスドコントロールプレーヤは、機能モジュールとして、データアクセスマネージャ(Data Access Manager)、データキャッシュ(Data Cache)、ナビゲーションマネージャ(Navigation Manager)、プレゼンテーションエンジン(Presentation Engine)、AVレンダラー(AV Renderer)等で構成される。
特開2007−48348
Accordingly, advanced content has been proposed as a menu rich in color and highly interactive content, and there are information recording media having advanced content and information reproducing apparatuses for reproducing advanced content (for example, see Patent Document 1). . The advanced content includes audio, still images (including background images) animation, character fonts, moving images, etc., and the data of these advanced content is stored in an information recording medium in an encoded state. . An information playback apparatus for playing back advanced content includes an advanced control player (Advanced Content Player) as a playback system model for playing back advanced content. The advanced control player is composed of a data access manager (Data Access Manager), a data cache (Data Cache), a navigation manager (Navigation Manager), a presentation engine (Presentation Engine), an AV renderer (AV Renderer), etc. .
JP2007-48348

上記したアドバンスコンテンツの1画面は、例えば複数のオブジェクトにより構成される。即ち、1画面の構成に必要な複数のオブジェクトがデコードされ、これらデコードされた複数のオブジェクトが一つのプレーン上へ描画され、1画面が構成される。なお、複数のオブジェクトは、レイアウト情報に基づき、所定の位置に所定の順序で描画される。このとき、複数のオブジェクトの中に、デコード待ちのオブジェクトが存在すると、描画が一時的に停止し、デコード完了を待ってから描画が再開される。このため、画面構築に遅れが生じる。   One screen of the above-described advanced content is composed of, for example, a plurality of objects. That is, a plurality of objects necessary for the configuration of one screen are decoded, and the plurality of decoded objects are drawn on one plane to form one screen. The plurality of objects are drawn in a predetermined order at predetermined positions based on the layout information. At this time, if there is an object waiting for decoding among a plurality of objects, drawing is temporarily stopped, and drawing is resumed after waiting for decoding to be completed. This causes a delay in screen construction.

本発明の目的は、デコード完了待ちによる画面構築の遅延を抑制する技術を提供することにある。   An object of the present invention is to provide a technique for suppressing delay in screen construction due to completion of decoding.

この発明の一実施形態に係る情報再生装置は、グラフィックオブジェクトをデコードするデコード手段と、デコードされたグラフィックオブジェクトを記憶する記憶手段と、複数のグラフィックオブジェクトのレイアウト情報に基づき、これら複数のグラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画面構築処理を実行するとともに、このグラフィック画面構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画面構築処理手段と、前記グラフィック画面構築処理手段により前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段とを備えている。   An information reproducing apparatus according to an embodiment of the present invention includes a decoding unit that decodes a graphic object, a storage unit that stores the decoded graphic object, and a plurality of graphic objects based on layout information of the plurality of graphic objects. A graphic screen construction process for executing a graphic screen construction process for drawing in a predetermined order on a predetermined position on the graphic plane, and a drawing order changing process for postponing the drawing of a graphic object that cannot be decoded in time in this graphic screen construction process And an output means for outputting the graphic plane on which the plurality of graphic objects are drawn by the graphic screen construction processing means.

本発明によれば、デコード完了待ちによる画面構築の遅延を抑制する技術を提供できる。   According to the present invention, it is possible to provide a technique for suppressing delay in screen construction due to decoding completion waiting.

以下、図面を参照し、本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、アドバンスドHDビデオタイトルセット(AHDVTS : Advanced High Definition Video Title Set)対応のHD−DVDビデオプレーヤ(アドバンスドコントロールプレーヤACP)の概略構成を示す図である。   FIG. 1 is a diagram showing a schematic configuration of an HD-DVD video player (advanced control player ACP) compatible with an advanced HD video title set (AHDVTS).

アドバンスドコントロールプレーヤACPは、データアクセスマネージャ31と、データキャッシュ35と、ナビゲーションマネージャ22と、プレゼンテーションエンジン36と、AVレンダラー44とを備えている。   The advanced control player ACP includes a data access manager 31, a data cache 35, a navigation manager 22, a presentation engine 36, and an AV renderer 44.

データアクセスマネージャ31は、データキャッシュ35等からの指示に基づいて、パーシスタントストレージ28、ネットワークサーバ29、HD−DVDディスク30等にアクセスしてファイルの読み書き等の操作を行うモジュールである。データアクセスマネージャ31は、パーシスタントストレージマネージャ(Persistent Storage Manager)32、ネットワークマネージャ(Network Manager)33、及びディスクマネージャ(Disk Manager)34を備えている。   The data access manager 31 is a module that accesses the persistent storage 28, the network server 29, the HD-DVD disc 30, and the like and performs operations such as reading and writing files based on instructions from the data cache 35 and the like. The data access manager 31 includes a persistent storage manager 32, a network manager 33, and a disk manager 34.

パーシスタントストレージマネージャ32は、上位モジュールからの指示に基づいて、パーシスタントストレージ(Persistent Storage)28の内のファイルの読み書きや削除等の操作を行うモジュールである。ネットワークマネージャ33は、上位モジュールからの指示に基づいて、ネットワークサーバ(Network Server)29からファイルをダウンロードしたり、逆にファイルをアップロードしたりするモジュールである。ディスクマネージャ34は、上位モジュールからの指示に基づいて、HD−DVDディスク30に格納されたファイルの読み出しを行うモジュールである。   The persistent storage manager 32 is a module that performs operations such as reading / writing and deleting files in the persistent storage 28 based on an instruction from a higher-level module. The network manager 33 is a module that downloads a file from the network server 29 or uploads a file based on an instruction from a higher module. The disk manager 34 is a module that reads a file stored in the HD-DVD disk 30 based on an instruction from a higher module.

データキャッシュ35は、読み出したファイルなどを一時的に格納するバッファであり、データキャッシュ35には符号化された画像データ等が格納される。データキャッシュ35の容量は、例えば64Mバイトである。データキャッシュ35は、ファイルキャッシュ(File Cache)と、ストリーミングバッファ(Streaming Buffer)とを含んで構成される。ファイルキャッシュは、ナビゲーションマネージャ22又はプレゼンテーションエンジン36がファイルを読み出す時のキャッシュとして動作する。ストリーミングバッファは、後述するセカンダリビデオプレーヤ(Secondary Video Player)41がネットワークサーバ29上のビデオデータをストリーミング再生する際に、ビデオデータをバッファリングするために使用される。   The data cache 35 is a buffer that temporarily stores the read file and the like, and the encoded image data and the like are stored in the data cache 35. The capacity of the data cache 35 is, for example, 64 Mbytes. The data cache 35 includes a file cache and a streaming buffer. The file cache operates as a cache when the navigation manager 22 or the presentation engine 36 reads a file. The streaming buffer is used for buffering video data when a secondary video player 41 (secondary video player) to be described later performs streaming reproduction of the video data on the network server 29.

ナビゲーションマネージャ22は、アドバンスドコンテンツの全体制御、マークアップ言語やスクリプト(Script)言語(例えば、ECMAスクリプト)で記述された内容の再生処理、及びリモコンからの制御情報に対応した処理動作等を行うモジュールである。ナビゲーションマネージャ22は、ファイルキャッシュマネージャ(File Cache Manager)24、プレイリストマネージャ(Playlist Manager)25、パーサー(Parser)23、アドバンスドアプリケーションマネージャ(Advanced Application Manager)26、及びユーザーインターフェースエンジン(User Interface Engine)27を含んで構成される。   The navigation manager 22 is a module that performs overall control of advanced content, reproduction processing of contents described in a markup language or script language (for example, ECMA script), processing operation corresponding to control information from a remote controller, and the like. It is. The navigation manager 22 includes a file cache manager 24, a playlist manager 25, a parser 23, an advanced application manager 26, and a user interface engine 27. It is comprised including.

ファイルキャッシュマネージャ24は、プレイリストマネージャ25又はアドバンスドアプリケーションマネージャ26からの指示を受けると、データアクセスマネージャ31を制御して、所望のファイルをHD−DVDディスク30又はネットワークサーバ29等からデータキャッシュ35に読み込んで管理するモジュールである。   Upon receiving an instruction from the playlist manager 25 or the advanced application manager 26, the file cache manager 24 controls the data access manager 31 to transfer a desired file from the HD-DVD disk 30 or the network server 29 to the data cache 35. This module is loaded and managed.

プレイリストマネージャ25は、アドバンスドコンテンツの再生開始時にプレイリスト(Playlist)よりコンテンツの構成情報等を読み出して、各モジュールの初期化制御を行うモジュールである。プレイリストマネージャ25は、タイトルタイムライン(Title Timeline)の制御を行うモジュールでもある。   The playlist manager 25 is a module that reads out the configuration information of the content from the playlist (Playlist) at the start of playback of the advanced content, and performs initialization control of each module. The playlist manager 25 is also a module that controls a title timeline.

アドバンスドアプリケーションマネージャ26は、アドバンスドコンテンツの再生全般を統括して制御する中心的なモジュールである。アドバンスドアプリケーションマネージャ26は、デクレラティブエンジン(Declarative Engine)とプログラミングエンジン(Programming Engine)とを含んで構成される。   The advanced application manager 26 is a central module that performs overall control of playback of advanced content. The advanced application manager 26 includes a declarative engine and a programming engine.

デクレラティブエンジンは、マークアップ言語の記述に従って、タイミングの制御を行うモジュールである。デクレラティブエンジンは、マークアップ言語の記述に従ってプレゼンテーションエンジン36を制御し、グラフィック表示や文字表示を行うモジュールでもある。   The declarative engine is a module that controls timing according to a description in a markup language. The declarative engine is also a module that controls the presentation engine 36 according to the description of the markup language, and performs graphic display and character display.

プログラミングエンジンは、ECMAスクリプトで記述されたスクリプト言語を解釈して実行するモジュールである。プログラミングエンジンは、ECMAスクリプトからHD−DVD規格で定義されたAPI(Application Interface)を呼び出すことにより、プレーヤの制御、グラフィック描画、及びファイル操作等を行うことができる。プログラミングエンジンは、プレゼンテーションエンジン36を制御することにより、API経由でECMAスクリプトにて指示されているグラフィック描画やプレーヤ制御を実現する。   The programming engine is a module that interprets and executes a script language described in an ECMA script. The programming engine can perform player control, graphic drawing, file operation, and the like by calling an API (Application Interface) defined in the HD-DVD standard from an ECMA script. The programming engine controls the presentation engine 36, thereby realizing graphic drawing and player control instructed by the ECMA script via the API.

ユーザーインターフェースエンジン27は、カーソルを制御するモジュールである。ユーザーインターフェースエンジン27は、リモコンから制御情報等をイベントとしてアドバンスドアプリケーションマネージャ26に伝えるモジュールでもある。   The user interface engine 27 is a module that controls a cursor. The user interface engine 27 is also a module that transmits control information and the like as events from the remote controller to the advanced application manager 26.

プレゼンテーションエンジン36は、グラフィックデータ、ビデオデータ、又はオーディオデータ等をデコードし、最終的なグラフィック画像やビデオのフレーム画像等を作成するモジュールである。プレゼンテーションエンジン36は、作成したグラフィック画像やビデオのフレーム画像等をAVレンダラー44に送る。プレゼンテーションエンジン36は、アドバンスドアプリケーションプレゼンテーションエンジン(Advanced Application Presentation Engine)37、ピクセルバッファ(Pixel Buffer)38、フォントレンダリングシステム(Font Rendering system)39、アドバンスドサブタイトルプレーヤ(Advanced Subtitle Player)40、セカンダリビデオプレーヤ41、プライマリビデオプレーヤ42、及びデコーダエンジン(Decoder Engine)43等を含んで構成される。   The presentation engine 36 is a module that decodes graphic data, video data, audio data, or the like and creates a final graphic image, video frame image, or the like. The presentation engine 36 sends the created graphic image, video frame image, and the like to the AV renderer 44. The presentation engine 36 includes an advanced application presentation engine 37, a pixel buffer 38, a font rendering system 39, an advanced subtitle player 40, a secondary video player 41, A primary video player 42 and a decoder engine 43 are included.

図2に示すように、アドバンスドアプリケーションプレゼンテーションエンジン37は、サウンドデコーダ47、グラフィックデコーダ48、及びレイアウトマネージャ49を含んで構成される。アドバンスドアプリケーションプレゼンテーションエンジン37は、ナビゲーションマネージャ22からの指示に従い、様々な形式(例えば、PNG(Portable Network Graphics)、MNG(Multiple-Image Network Graphics)、又はJPEG(Joint Photographic Experts Group)等)の画像をデータキャッシュ35から読み出してデコードし、グラフィックプレーンに最終的な出力画像を作成してAVレンダラー44に出力するモジュールである。アドバンスドアプリケーションプレゼンテーションエンジン37は、データキャッシュ35から読み出したWAVファイルをLPCM(Linear Pulse Code Modulation)データに変換し、AVレンダラー80に出力するモジュールでもある。   As shown in FIG. 2, the advanced application presentation engine 37 includes a sound decoder 47, a graphic decoder 48, and a layout manager 49. The advanced application presentation engine 37 displays images in various formats (for example, PNG (Portable Network Graphics), MNG (Multiple-Image Network Graphics), JPEG (Joint Photographic Experts Group), etc.) in accordance with instructions from the navigation manager 22. This is a module that reads out from the data cache 35, decodes it, creates a final output image on the graphic plane, and outputs it to the AV renderer 44. The advanced application presentation engine 37 is also a module that converts the WAV file read from the data cache 35 into LPCM (Linear Pulse Code Modulation) data and outputs it to the AV renderer 80.

グラフィックデコーダ48は、上述した形式の画像をデコードする処理と、デコード処理済み画像をピクセルバッファ38に登録又は削除する処理とを行う。   The graphic decoder 48 performs processing for decoding an image of the above-described format and processing for registering or deleting the decoded image in the pixel buffer 38.

レイアウトマネージャ49は、グラフィックプレーン上に最終的な表示画像を構築する。このため、レイアウトマネージャ49は、アドバンスドアプリケーションマネージャ26から送れたレイアウト情報に従って、ピクセルバッファ38内に登録されたデコード処理済みの画像を読み込み、描画する。レイアウトマネージャ49は、フォントレンダリングシステム39に文字フォントの描画指示を送る。そして、レイアウトマネージャ49は、完成した表示画面をAVレンダラー44に送出する。   The layout manager 49 constructs a final display image on the graphic plane. Therefore, the layout manager 49 reads and draws the decoded image registered in the pixel buffer 38 in accordance with the layout information sent from the advanced application manager 26. The layout manager 49 sends a character font drawing instruction to the font rendering system 39. Then, the layout manager 49 sends the completed display screen to the AV renderer 44.

アドバンスドサブタイトルプレーヤ40は、レイアウトマネージャ49と同様の処理により、アドバンスドサブタイトル内のマークアップ言語の記述に従って出力画像をサブピクチャプレーン上に生成し、完成した出力画面をAVレンダラー44に送出する。   The advanced subtitle player 40 generates an output image on the sub-picture plane according to the description of the markup language in the advanced subtitle by the same processing as the layout manager 49, and sends the completed output screen to the AV renderer 44.

プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、ビデオプレーヤとして再生制御を行うモジュールである。プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、再生の際に、TMAP(TimeMap)を解析する。プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、TMAPの解析結果に基づいて、必要な場所をデータアクセスマネージャ31から読み出し、ビデオ映像のデータ、音声データ、又はサブピクチャデータ等に分類する。プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、分類した各データを、デコーダエンジン43内の各デコーダに出力する。   The primary video player 42 and the secondary video player 41 are modules that perform playback control as video players. The primary video player 42 and the secondary video player 41 analyze TMAP (TimeMap) during reproduction. The primary video player 42 and the secondary video player 41 read out necessary locations from the data access manager 31 based on the TMAP analysis result, and classify them into video image data, audio data, sub-picture data, or the like. The primary video player 42 and the secondary video player 41 output the classified data to each decoder in the decoder engine 43.

デコーダエンジン43は、MPEG−2方式等で符号化されたビデオ映像のデータや音声データ等をデコードする。デコーダエンジン43は、デコードした各データを、最終的な画像データやPCM(Pulse Code Modulation)データとして、AVレンダラー44に出力する。   The decoder engine 43 decodes video image data, audio data, and the like encoded by the MPEG-2 method or the like. The decoder engine 43 outputs the decoded data to the AV renderer 44 as final image data or PCM (Pulse Code Modulation) data.

HD−DVD規格における表示画面は、図3に示されるように、従来のDVD規格おけるメインビデオプレーン(Main Video Plane)とサブピクチャプレーン(Subpicture Plane)に、サブビデオプレーン(Sub Video Plane)、グラフィックプレーン(Graphic Plane)、及びカーソルプレーン(Cursor Plane)を追加した構成となっている。これら5つのプレーンは、メインビデオプレーンが一番下で、次に、サブビデオプレーン、サブピクチャプレーン、グラフィックプレーン、カーソルプレーンの順番で上に重ねられた状態で合成される。5つのプレーンが合成された画面が、最終的な出力画面となる。   As shown in FIG. 3, the display screen in the HD-DVD standard includes a main video plane (Main Video Plane) and a sub-picture plane (Subpicture Plane) in the conventional DVD standard, a sub-video plane (Sub Video Plane), and a graphic. A plane (Graphic Plane) and a cursor plane (Cursor Plane) are added. These five planes are synthesized with the main video plane at the bottom, and then superimposed in the order of the sub video plane, sub picture plane, graphic plane, and cursor plane. A screen obtained by combining the five planes is a final output screen.

出力画面の構築と更新は、毎フレーム行われる。これに対して、グラフィックプレーンは、後述のティックベース(tickBase)とティックベースディバイザー(tickBaseDivisor)とで指定された周期で、構築と更新を繰り返す。よって、グラフィックプレーンの更新周期は、出力画面と異なってしまう。このため、グラフィックプレーンの描画では、以下の処理を行う。すなわち、グラフィックプレーンは、表示用(Front)グラフィックプレーンと描画用(Back)グラフィックプレーンの2枚が用意されている。表示用グラフィックプレーンを画面表示で使用している間に、描画用グラフィックプレーンに描画し、この描画が完了すると、表示用グラフィックプレーンと描画用グラフィックプレーンとを切り換える。この処理のため、グラフィックプレーンは、2枚のサーフェスを使用している。   The output screen is constructed and updated every frame. On the other hand, the graphic plane is repeatedly constructed and updated at a cycle specified by a tick base (tickBase) and a tick base divider (tickBaseDivisor) described later. Therefore, the graphic plane update cycle differs from the output screen. For this reason, the following processing is performed in drawing a graphic plane. That is, two graphic planes, a display (Front) graphic plane and a drawing (Back) graphic plane, are prepared. While the display graphic plane is used for screen display, drawing is performed on the drawing graphic plane. When this drawing is completed, the display graphic plane and the drawing graphic plane are switched. For this process, the graphic plane uses two surfaces.

ここで、図3を参照して、アドバンスドコンテンツのグラフィック画面構築処理について説明する。   Here, with reference to FIG. 3, the graphic screen construction processing of the advanced content will be described.

アドバンスドコンテンツの再生は、アドバンスドアプリケーションマネージャ26が最上位で統括し、制御している。画面表示などをおこなうプレゼンテーションエンジン36等は、このアドバンスドアプリケーションマネージャ26からの指示に従って、画面作成やデコード等の処理を実行している。アドバンスドアプリケーションマネージャ26は、後述するアプリケーションティック(Application Tick)に同期して、アドバンスドコンテンツの再生に必要なイベント処理や次の画面の最終的な生成等の処理を繰り返すことにより、再生動作を実現している。   The advanced application manager 26 controls and controls the playback of advanced content. The presentation engine 36 that performs screen display and the like performs processing such as screen creation and decoding in accordance with instructions from the advanced application manager 26. The advanced application manager 26 realizes a playback operation by repeating event processing necessary for playback of advanced content and final generation of the next screen in synchronization with an application tick described later. ing.

HD−DVDビデオプレーヤでは、アドバンスドコンテンツの再生速度やタイミングの制御のために、内部でアプリケーションティックと呼ばれる周期的な同期用の合図を生成して、各モジュールに送っている。アドバンスドアプリケーションマネージャ26は、このアプリケーションティックに同期を取ることで、アドバンスドコンテンツを指定された速度とタイミングによって再生する。   In the HD-DVD video player, in order to control the playback speed and timing of advanced content, a periodic synchronization signal called an application tick is generated and sent to each module. The advanced application manager 26 reproduces the advanced content at the designated speed and timing by synchronizing with the application tick.

一方、このアプリケーションティックに同期してアプリケーションクロック(Application Clock)と呼ばれる独自の時刻が刻まれる。アプリケーションクロックの時刻は、アドバンスドコンテンツの再生を開始する時に“0”にリセットされる。アプリケーションクロックは、例えばアドバンスドコンテンツの時間に応じたアニメーションを記述する際等に使われる。   On the other hand, a unique time called an application clock is engraved in synchronization with the application tick. The time of the application clock is reset to “0” when playback of the advanced content is started. The application clock is used, for example, when describing an animation corresponding to the time of advanced content.

通常、アプリケーションティックは、アプリケーションクロックでの時刻の刻みにも使用されることから、50fpsや60fpsといった値で指定される。アプリケーションティックの周期は、プレイリストのファイル中のティックベースという属性で指定される。fpsは、画面の更新間隔などを示す場合に使用される単位であり、1秒間に何回画面の更新が行われるかを示している。すなわち、画面の更新のための一連の動作が、1秒間に何回繰り返されるかということになる。   Normally, application ticks are also used for time increments in the application clock, so they are specified by values such as 50 fps and 60 fps. The cycle of application ticks is specified by an attribute called tick base in the playlist file. “fps” is a unit used for indicating a screen update interval, and indicates how many times the screen is updated per second. That is, how many times a series of operations for updating the screen is repeated per second.

グラフィック画面を構成する画像が多いと、アプリケーションティックが例えば60fpsと指定されたとしても、1秒間に60回もグラフィック画面を更新することはパフォーマンス的に不可能な場合がある。そこで、アドバンスドアプリケーションマネージャ26は、アプリケーションティック毎に常に処理を行うのではなく、ティックベースディバイザーという属性で指定されたレートに従って間引かれたアプリケーションティックに同期して一連の処理を行うことになっている。   If there are many images constituting the graphic screen, even if the application tick is specified as 60 fps, for example, it may be impossible in terms of performance to update the graphic screen 60 times per second. Therefore, the advanced application manager 26 does not always perform processing for each application tick, but performs a series of processing in synchronization with application ticks thinned out according to a rate specified by an attribute called a tick base visor. ing.

図4中の(b)に示されるように、例えば、ティックベースが“60”であると共にティックベースディバイザーが“4”である場合、アプリケーションティックは1秒間に60回刻まれる。アプリケーションティックの4個中の1個が、周期処理の開始タイミングとされる。したがって、アドバンスドアプリケーションマネージャ26は、一連の処理を1秒間に15回の周期にて繰り返す。   As shown in FIG. 4B, for example, when the tick base is “60” and the tick base divider is “4”, the application tick is chopped 60 times per second. One of the four application ticks is the start timing of the periodic process. Therefore, the advanced application manager 26 repeats a series of processes at a cycle of 15 times per second.

図4中の(a)に示された例では、各アプリケーションティックにて、アプリケーションティックハンドラ(Application Tick Handler)が実行される。ただし、アドバンスドアプリケーションマネージャ26は、ティックベースディバイザーで指定された数のティックにつき処理を1回行うことになっている。したがって、アドバンスドアプリケーションマネージャ26は、アプリケーションクロックをティックベースディバイザーで割った余りが“0”のときのみ、実処理を行う。   In the example shown in FIG. 4A, an application tick handler is executed at each application tick. However, the advanced application manager 26 performs processing once for the number of ticks designated by the tick base divider. Therefore, the advanced application manager 26 performs actual processing only when the remainder obtained by dividing the application clock by the tick base divider is “0”.

アドバンスドアプリケーションマネージャ26での1周期分の処理は、ECMAスクリプトのイベント処理やマークアップの評価、スケジューリングイベントの処理、及び、次のグラフィック画面を描画するレンダリングの処理等で構成されている。レンダリングの処理の中では、グラフィクプレーンが透明色で塗りつぶされてクリアされた後、z順序(zOrder)の小さいアプリケーションのグラフィックから順番に重ね描きされる。これらのレンダリング処理は、アドバンスドアプリケーションマネージャ26の指示の下、実処理は、プレゼンテーションエンジン36が行う。これらの処理が全て完了すると、完成したグラフィックプレーンをAVレンダラー44に送出し、出力画面に反映させる。   Processing for one cycle in the advanced application manager 26 includes ECMA script event processing, markup evaluation, scheduling event processing, rendering processing for rendering the next graphic screen, and the like. In the rendering process, the graphics plane is filled with a transparent color and cleared, and then the graphics of the application having a small z order (zOrder) are sequentially overwritten. These rendering processes are performed by the presentation engine 36 under the instruction of the advanced application manager 26. When all these processes are completed, the completed graphic plane is sent to the AV renderer 44 and reflected on the output screen.

次に、図5及び図6を参照して、デコードと描画のタイミングについて説明する。一般には、PNGやJPEGなどの符号化された画像のデコードには時間がかかる。このため、高速でアニメーションなどをおこなうためには、必要な画像を全て前もってデコードしておく制御が必要となる。HD−DVD規格では、このような制御がコンテンツに記述でできる。具体的には、画面の表示の有無を指定する”style:visibility”というパラメータの他に、HD−DVDビデオプレーヤにデコードの開始を指示するための”style:display”というパラメータが用意されている。実際には、これらのパラメータの変化するタイミングは、パラメータの変化が実際に適用されるタイミングなので、HD−DVDビデオプレーヤは、1個前の周期から、新しいパラメータのための動作を行なう。例えば、図5の例では、”m+5”と”m+6”のフレームで”style:visibility”が”visible”なので、この期間で表示する必要がある。しかし、実際には、ちらつきを抑えるためにダブルバッファになっているため、1フレームの遅延がある。そこで、プレゼンテーションエンジン36は、”m+4”と”m+5”のフレームで描画の指示を出す。デコードの場合は、”style:display”が”m+2”のフレームで”auto”になるため、”m+2”のフレームまでにデコードを完了する必要がある。そこで、プレゼンテーションエンジン36は、”m+1”のフレーム処理で、デコードの指示を出す。   Next, the decoding and drawing timing will be described with reference to FIGS. In general, it takes time to decode an encoded image such as PNG or JPEG. For this reason, in order to perform animation at a high speed, it is necessary to control all necessary images in advance. In the HD-DVD standard, such control can be described in content. Specifically, in addition to the parameter “style: visibility” that specifies whether to display the screen, a parameter “style: display” for instructing the HD-DVD video player to start decoding is prepared. . Actually, the timing at which these parameters change is the timing at which the parameter changes are actually applied, so the HD-DVD video player starts the operation for the new parameters from the previous cycle. For example, in the example of FIG. 5, since “style: visibility” is “visible” in the frames “m + 5” and “m + 6”, it is necessary to display during this period. However, in practice, there is a delay of one frame because it is a double buffer to suppress flicker. Therefore, the presentation engine 36 issues a drawing instruction with frames of “m + 4” and “m + 5”. In the case of decoding, since “style: display” becomes “auto” in the frame of “m + 2”, it is necessary to complete the decoding by the frame of “m + 2”. Therefore, the presentation engine 36 issues a decoding instruction in the “m + 1” frame processing.

図5に示すケースでは、デコードに時間がかかり、約2周期分の時間を要している。しかし、3周期前にデコードの指示を出すことで、実際の描画は、”style:visibility”の指定通りとなる。   In the case shown in FIG. 5, it takes time for decoding, and it takes about two cycles. However, by giving a decoding instruction three cycles ago, the actual drawing becomes as specified by “style: visibility”.

このように、”style:display”によるデコードの指示と”style:display”による表示開始タイミングに時間差を設定することで、デコード時間による表示の遅れを解消できる。   Thus, by setting the time difference between the decoding instruction by “style: display” and the display start timing by “style: display”, the display delay due to the decoding time can be eliminated.

以上により、コンテンツで設定したデコードと表示の時間差が十分大きい場合、大抵のHD−DVDビデオプレーヤは、デコードによる表示遅延を防止できる。しかし、最終的にはHD−DVDビデオプレーヤの処理速度によって決まるため、表示前にデコードを開始したとしても、確実に表示遅延を防止できるとは限らない。   As described above, when the time difference between decoding and display set in the content is sufficiently large, most HD-DVD video players can prevent display delay due to decoding. However, since it ultimately depends on the processing speed of the HD-DVD video player, even if decoding is started before display, display delay cannot always be prevented reliably.

また、図6に示すように、デコードと表示開始が同時だった場合には、表示は3周期分遅れてしまう。   Further, as shown in FIG. 6, when decoding and display start are performed at the same time, the display is delayed by three cycles.

次に、HD−DVDの画像の描画順序について説明する。   Next, the drawing order of HD-DVD images will be described.

HD−DVDで定義されているアドバンスドコンテンツでは、XMLで記述されたマークアップと呼ばれるファイルに従って画面を表示するアプリケーションが複数存在できる。各アプリケーションにはZ順序が定義されており、Z順序は0から始まる。各アプリケーションに定義されたZ順序は一意になっており、同じZ順序が定義されたアプリケーションが複数存在することはない。また、このZ順序が不連続になっていることもない。Z順序0が定義されたアプリケーションの表示画面は、一番下に存在する。つまり、Z順序0が定義されたアプリケーションの表示画面は、一番最初に描画される。各アプリケーションのZ順序は、プレイリストファイルの<ApplicationSegment>タグにある”zOrder”(レイアウト順序情報)で指定される。   In the advanced content defined by HD-DVD, there can be a plurality of applications that display a screen according to a file called markup described in XML. A Z order is defined for each application, and the Z order starts from 0. The Z order defined for each application is unique, and there is no multiple application in which the same Z order is defined. Further, the Z order is not discontinuous. The display screen of the application in which the Z order 0 is defined exists at the bottom. That is, the display screen of the application in which the Z order 0 is defined is drawn first. The Z order of each application is specified by “zOrder” (layout order information) in the <ApplicationSegment> tag of the playlist file.

また、各アプリケーションが持つ複数の画像などのオブジェクト(グラフィックオブジェクト)にもZ順序が定義される。所定のアプリケーションが持つ複数の画像などのオブジェクトに定義されたZ順序は、この所定のアプリケーションの中でのオブジェクト同士の上下の表示関係を示す。各オブジェクトのZ順序は、マークアップの”style:zIndex”(レイアウト順序情報)で指定される。   The Z order is also defined for objects (graphic objects) such as a plurality of images possessed by each application. The Z order defined for objects such as a plurality of images possessed by a predetermined application indicates the vertical display relationship between the objects in the predetermined application. The Z order of each object is specified by “style: zIndex” (layout order information) of the markup.

HD−DVDの画像表示や図形描画では、色表現として、R(赤)、G(緑)、B(青)の他に透明度を示すαがある。この透明度を示すαにより、画像を半透明に透けたように描画できる。プレゼンテーションエンジン36は、各オブジェクトを一番下から順番に、グラフィックプレーンに対してαブレンドする。つまり、プレゼンテーションエンジン36は、全ての画像を下から順番に描画する。   In HD-DVD image display and graphic drawing, there is α indicating transparency in addition to R (red), G (green), and B (blue) as color expressions. With the α indicating the transparency, the image can be drawn as if it is translucent. The presentation engine 36 α blends each object with respect to the graphic plane in order from the bottom. That is, the presentation engine 36 draws all images in order from the bottom.

図7に、複数のアドバンスドアプリケーションによる画像描画の例を示す。ここでは、上述したように、Z順序が小さいアプリケーションのうちZインデックス(zIndex)が小さいエレメントから順に重ね描きされる。すなわち、“星”の画像“star.png”を描画するためのエレメント、“月”の画像“moon.png”を描画するためのエレメント、“太陽”の画像“sun.png”を描画するためのエレメントの順に処理が実行される。この一連の処理により、グラフィックプレーンには、“星”の画像、“月”の画像、及び“太陽”の画像が、下から“星”の画像、“月”の画像、“太陽”の画像の順に重ね描きされる。さらに、“ハート”の画像“heart.png”を描画するためのエレメントの処理が実行される。   FIG. 7 shows an example of image drawing by a plurality of advanced applications. Here, as described above, in the application having the small Z order, the elements are overwritten in order from the element having the small Z index (zIndex). That is, an element for rendering the “star” image “star.png”, an element for rendering the “moon” image “moon.png”, and an image “sun.png” for the “sun” Processing is executed in the order of the elements. Through this series of processing, the graphic plane includes a “star” image, a “moon” image, and a “sun” image from the bottom, a “star” image, a “moon” image, and a “sun” image. It is drawn in the order of. Further, the element processing for rendering the “heart” image “heart.png” is executed.

プレゼンテーションエンジン36が、各オブジェクトを一番下から順番に描画しなくてはいけないことは以上のとおりである。しかし、他の画像との重なりが無い画像(他の画像と依存関係がない画像)については、必ずしもZ順序に従う必要はない。他の画像と依存関係がない画像については、Z順序に従わなくとも、Z順序に従った場合と同様の結果を得ることができる(順序変更処理)。また、グラフィックデコーダ48によるデコードと、レイアウトマネージャ49によるレイアウトとは、並行して実行可能である(並行処理)。この並行処理を利用して、順序変更処理を実行することにより、描画の効率化を図ることができる。   As described above, the presentation engine 36 has to draw each object in order from the bottom. However, it is not always necessary to follow the Z order for images that do not overlap with other images (images that do not depend on other images). For an image having no dependency relationship with other images, the same result as in the case of following the Z order can be obtained without following the Z order (order changing process). The decoding by the graphic decoder 48 and the layout by the layout manager 49 can be executed in parallel (parallel processing). By using this parallel processing and executing the order changing process, the drawing efficiency can be improved.

プレゼンテーションエンジン36が、上記した順序変更処理を実行する。つまり、プレゼンテーションエンジン36は、描画順序を最適化する。具体的には、プレゼンテーションエンジン36は、デコードが完了していない画像(デコードが間に合わない画像)の描画を後回しにして、デコードが完了しており且つ他の後回しになっている画像と重なりの無い画像を先に描画する。これにより、デコード待ちの遅延を最小限に抑えて描画を効率化する。   The presentation engine 36 executes the above-described order change process. That is, the presentation engine 36 optimizes the drawing order. Specifically, the presentation engine 36 postpones the rendering of an image that has not been decoded (an image that cannot be decoded in time), and has no overlap with the image that has been decoded and is being postponed. Draw the image first. As a result, the delay in waiting for decoding is minimized and drawing is made more efficient.

プレゼンテーションエンジン36に含まれるレイアウトマネージャ49は、アプリケーションのマークアップ画面を、グラフィックプレーン上に構築し、AVレンダラー44に出力する。レイアウトマネージャ49は、グラフィックデコーダ48及びフォントレンダリングシステム39に必要なオブジェクトのデコードを指示する。さらに、レイアウトマネージャ49は、下位グラフィックドライバのAPI経由でグラフィックコントローラを制御し、描画する。レイアウトマネージャ49は、基本的には、グラフィックプレーンの矩形塗りつぶし、又はグラフィックプレーンに対するピクセルバッファ38上の画像のαブレンドにより、最終的な画像を構築する。レイアウトマネージャ49は、マークアップ言語の記述(各オブジェクトのレイアウト情報)に基づき、グラフィックプレーンに対して、複数のオブジェクトを描画する。   The layout manager 49 included in the presentation engine 36 constructs an application markup screen on the graphic plane and outputs it to the AV renderer 44. The layout manager 49 instructs the graphic decoder 48 and the font rendering system 39 to decode necessary objects. Further, the layout manager 49 controls the graphic controller via the lower graphic driver API to draw. The layout manager 49 basically constructs a final image by rectangular filling of the graphic plane or α blending of the image on the pixel buffer 38 to the graphic plane. The layout manager 49 draws a plurality of objects on the graphic plane based on the markup language description (layout information of each object).

例えば、グラフィックプレーンに対して描画されるべき全n個のオブジェクトのうち、m(m<n)番目に描画されるべきオブジェクトmがデコード未完了オブジェクト(例えばデコード途中オブジェクト)である場合、レイアウトマネージャ49は、オブジェクトmの描画を後回しにする。この場合、レイアウトマネージャ49は、オブジェクトmを後で描画できるように、オブジェクトmを描画保留処理リストに登録する。   For example, when the object m to be drawn m (m <n) -th among all n objects to be drawn on the graphic plane is a decoding incomplete object (for example, an object in the middle of decoding), the layout manager 49, the drawing of the object m is postponed. In this case, the layout manager 49 registers the object m in the drawing suspension processing list so that the object m can be drawn later.

続いて、レイアウトマネージャ49は、m+1番目に描画されるべきオブジェクトm+1の状況について検証する。検証により、オブジェクトm+1がデコード完了オブジェクトであっても、描画保留処理リストに登録されているオブジェクトと重なることが判明した場合には、レイアウトマネージャ49は、このオブジェクトm+1の描画も後回しにする。この場合、レイアウトマネージャ49は、オブジェクトm+1を後で描画できるように、オブジェクトm+1も描画保留処理リストに登録する。このようにして、全てのオブジェクトについて検証する。   Subsequently, the layout manager 49 verifies the situation of the object m + 1 to be drawn m + 1. If the verification finds that the object m + 1 is a decoding complete object but overlaps with the object registered in the drawing suspension processing list, the layout manager 49 also delays drawing the object m + 1. In this case, the layout manager 49 also registers the object m + 1 in the drawing suspension processing list so that the object m + 1 can be drawn later. In this way, all objects are verified.

例えば、検証により、オブジェクトm+2がデコード完了オブジェクトであり、しかも描画保留処理リストに登録されているオブジェクトm及びオブジェクトm+1と重ならないことが判明した場合には、レイアウトマネージャ49は、描画保留処理リストに登録されているオブジェクトm及びオブジェクトm+1よりも先にオブジェクトm+2の描画を開始する。   For example, if it is determined by verification that the object m + 2 is a decoding completion object and does not overlap the object m and the object m + 1 registered in the drawing suspension processing list, the layout manager 49 adds the object to the drawing suspension processing list. Drawing of the object m + 2 is started before the registered object m and object m + 1.

最終オブジェクトであるオブジェクトnの検証が完了し、オブジェクトnが描画される、或いは描画保留処理リストに対してオブジェクトnが登録されると、描画が後回しにされたオブジェクトの処理へ移行する。つまり、描画保留処理リストに登録されたオブジェクトの処理へ移行する。例えば、描画保留処理リストにオブジェクトm及びオブジェクトm+1が登録されているとする。オブジェクトmのデコードが完了していれば、オブジェクトmを描画する。続いて、オブジェクトm+1のデコードが完了していれば、オブジェクトm+1を描画する。なお、オブジェクトmのデコードが完了していなければ、オブジェクトm+1の描画へ移行せずに、オブジェクトmのデコードを待つ。オブジェクトm及びオブジェクトm+1が描画保留処理リストに登録された理由は、オブジェクトm及びオブジェクトm+1の少なくとも一部が重なりあっているため、オブジェクトmを描画してからでないと、オブジェクトm+1を描画できないからである。   When the verification of the object n, which is the final object, is completed and the object n is drawn or the object n is registered in the drawing suspension processing list, the process proceeds to the processing of the object whose drawing has been postponed. That is, the process shifts to processing of an object registered in the drawing suspension processing list. For example, it is assumed that object m and object m + 1 are registered in the drawing suspension processing list. If the decoding of the object m is completed, the object m is drawn. Subsequently, if the decoding of the object m + 1 is completed, the object m + 1 is drawn. If the decoding of the object m has not been completed, the process waits for the decoding of the object m without shifting to the drawing of the object m + 1. The reason why the object m and the object m + 1 are registered in the drawing suspension processing list is that the object m + 1 cannot be drawn unless the object m is drawn because at least part of the object m and the object m + 1 is overlapped. is there.

以上により、グラフィックプレーン上に、全n個のオブジェクトの描画が完了する。つまり、最終的に出力するグラフィック画面が完成する。アプリケーションスレッド(Application Thread)は、次の処理を開始する前に、描画保留処理リストをリセットする。   Thus, drawing of all n objects on the graphic plane is completed. That is, the graphic screen to be finally output is completed. The application thread (Application Thread) resets the drawing suspension processing list before starting the next processing.

図7〜図9を参照して、描画順序(順序変更による効率化なし)と描画順序(順序変更による効率化あり)のケースについて説明する。図8は、順序変更による効率化適用無しの描画処理の一例を示すフローチャートである。図9は、順序変更による効率化適用有りの描画処理の一例を示すフローチャートである。   With reference to FIG. 7 to FIG. 9, a case of a drawing order (no efficiency by order change) and a drawing order (with efficiency by order change) will be described. FIG. 8 is a flowchart showing an example of a drawing process without applying efficiency by changing the order. FIG. 9 is a flowchart illustrating an example of a drawing process with application of efficiency by order change.

“star.png”、“sun.png”、“heart.png”のデコードデータがピクセルバッファ38に存在し、“moon.png”のデコードデータはピクセルバッファ38に存在しないと仮定する。つまり、“moon.png”のデータをデコードしてから、“moon.png”を描画する必要がある。また、“heart.png”は、他のオブジェクトと一切重ならないオブジェクトである。   Assume that the decoded data of “star.png”, “sun.png”, and “heart.png” exists in the pixel buffer 38, and the decoded data of “moon.png” does not exist in the pixel buffer 38. That is, it is necessary to render “moon.png” after decoding the data of “moon.png”. Further, “heart.png” is an object that does not overlap any other object.

図8に示す順序変更による効率化適用無しの描画処理では、“star.png”、“moon.png”、“sun.png”、“heart.png”の順に描画される。つまりデコード完了を待ちながら描画処理が実行される。このケースでは、全描画時間と“moon.png”のデコード待ち時間とを合計した時間が、実質的な全描画時間となる。   In the rendering process without application of efficiency by changing the order shown in FIG. 8, rendering is performed in the order of “star.png”, “moon.png”, “sun.png”, “heart.png”. That is, the drawing process is executed while waiting for the decoding to be completed. In this case, the sum of the total drawing time and the decoding waiting time of “moon.png” is a substantial total drawing time.

これに対して、図9に示す順序変更による効率化適用有りの描画処理では、“star.png”、“heart.png”、“moon.png”、“sun.png”の順に描画される。つまり、デコード待ちオブジェクト及びデコード待ちオブジェクトに重なるオブジェクトを描画保留処理リストへ登録し、デコードが完了しており且つ他のオブジェクトに重ならないオブジェクトを先に描画する。グラフィックデコーダ48によるデコードと、レイアウトマネージャ49によるレイアウトとは、並行して実行可能である。つまり、描画とデコードの並行処理により、“heart.png”を描画している間に、“moon.png”のデコードが完了したとする。このケースでは、全描画時間が、そのまま実質的な全描画時間となる。   On the other hand, in the rendering process with the application of efficiency by changing the order shown in FIG. 9, rendering is performed in the order of “star.png”, “heart.png”, “moon.png”, “sun.png”. That is, the object waiting for decoding and the object overlapping the object waiting for decoding are registered in the drawing suspension processing list, and the object that has been decoded and does not overlap other objects is drawn first. The decoding by the graphic decoder 48 and the layout by the layout manager 49 can be executed in parallel. That is, it is assumed that decoding of “moon.png” is completed while “heart.png” is being drawn by parallel processing of drawing and decoding. In this case, the total drawing time becomes the actual total drawing time as it is.

次に、図10を参照して、描画保留処理リストの一例について説明する。レイアウトマネージャ49が管理するメモリ上に、描画保留処理リストが配置される。描画保留処理リストには、後回しにされた描画処理が順に登録される。描画保留処理リストに登録された描画処理情報は、操作ID、ソースの矩形、ソースのサーフェスID、ソースの色、ディスティネーション矩形、ディスティネーションのサーフェスID、オプションフラグ、グローバルαを含む。   Next, an example of the drawing suspension processing list will be described with reference to FIG. A drawing suspension processing list is arranged on a memory managed by the layout manager 49. The postponed drawing processes are sequentially registered in the drawing suspension processing list. The drawing processing information registered in the drawing pending processing list includes an operation ID, a source rectangle, a source surface ID, a source color, a destination rectangle, a destination surface ID, an option flag, and a global α.

操作IDには、BLT(Bit Block Transfer)、Fill Rectangle、又はClear Rectangleがある。オプションフラグには、グローバルα有効、横方向flipあり、縦方向flipあり、又はrepeatありなどがある。なお、横方向flipありは、画像の横方向への反転表示を指定する機能である。縦方向flipありは、画像の縦方向への反転表示を指定する機能である。   The operation ID includes BLT (Bit Block Transfer), Fill Rectangle, or Clear Rectangle. The option flags include global α valid, horizontal flip, vertical flip, or repeat. Note that “with horizontal flip” is a function for designating the reverse display of the image in the horizontal direction. The presence of vertical flip is a function for designating reverse display of an image in the vertical direction.

上記した描画順序変更は、グラフィックプレーンへの適用だけではなく、ドローイングエリア(Drawing Area)にも適用することができる。これにより、ドローイングAPI(Drawing API)にも、この描画順序変更による効率化を図ることができる。   The drawing order change described above can be applied not only to the graphic plane but also to a drawing area. As a result, the drawing API (Drawing API) can also be improved in efficiency by changing the drawing order.

図11に示すように、ECMAスクリプトではドローイングAPIが定義されている。このドローイングAPIにより、ドローイングエリアに各種図形などを描画することができる。図12に示すように、ドローイングエリアの実体は、PNG画像などと同様に、ピクセルバッファ38にビットマップによって作成される。レンダリング時において、作成されたビットマップは、画像などと同様に、マークアップの記述に従って、グラフィックプレーン上にαブレンドで描画される。   As shown in FIG. 11, a drawing API is defined in the ECMA script. With this drawing API, various graphics and the like can be drawn in the drawing area. As shown in FIG. 12, the entity of the drawing area is created by a bitmap in the pixel buffer 38 in the same manner as a PNG image or the like. At the time of rendering, the created bitmap is drawn with an α blend on the graphic plane in accordance with the description of the markup, like an image or the like.

ECMAスクリプトのドローイングAPIでドローイングエリアに描画する場合、2種類の方法がある。1つは、先のグラフィックプレーンと同じように、各ドローイングエリアごとの描画保留処理リストを用意する。デコード中などで、すぐに描画できないオブジェクト及び、描画保留処理リストに登録されているオブジェクトと重なり依存のあるオブジェクトは、描画せずに描画保留処理リストに登録する。ドローイングAPIは、各アプリケーションのマークアップ画面の構築より前に実行される。このため、マークアップ画像の構築開始の前に、再度、ドローイングエリアの描画保留処理リストの処理を実行をしても良い。デコード中の画像をソースとして使用する場合、デコードを待たなくてはいけないため、描画保留処理リストを走査する回数を複数回にして、最後の1回以外は、先に示したように、デコード中で実行できないオブジェクトの描画領域と重ならないオブジェクトを先行して描画するようにすることで、描画順序と開始タイミングの最適化ができる。最終的には、マークアップ画像構築の段階でドローイングエリアをグラフィックプレーンに描画する際に、ドローイングエリアの描画保留リストをチェックし、すぐに描画不可能な描画要求が残っている場合には、このドローイングエリアの描画指示をデコード中画像と同様に、グラフィック画面構築の描画保留処理リストに登録する。最後にグラフィック画面構築の描画保留処理リストに残った要求を処理する段階でドローイングエリアがあった場合には、このドローイングエリアの描画保留処理リストも走査する。この場合には、デコードが完了していないソース画像があった場合、デコードの完了を待つことになる。   There are two methods for drawing in a drawing area with the drawing API of the ECMA script. One is to prepare a drawing suspension processing list for each drawing area, as in the previous graphic plane. An object that cannot be drawn immediately during decoding or an object that overlaps with an object registered in the drawing hold processing list is registered in the drawing hold processing list without drawing. The drawing API is executed before the markup screen of each application is constructed. For this reason, before starting the construction of the markup image, the drawing pending processing list processing in the drawing area may be executed again. When the image being decoded is used as a source, it is necessary to wait for the decoding. Therefore, the drawing pending processing list is scanned multiple times, except for the last one, as shown above. By drawing an object that does not overlap the drawing area of the object that cannot be executed in advance, the drawing order and the start timing can be optimized. Eventually, when drawing the drawing area on the graphic plane at the stage of markup image construction, the drawing pending list of the drawing area is checked. The drawing area drawing instruction is registered in the drawing hold processing list of the graphic screen construction in the same manner as the image being decoded. Finally, if there is a drawing area at the stage of processing a request remaining in the drawing hold processing list for constructing the graphic screen, the drawing hold processing list in this drawing area is also scanned. In this case, when there is a source image that has not been decoded, the completion of decoding is awaited.

また、ドローイングエリアの場合、キャプチャ機能がある。キャプチャ機能が実行されたら、キャプチャ機能の処理の前に、ドローイングエリアの描画保留処理リストに登録されたオブジェクトの描画と必要に応じたデコード完了待ち、描画保留処理リストのクリアを実行する。   In the case of a drawing area, there is a capture function. When the capture function is executed, before the capture function is processed, the drawing of the object registered in the drawing hold processing list in the drawing area, the completion of decoding as necessary, and the clearing of the drawing hold processing list are executed.

図12に示すケースでは、スクリプト処理において、”drawRectangleCoord()”が実行される。これにより、”fish.png”という矩形画像が敷き詰められる。このため、”fish.png”のデコードが完了するまで、描画処理が実行できない。そこで、このスクリプト処理で実行される、ドローイングAPIの描画にまで、描画順序を最適化する。   In the case shown in FIG. 12, “drawRectangleCoord ()” is executed in the script processing. As a result, a rectangular image “fish.png” is laid. For this reason, drawing processing cannot be executed until decoding of “fish.png” is completed. Therefore, the drawing order is optimized up to drawing API drawing executed in the script processing.

以上により、HD−DVDビデオプレーヤの描画パフォーマンスの向上を図ることができる。   As described above, the drawing performance of the HD-DVD video player can be improved.

なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。   Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. In addition, the embodiments may be appropriately combined as much as possible, and in that case, the combined effect can be obtained. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be obtained as an invention.

アドバンスドHDビデオタイトルセット(AHDVTS : Advanced High Definition Video Title Set)対応のHD−DVDビデオプレーヤ(アドバンスドコントロールプレーヤACP)の概略構成を示す図である。It is a figure which shows schematic structure of the HD-DVD video player (advanced control player ACP) corresponding to an advanced HD video title set (AHDVTS: Advanced High Definition Video Title Set). 図1に示すHD−DVDビデオプレーヤを構成するアドバンスドアプリケーションプレゼンテーションエンジンの概略構成を示す図である。It is a figure which shows schematic structure of the advanced application presentation engine which comprises the HD-DVD video player shown in FIG. 図1に示すHD−DVDビデオプレーヤによる出力画像生成の概要を示す図である。It is a figure which shows the outline | summary of the output image generation by the HD-DVD video player shown in FIG. アドバンスドコンテンツのグラフィック画面構築処理を説明するため図である。It is a figure for demonstrating the graphic screen construction process of advanced content. デコード処理及びグラフィックプレーンヘの描画処理を説明するための図である。It is a figure for demonstrating the decoding process and the drawing process to a graphic plane. デコード処理(デコード処理が間に合わないケース)及びグラフィックプレーンヘの描画処理を説明するための図である。It is a figure for demonstrating the decoding process (case where a decoding process is not in time) and the drawing process to a graphic plane. 描画順序変更を説明するための図である。It is a figure for demonstrating a drawing order change. 描画順序変更を適用しないケースの描画処理の一例を示す図である。It is a figure which shows an example of the drawing process of the case where a drawing order change is not applied. 描画順序変更を適用したケースの描画処理の一例を示す図である。It is a figure which shows an example of the drawing process of the case where the drawing order change is applied. 描画保留処理リストの一例を示す図である。It is a figure which shows an example of a drawing suspension process list. ドローイングAPIの一例を示す図である。It is a figure which shows an example of drawing API. ECMAスクリプトによるドローイングエリアへの描画処理の一例を示す図である。It is a figure which shows an example of the drawing process to a drawing area by an ECMA script.

符号の説明Explanation of symbols

22…ナビゲーションマネージャ、23…パーサー、24…ファイルキャッシュマネージャ、25…プレイリストマネージャ、26…アドバンスドアプリケーションマネージャ、27…ユーザーインターフェースエンジン、31…データアクセスマネージャ、32…パーシスタントストレージマネージャ、33…ネットワークマネージャ、34…ディスクマネージャ、35…データキャッシュ、36…プレゼンテーションエンジン、37…アドバンスドアプリケーションプレゼンテーションエンジン、38…ピクセルバッファ、39…フォントレンダリングシステム、40…アドバンスドサブタイトルプレーヤ、41…セカンダリビデオプレーヤ、42…プライマリビデオプレーヤ、43…デコーダエンジン、44…AVレンダラー、45…グラフィックレンダリングエンジン、49…レイアウトマネージャ 22 ... Navigation manager, 23 ... Parser, 24 ... File cache manager, 25 ... Playlist manager, 26 ... Advanced application manager, 27 ... User interface engine, 31 ... Data access manager, 32 ... Persistent storage manager, 33 ... Network manager 34 ... Disk manager, 35 ... Data cache, 36 ... Presentation engine, 37 ... Advanced application presentation engine, 38 ... Pixel buffer, 39 ... Font rendering system, 40 ... Advanced subtitle player, 41 ... Secondary video player, 42 ... Primary video Player, 43 ... Decoder engine, 44 ... AV renderer, 45 ... La Fick rendering engine, 49 ... layout manager

Claims (6)

グラフィックオブジェクトをデコードするデコード手段と、
デコードされたグラフィックオブジェクトを記憶する記憶手段と、
複数のグラフィックオブジェクトのレイアウト情報に基づき、これら複数のグラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画像構築処理を実行するとともに、このグラフィック画像構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画像構築処理手段と、
前記グラフィック画像構築処理手段により、前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段と、
を備えた情報再生装置。
Decoding means for decoding graphic objects;
Storage means for storing the decoded graphic object;
Based on the layout information of a plurality of graphic objects, a graphic image construction process is performed for drawing the plurality of graphic objects to a predetermined position on the graphic plane in a predetermined order. Graphic image construction processing means for executing a drawing order changing process to postpone drawing;
Output means for outputting the graphic plane on which the plurality of graphic objects are drawn by the graphic image construction processing means;
An information reproducing apparatus comprising:
前記グラフィック画像構築処理は、複数のグラフィックオブジェクトのレイアウト情報に基づき各グラフィックオブジェクトの重なりを検出し、これら複数のグラフィックオブジェクトのレイアウト情報に基づきデコードされた各グラフィックオブジェクトを順にグラフィックプレーン上へ描画するとともに、前記重なり検出に基づきデコードされた各グラフィックオブジェクト同士の重なり依存の関係を管理する処理であり、
前記描画順序変更処理は、デコードが間に合わないグラフィックオブジェクトの描画を後回しにして、デコード済みで且つ他の後回しになっているグラフィックオブジェクトとの重なり依存が無いグラフィックオブジェクトを先に描画する処理である、
ことを特徴とする請求項1に記載の情報再生装置。
The graphic image construction process detects overlapping of each graphic object based on layout information of a plurality of graphic objects, and sequentially draws each graphic object decoded based on the layout information of the plurality of graphic objects on a graphic plane. , A process for managing the overlap-dependent relationship between the graphic objects decoded based on the overlap detection,
The drawing order changing process is a process of drawing a graphic object that cannot be decoded in time, and drawing a graphic object that has been decoded and has no overlap dependency with another post-delay graphic object.
The information reproducing apparatus according to claim 1.
前記グラフィック画像構築処理は、複数のグラフィックオブジェクトのレイアウト情報に基づき各グラフィックオブジェクト同士の重なり依存関係を検出して管理するとともに、これら複数のグラフィックオブジェクトのレイアウト情報に基づきデコードされた各グラフィックオブジェクトを順にグラフィックプレーン上へ描画する処理であり、
前記描画順序変更処理は、m番目に描画されるべきグラフィックオブジェクトmのデコードが間に合わない場合、前記グラフィックオブジェクトmをリストに登録するとともに前記リストに登録されたグラフィックオブジェクトmの描画を後回しにして、m+1番目に描画されるべきグラフィックオブジェクトm+1の描画領域を検証し、前記グラフィックオブジェクトm+1がデコード完了オブジェクトであっても、前記リストに登録されているグラフィックオブジェクトmと重なることが判明した場合には、前記グラフィックオブジェクトm+1もリストに登録するとともに前記リストに登録されたグラフィックオブジェクトm+1の描画も後回しにして、m+2番目に描画されるべきグラフィックオブジェクトm+2の描画領域を検証し、前記グラフィックオブジェクトm+2がデコード完了オブジェクトであり且つ前記リストに登録されている前記グラフィックオブジェクトm及び前記グラフィックオブジェクトm+1の両者と重ならないことが判明した場合には、前記リストに登録されている前記グラフィックオブジェクトm及び前記グラフィックオブジェクトm+1よりも先に前記グラフィックオブジェクトm+2を描画する処理である、
ことを特徴とする請求項1に記載の情報再生装置。
The graphic image construction process detects and manages an overlap dependency between graphic objects based on layout information of a plurality of graphic objects, and sequentially decodes each graphic object decoded based on the layout information of the plurality of graphic objects. It is a process of drawing on the graphic plane,
The drawing order changing process registers the graphic object m in the list and delays the drawing of the graphic object m registered in the list when the m-th graphic object m to be drawn cannot be decoded in time. When the drawing area of the graphic object m + 1 to be drawn m + 1 is verified and it is found that even if the graphic object m + 1 is a decoding completion object, it overlaps with the graphic object m registered in the list, The graphic object m + 1 is registered in the list, and the graphic object m + 1 registered in the list is also drawn later to verify the drawing area of the graphic object m + 2 to be drawn second. If it is found that the graphic object m + 2 is a decoding completion object and does not overlap both the graphic object m and the graphic object m + 1 registered in the list, the graphic registered in the list A process of drawing the graphic object m + 2 before the object m and the graphic object m + 1;
The information reproducing apparatus according to claim 1.
前記グラフィック画像構築処理手段は、ECMAスクリプトのドローイングAPIによるドローイングエリアへのドローイメージ生成処理において、ドローイングAPIによる描画処理でソースとして使用する画像のデコードが間に合わない場合に、その描画処理を後回しにするように描画順序最適化をドローイングAPIにも適用することを特徴とする請求項1に記載の情報再生装置。   The graphic image construction processing means postpones the drawing processing when the image used as the source in the drawing processing by the drawing API is not in time in the drawing image generation processing to the drawing area by the drawing API of the ECMA script. The information reproducing apparatus according to claim 1, wherein the drawing order optimization is also applied to the drawing API. 前記デコード手段によるデコード処理と、前記グラフィック画像構築処理手段による前記描画処理及び前記描画順序変更処理とは、並行して実行可能であることを特徴とする請求項1に記載の情報再生装置。   2. The information reproducing apparatus according to claim 1, wherein the decoding process by the decoding unit, the drawing process by the graphic image construction processing unit and the drawing order changing process can be executed in parallel. 複数のアプリケーションの夫々に含まれるグラフィックオブジェクトをデコードするデコード手段と、
デコードされたグラフィックオブジェクトを記憶する記憶手段と、
各アプリケーションのZ順序情報及び各アプリケーションに含まれる各グラフィックオブジェクトのZ順序情報に基づき、各グラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画面構築処理を実行するとともに、このグラフィック画面構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画面構築処理手段と、
前記グラフィック画面構築処理手段により前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段と、
を備えた情報再生装置。
Decoding means for decoding a graphic object included in each of a plurality of applications;
Storage means for storing the decoded graphic object;
Based on the Z order information of each application and the Z order information of each graphic object included in each application, a graphic screen construction process for drawing each graphic object at a predetermined position on the graphic plane in a predetermined order is executed. Graphic screen construction processing means for executing a drawing order changing process to postpone drawing of graphic objects that cannot be decoded in time in the construction process;
Output means for outputting the graphic plane on which the plurality of graphic objects are drawn by the graphic screen construction processing means;
An information reproducing apparatus comprising:
JP2007166629A 2007-06-25 2007-06-25 Information playback apparatus Pending JP2009003370A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007166629A JP2009003370A (en) 2007-06-25 2007-06-25 Information playback apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007166629A JP2009003370A (en) 2007-06-25 2007-06-25 Information playback apparatus

Publications (1)

Publication Number Publication Date
JP2009003370A true JP2009003370A (en) 2009-01-08

Family

ID=40319775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007166629A Pending JP2009003370A (en) 2007-06-25 2007-06-25 Information playback apparatus

Country Status (1)

Country Link
JP (1) JP2009003370A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113731A1 (en) * 2009-04-03 2010-10-07 ソニー株式会社 Information processing device, information processing method, and program
JP2012134992A (en) * 2009-04-03 2012-07-12 Sony Corp Information processor, information processing method and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113731A1 (en) * 2009-04-03 2010-10-07 ソニー株式会社 Information processing device, information processing method, and program
JP2010259052A (en) * 2009-04-03 2010-11-11 Sony Corp Information processing device, information processing method, and program
JP2012134992A (en) * 2009-04-03 2012-07-12 Sony Corp Information processor, information processing method and program
CN103000209A (en) * 2009-04-03 2013-03-27 索尼公司 Information processing device, information processing method, and program
US8718355B2 (en) 2009-04-03 2014-05-06 Sony Corporation Information processing device, information processing method, and program
US9225956B2 (en) 2009-04-03 2015-12-29 Sony Corporation Information processing device, information processing method, and program
CN103000209B (en) * 2009-04-03 2017-08-18 索尼公司 Message processing device and information processing method

Similar Documents

Publication Publication Date Title
ES2397699T3 (en) Device and playback method of a storage medium that stores text-based subtitle data that includes style information
US20070101265A1 (en) Information storage medium, information playback apparatus, information playback method, and information playback program
US8020084B2 (en) Synchronization aspects of interactive multimedia presentation management
WO2010113728A1 (en) Information processing device, information processing method, and program
WO2010113730A1 (en) Information processing device, information processing method, and program
WO2010113731A1 (en) Information processing device, information processing method, and program
US7650063B2 (en) Method and apparatus for reproducing AV data in interactive mode, and information storage medium thereof
JP2008108296A (en) Information reproducing device and information reproducing method
JP2008165872A (en) Digital video reproducing device and reproducing method
JP2009003370A (en) Information playback apparatus
KR20070014963A (en) Recording medium, method and appratus for reproducing data and method and apparatus for recording data
US20050094973A1 (en) Moving picture reproducing apparatus in which player mode information is set, reproducing method using the same, and storage medium
JP2009016931A (en) Graphic processing method, graphic processor, and video reproducer
JP4962825B2 (en) Information processing apparatus, information processing method, and program
JP4962673B1 (en) Information processing apparatus, information processing method, and program
JP2008152478A (en) Data reproducing device
JP4998650B2 (en) Information processing apparatus, information processing method, and program
JP4962814B2 (en) Information processing apparatus, information processing method, and program
JP2009016885A (en) Image transfer device
JP2008165871A (en) Digital video reproducing device and reproducing method
KR20070103279A (en) Method and apparatus for reproducing data
JP2008141427A (en) Video reproducing apparatus