前のページへ戻る

ソースコード付き<デジタル放送対応> BMLブラウザ実装ハンドブック

ソースコード付き<デジタル放送対応> BMLブラウザ実装ハンドブック
ソースコード付き<デジタル放送対応> BMLブラウザ実装ハンドブック

通常価格 冊子版 ¥162,000(税込)

メディアキャスト特別価格 冊子版 ¥154,286(税込)

通常価格 CD-ROM版 ¥151,200(税込)

メディアキャスト特別価格 CD-ROM版 ¥144,000(税込)

申込フォームへ

サイズ・判型 A4判
ページ数 482P
発売日 2009/11/17
執筆者 監修:株式会社 テレビ朝日メディアプレックス 執筆:田中 賢一郎
発行 株式会社インプレスR&D
発売 株式会社インプレスコミュニケーションズ

ソースコードをもとにBMLブラウザの実装を徹底的に解説
データ放送コンテンツ制作者のための実践的解説書!

本書は、既刊の『BMLコンテンツ開発ハンドブック』(地上デジタル/衛星デジタル/ワンセグ放送編)シリーズの続編で、既刊本より、より実践的な内容になっています。

具体的には、ソースコードに基づいてBMLブラウザの内部実装について詳しく解説しています。 また、BMLブラウザ(giggle)のエンジン部分のソースコードを、初めてすべて公開し、付属のCD-ROMに同梱(注)しています。

BMLコンテンツ作成者は、ブラウザの内部実装を知ることで、ARIB規格に対する理解をより深めることができ、さらに、ブラウザの動きを予想することで、より効率の良いBMLコンテンツを作成できるようになります。

BMLコンテンツ制作者はもちろんのこと、テレビメーカーや放送用各種ツールメーカーの方々、さらに放送局でデータ放送に従事する人やメーカーの開発者、プログラムの勉強をしている学生など、多くの皆様に読んでいただける必読の一冊です。

(注)
・BMLブラウザエンジンのソースコード
・BMLブラウザgiggle
・BMLサンプルコンテンツ
・BMLブラウザエンジンテストデータ

※同梱のBMLブラウザgiggleは、BMLブラウザgiggleの製品版とは若干内容が異なり、Windows 7やVistaに対応したり、USBドングルによるハードウェアプロテクトが解除されています。なお、BMLブラウザgiggle(製品版)は、販売を終了しているソフトウェアになります。

目次

第1章 背景知識

1.1 インストール
1.1.1 Microsoft Visual C# Express Editionのインストール
1.1.2 NUnitのインストール
1.1.3 IISのインストール
1.1.4 GiggleProjectのインストール
1.2 動作確認
1.2.1 GiggleProject
1.2.2 NUnit
1.3 最もシンプルなBMLブラウザ
1.3.1 作業手順
1.4 コードの読み方
1.4.1 全体の構成
1.4.2 BMLブラウザ実装のスタンス

第2章 DSMCC

2.1 背景知識
2.1.1 MPEG-2 PSとMPEG-2 TS
2.1.2 TSとES
2.1.3 コンポーネントタグ
2.1.4 PESとデータカルーセル
2.1.5 .モジュールとリソース
2.1.6 名前空間
2.1.7 カルーセルの時間変化
2.1.8 イベントメッセージ
2.1.9 リンク・非リンク
2.1.10 ベースURI
2.2 SI/PSI
2.3 実装
2.3.1 IDsmcc
2.3.2 NameSpaceState
2.3.3 NsContext
2.3.4 SI

第3章 BMLブラウザの概要

3.1 BMLブラウザの特徴
3.1.1 イベント駆動
3.1.2 キーとなるクラス
3.2 実装
3.2.1 BML文書の読み込み - BmlDocument
3.2.2 BmlNodeオブジェクトの作成 - BmlNode
3.2.3 BmlNodeの検索台帳 - NodeFinder
3.2.4 BMLブラウザへの入り口 - Browser
3.2.5 BMLエンジンの心臓部 - MessagePump
3.2.6 BML文書のチェック機能 - AribCheckVisitor

第4章 PNG/MNG

4.1 背景知識
4.1.1 PNGの特徴とファイルフォーマット概説
4.1.2 ARIBの制限
4.1.3 CLUTファイル
4.1.4 RGBとYCbCr
4.2 実装
4.2.1 CLUTファイルのパース
4.2.2 PNGファイルのパース
4.2.3 PNGファイルのパース(別手法)
4.3 MNG

第5章 CSS2

5.1 背景知識
5.1.1 CSS2の例
5.1.2 CSS2モジュールに必要な機能
5.1.3 取り得る値
5.1.4 Active/Focus/Normal
5.1.5 適用可能な対象
5.1.6 セレクタへの制限
5.1.7 暗黙の初期値
5.1.8 優先順位
5.2 実装
5.2.1 データ構造
5.2.2 正規表現を使ったスタイルの取得
5.2.3 CSS特性名、DOM属性名
5.2.4 適用可能な対象の実装
5.2.5 優先順位の実装
5.2.6 CssItemの実装

第6章 描画

6.1 背景知識
6.1.1 ブロック要素とインライン要素
6.1.2 クリッピング
6.1.3 ボックスモデル
6.1.4 position特性
6.1.5 デフォルトスタイルシートにみる描画ルール
6.1.6 Z-order
6.1.7 文字の組み版
6.1.8 ブロック要素
6.2 実装
6.2.1 ボックスモデル
6.2.2 要素の描画
6.2.3 インライン要素のレイアウト

第7章 コマンド

7.1 コマンドパターン
7.2 クラス図
7.3 ARIBにおけるイベントに関する規定
7.4 実装
7.4.1 BmlCommand
7.4.2 BmlKeyCode
7.4.3 BmlCommandDataButtonPressed
7.4.4 BmlCommandDataEventChanged
7.4.5 BmlCommandBlur
7.4.6 BmlCommandFocus
7.4.7 BmlCommandChange
7.4.8 BmlCommandClick
7.4.9 BmlCommandLaunchDocument
7.4.10 BmlCommandFinishDocument
7.4.11 BmlCommandLoad/BmlCommandUnload
7.4.12 BmlCommandRepaint
7.4.13 BmlCommandTimer
7.4.14 BmlCommandModuleLocked
7.4.15 BmlCommandModuleUpdated
7.4.16 BmlCommandModuleTemplate
7.4.17 ModuleManager
7.4.18 BmlCommandEventMessageFired
7.4.19 BmlCommandKeydown
7.4.20 BmlCommandKeyup
7.4.21 BmlCommandEvalString
7.4.22 BmlCommandEvalTerminalInput

第8章 browserオブジェクト

8.1 メンバー変数
8.2 プロパティ
8.3 メソッド実行の仕組み
8.4 メソッド実装詳細
8.4.1 拡張メソッド
8.4.2 通信関連メソッド
8.4.3 動作制御用メソッド
8.4.4 モジュールロック関連メソッド
8.4.5 その他のメソッド

第9章 JavaScriptエンジン

9.1 ManagedとUnmanaged
9.2 Hostオブジェクト
9.3 組み込みオブジェクト
9.4 BMLブラウザにおけるHostオブジェクト
9.5 JavaScriptオブジェクトとManagedオブジェクトの関係
9.6 JavaScriptエンジン組み込み時の注意点
9.6.1 3/2 = 1
9.6.2 Dateオブジェクト
9.6.3 BinaryTable
9.6.4 文字コード
9.7 実装詳細
9.7.1JsVal
9.7.2 IEngine
9.7.3 SpiderMonkey
9.7.4 JsObject
9.8 JsObjectを継承するオブジェクト例
9.8.1 BmlNode
9.8.2 BmlEvent
9.8.3 BmlDocumentObject

第10章 その他のクラス

10.1 BmlNodeを継承するクラス
10.1.1 BmlNodeMeta
10.1.2 BmlNodeScript
10.1.3 BmlCSS2Properties
10.1.4 BmlNodeBody
10.1.5 BmlNodeTextTemplate
10.1.6 BmlNodeDiv
10.1.7 BmlNodeBeitem
10.2 BmlDate
10.3 BmlBinaryTable

このページの上部へ戻る

前のページへ戻る