以下、本発明によるセリフデータ生成装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1によるセリフデータ生成装置について、図面を参照しながら説明する。本実施の形態によるセリフデータ生成装置は、セリフテキストデータと、そのセリフテキストデータの位置を指定するテキストフレームとを含むセリフデータを生成するものである。
図1は、本実施の形態によるセリフデータ生成装置1の構成を示すブロック図である。本実施の形態によるセリフデータ生成装置1は、画稿データ記憶部11と、セリフテキストデータ記憶部12と、表示部13と、受付部14と、吹き出し領域特定部15と、吹き出し認識部16と、読み順情報記憶部17と、取得部18と、フォント属性対応情報記憶部19と、フォントサイズ受付部20と、生成部21と、蓄積部22と、セリフデータ記憶部23とを備える。
画稿データ記憶部11では、1以上の画稿データが記憶される。画稿データとは、コミック画像を含む画像データである。コミック画像は、1以上のコマから構成される。画稿データに2以上のコマの画像が含まれる場合には、その2以上のコマの画像のすべてを含む領域がコミック画像となる。したがって、一の画稿データには、一のコミック画像が含まれることになる。通常、一の画稿データに含まれるコミック画像が一のページに配置されることになるが、そうでなくてもよい(例えば、一の画稿データに含まれるコミック画像が見開きの2ページに配置されてもよい)。この画稿データは、例えば、ラスタデータであってもよく、ベクタデータであってもよい。その画稿データの形式は問わないが、例えば、TIFFや、EPS等であってもよい。この画稿データは、例えば、図9で示されるように、上下左右に余白を有している。なお、いずれか1以上の余白が0であってもよい。
画稿データ記憶部11に画稿データが記憶される過程は問わない。例えば、記録媒体を介して画稿データが画稿データ記憶部11で記憶されるようになってもよく、通信回線等を介して送信された画稿データが画稿データ記憶部11で記憶されるようになってもよく、あるいは、スキャナ等の入力デバイスを介して入力された画稿データが画稿データ記憶部11で記憶されるようになってもよい。画稿データ記憶部11での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。画稿データ記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
セリフテキストデータ記憶部12では、1以上のセリフテキストデータが記憶される。セリフテキストデータとは、画稿データに含まれるコミック画像の吹き出しに表示されるセリフのテキストデータである。一のセリフテキストデータが一の吹き出しに表示されるものとする。セリフテキストデータ記憶部12では、セリフテキストデータと、セリフテキストデータを識別するセリフ識別子とが対応付けられて記憶されていてもよい。その場合には、そのセリフ識別子によって、セリフテキストデータを識別することができることになる。そのため、セリフ識別子は、重複しないように設定されることが好適である。そのセリフ識別子は、セリフの順序に応じてセリフテキストデータに対応付けられていてもよい。例えば、セリフの順に3個のセリフテキストデータ「A」「B」「C」が記憶されていた場合に、そのセリフテキストデータ「A」「B」「C」のそれぞれに対応するセリフ識別子が、セリフの順に応じて、昇順や降順となっていてもよい。その場合に、セリフ識別子は、数字で示されてもよく、アルファベットで示されてもよく、平仮名や片仮名で示されてもよい。セリフ識別子がアルファベットや平仮名、片仮名で示される場合には、昇順とはアルファベット順(A,B,Cの順)や、アイウエオ順であり、降順とは、その逆であってもよい。なお、このようにセリフの順序に応じてセリフ識別子がセリフテキストデータに対応付けられているのは、後の取得部18による処理において、セリフの順序に応じて、自動的にセリフテキストデータと、吹き出しとの対応関係をとることができるようにするためである。したがって、セリフ識別子によって、そのセリフ識別子の対応するセリフテキストデータの順序を知ることができるのであれば、セリフ識別子はどのようなものであってもよい。そのセリフテキストデータには、ルビ(振り仮名用テキスト)が含まれていてもよい。
セリフテキストデータ記憶部12にセリフテキストデータ等が記憶される過程は問わない。例えば、記録媒体を介してセリフテキストデータ等がセリフテキストデータ記憶部12で記憶されるようになってもよく、通信回線等を介して送信されたセリフテキストデータ等がセリフテキストデータ記憶部12で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたセリフテキストデータ等がセリフテキストデータ記憶部12で記憶されるようになってもよい。また、セリフテキストデータ記憶部12で記憶されているセリフテキストデータ等は、適宜、変更することができてもよい。セリフテキストデータ記憶部12での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。セリフテキストデータ記憶部12は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
表示部13は、画稿データ記憶部11で記憶されている画稿データを表示する。なお、画稿データを表示する際には、少なくとも吹き出しの部分が表示されればよいため、例えば、表示部13は、コミック画像のみを表示してもよい。また、表示部13は、画稿データと、セリフテキストデータ記憶部12で記憶されている1以上のセリフテキストデータとを表示してもよい。また、表示部13は、後の生成部21や蓄積部22の処理によって、セリフデータがセリフデータ記憶部23に蓄積された場合には、そのセリフデータと、画稿データとの両方を表示してもよい。その表示の際には、セリフデータに含まれるセリフテキストデータが、そのセリフテキストデータに対応する吹き出しの位置に表示されるようにすることが好適である。また、表示部13は、セリフデータを表示する際に、セリフデータに含まれる各セリフテキストデータの中心位置を示す図形をも表示してもよい。セリフテキストデータの中心位置とは、例えば、テキストフレームの中心位置であってもよく、一のセリフテキストデータに含まれるすべての文字を囲む最小の矩形の中心位置(すなわち、文字列の中心位置)であってもよい。その中心位置を示す図形は、例えば、十字マーク等のマークであってもよく、その中心位置で交叉する2本の直線であってもよい。
なお、表示部13は、それらの表示を行う表示デバイス(例えば、CRTや液晶ディスプレイなど)を含んでもよく、あるいは含まなくてもよい。また、表示部13による表示は、セリフデータ生成装置1と別の装置においてなされてもよい。その場合には、表示部13は、セリフデータ生成装置1の外部に対して表示対象の情報を送信するものであってもよい。また、表示部13は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
受付部14は、表示部13が表示した画稿データにおいて、セリフテキストデータが表示される位置の指定を受け付ける。その位置の指定は、例えば、表示部13が表示している画稿データ上において、GUI(Graphical User Interface)を用いてなされてもよい。具体的には、その位置の指定は、マウスやタッチパネル等のポインティングデバイスを用いて、セリフテキストデータを、そのセリフテキストデータを表示したい位置にドラッグ&ドロップすることによってなされてもよく、あるいは、あるセリフテキストデータを特定した上で、そのセリフテキストデータを表示したい位置をクリックしたり、タップしたりすることによってなされてもよい。また、受付部14は、その他のセリフデータ生成装置1に関する操作を受け付けてもよい。その操作は、例えば、設定の変更であってもよく、自動的にセリフデータを生成する旨の指示であってもよい。
受付部14は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、あるいは、有線もしくは無線の通信回線を介して送信された情報を受信してもよい。なお、受付部14は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部14は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
吹き出し領域特定部15は、受付部14が受け付けた画稿データの位置を含む領域である吹き出し領域を特定する。なお、その受付部14が受け付けた画稿データの位置は、セリフテキストデータの表示位置を指定するために受け付けられたものである。したがって、受付部14は、吹き出しの内部の位置の指定を受け付けているものとする。そのため、吹き出し領域特定部15は、受付部14が指定を受け付けた位置に連続した領域であり、その指定された位置と同じ色(通常は白色)である領域を特定することによって、吹き出し領域を特定することができる。
なお、吹き出し領域の特定とは、その領域の外縁(輪郭)を示す複数の点の座標値を図示しない記録媒体に蓄積することであってもよく、その領域を示すその他の情報を図示しない記録媒体に蓄積することであってもよい。また、吹き出し領域特定部15が上記説明以外の方法によって吹き出し領域を特定してもよいことは言うまでもない。
吹き出し認識部16は、画稿データに含まれるコミック画像の吹き出しを認識する。吹き出しの認識とは、画稿データにおける吹き出しの領域の認識である。一の画稿データに2以上の吹き出しが含まれる場合には、吹き出し認識部16は、各吹き出しを認識することになる。ここで、コミック画像において吹き出しを認識する方法について簡単に説明する。吹き出し認識部16は、例えば、吹き出し形状のパターンを保持しておき、そのパターンマッチングを行うことによって、吹き出しを認識してもよい。また、吹き出し認識部16は、あらかじめ決められた面積以上の白色の領域を検出し、その検出した白色の領域と連続している白色の領域である吹き出しを認識してもよい。また、吹き出し認識部16は、あらかじめ決められた面積以上の白色の領域を検出し、その検出した白色の領域と連続している白色の領域を特定し、その特定した領域の輪郭と、あらかじめ保持している1以上の吹き出しの形状との類似度を算出し、その特定した領域の輪郭と、いずれかの吹き出しの形状との類似度があらかじめ決められたしきい値以上である場合に、その特定した領域を吹き出しとしてもよい。また、ここでは、吹き出しの領域の色が白色である場合について説明したが、吹き出しの領域の色は白色以外であってもよい。吹き出しの領域が白色以外の色(例えば、黒色等)である場合には、その色を用いて、吹き出しの認識が行われてもよい。具体的には、吹き出し認識部16は、あらかじめ決められた面積以上のあらかじめ決められている色(例えば、黒色等)の領域を検出し、その検出したあらかじめ決められている色の領域と連続している同色の領域である吹き出しを認識してもよい。なお、例えば、吹き出しの領域の色が黒色である場合には、そこに表示されるセリフのテキストは、白色であってもよい。
なお、吹き出しの認識とは、その吹き出しの領域の外縁(輪郭)を示す複数の点の座標値を図示しない記録媒体に蓄積することであってもよく、その領域を示すその他の情報を図示しない記録媒体に蓄積することであってもよい。また、吹き出し認識部16が上記説明以外の方法によって吹き出しを認識してもよいことは言うまでもない。
読み順情報記憶部17では、コミックの読み順を示す情報である読み順情報が記憶される。コミックの読み順とは、例えば、画稿データにおいて、上から下や、右から左、右上から左下などのように、コミックの各コマや各コマにおける複数の吹き出しを読む順序のことである。この読み順情報は、例えば、方向(ベクトル)で読み順を示してもよく、領域の順序で読み順を示してもよく、ルールによって読み順を示してもよく、それらの任意の組み合わせで読み順を示してもよい。
読み順情報記憶部17に読み順情報が記憶される過程は問わない。例えば、記録媒体を介して読み順情報が読み順情報記憶部17で記憶されるようになってもよく、通信回線等を介して送信された読み順情報が読み順情報記憶部17で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された読み順情報が読み順情報記憶部17で記憶されるようになってもよい。読み順情報記憶部17での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。読み順情報記憶部17は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
取得部18は、セリフテキストデータと、セリフテキストデータが表示される吹き出し内の位置との対応を取得する。セリフテキストデータと吹き出し内の位置との対応を取得するとは、結果として、あるセリフテキストデータと、そのセリフテキストデータが表示される吹き出しとの対応の特定と、その吹き出しの内部での位置の特定とが行われるのであれば、その方法を問わない。その対応の特定は、例えば、セリフテキストデータに対応するセリフ識別子と、吹き出し内の位置を示す座標とを対応付けて図示しない記録媒体に蓄積することであってもよい。なお、取得部18による対応の取得は、受付部14が受け付けた画稿データの位置を用いて行う場合と、すべて自動的に行う場合とがある。ここでは、前者を「手動での取得」と呼び、後者を「自動での取得」と呼ぶことにする。
(1)手動での取得
まず、手動での取得の方法について説明する。この場合には、受付部14が、セリフテキストデータが表示される画稿データの位置の指定を受け付けることによって、セリフテキストデータと、吹き出し内の位置との対応が取得されることになる。
すなわち、取得部18は、セリフテキストデータと、そのセリフテキストデータに対応する、受付部14が受け付けた画稿データの位置との対応を取得する。例えば、取得部18は、セリフテキストデータそのもの、もしくは、セリフテキストデータに対応するセリフ識別子と、指定された位置を示す画稿データの座標とを対応付けて図示しない記録媒体に蓄積してもよい。
(2)自動での取得
次に、自動での取得の方法について説明する。この場合には、吹き出し認識部16が吹き出しを認識することによって、セリフテキストデータと、認識された吹き出し内の位置との対応が取得されることになる。
すなわち、取得部18は、セリフテキストデータと、吹き出し認識部16が認識した吹き出し内の位置との対応を取得する。また、取得部18は、吹き出し認識部16が認識した吹き出しにセリフ識別子を付与し、セリフ識別子を付与した吹き出し内に、セリフ識別子に対応するセリフテキストデータに応じた位置を特定してもよい。吹き出しにセリフ識別子が付与されることによって、吹き出しと、セリフテキストデータとがセリフ識別子を介して対応付けられることになる。吹き出しにセリフ識別子を付与するとは、例えば、吹き出しを識別する情報(例えば、吹き出しの輪郭を示す座標の情報や、吹き出しの識別子等)と、セリフ識別子とを対応付けて図示しない記録媒体に蓄積することであってもよい。また、吹き出し内の位置の特定は、例えば、吹き出しの中心位置の特定によって行われてもよく、吹き出しの重心位置の特定によって行われてもよく、その他の位置の特定であってもよい。吹き出しの中心位置は、例えば、その吹き出しの領域を囲むように設定された最小の矩形の中心位置であってもよい。
また、前述のように、セリフの順序に応じてセリフ識別子がセリフテキストデータに対応付けられている場合には、取得部18は、読み順情報記憶部17で記憶されている読み順情報の示す読み順に応じて、吹き出し認識部16が認識した吹き出しにセリフ識別子を付与してもよい。例えば、セリフの順序に応じたセリフ識別子「001」「002」「003」がセリフテキストデータ記憶部12で記憶されており、読み順情報を用いて、1番目の吹き出し、2番目の吹き出し、3番目の吹き出しが特定された場合には、取得部18は、1番目の吹き出しにセリフ識別子「001」を付与し、2番目の吹き出しにセリフ識別子「002」を付与し、3番目の吹き出しにセリフ識別子「003」を付与してもよい。
フォント属性対応情報記憶部19では、2以上のフォント属性対応情報が記憶される。フォント属性対応情報は、フォントサイズと、そのフォントサイズに対応する間隔情報とを有する情報である。間隔情報は、文字の間隔及び/または行の間隔を示す情報である。文字の間隔は、例えば、字間であってもよく、あるいは、字送りであってもよい。また、行の間隔は、例えば、行間であってもよく、あるいは、行送りであってもよい。
フォント属性対応情報記憶部19に2以上のフォント属性対応情報が記憶される過程は問わない。例えば、記録媒体を介して2以上のフォント属性対応情報がフォント属性対応情報記憶部19で記憶されるようになってもよく、通信回線等を介して送信された2以上のフォント属性対応情報がフォント属性対応情報記憶部19で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された2以上のフォント属性対応情報がフォント属性対応情報記憶部19で記憶されるようになってもよい。フォント属性対応情報記憶部19での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。フォント属性対応情報記憶部19は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
フォントサイズ受付部20は、フォントサイズの指定を受け付ける。フォントサイズの指定は、例えば、フォントサイズそのものの指定(例えば、12ポイント等)であってもよく、フォントサイズの差分の指定であってもよい。フォントサイズの差分の指定は、例えば、差分を特定した指定(例えば、2ポイント大きく、2ポイント小さく等)であってもよく、あるいは、差分を特定しない指定(例えば、大きく、小さく等)であってもよい。
フォントサイズ受付部20は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力されたフォントサイズの指定を受け付けてもよく、あるいは、有線もしくは無線の通信回線を介して送信されたフォントサイズの指定を受信してもよい。なお、フォントサイズ受付部20は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、フォントサイズ受付部20は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
生成部21は、セリフデータを生成する。そのセリフデータは、画稿データのコミック画像の吹き出しに表示されるセリフのデータである。セリフデータは、セリフテキストデータと、そのセリフテキストデータとの対応が取得部18によって取得された吹き出し内の位置に応じて配置される、セリフテキストデータの位置を指定するテキストフレームと、セリフテキストデータのフォントサイズと間隔とを含むデータであるセリフデータを生成する。吹き出し内の位置に応じて配置されるテキストフレームとは、その吹き出し内の位置そのものに配置されるテキストフレームであってもよく、あるいは、その位置と同じ吹き出し内に存在する他の位置に配置されるテキストフレームであってもよい。また、セリフテキストデータの間隔は、文字の間隔であってもよく、行の間隔であってもよく、その両方であってもよい。本実施の形態では、文字の間隔と行の間隔との両方である場合について説明する。また、文字の間隔は、例えば、字間であってもよく、あるいは、字送りであってもよい。また、行の間隔は、例えば、行間であってもよく、あるいは、行送りであってもよい。また、フォントサイズや間隔以外のテキストの属性、例えば、フォントの種類、テキストの強調(例えば、太字、斜体、下線、色等)がセリフデータに含まれていてもよい。また、テキストのルビもセリフデータに含まれていてもよい。このセリフデータは、通常、画稿データと同じ大きさの台紙上に、吹き出しごとのテキストフレームが配置されたデータであり、画稿データと、セリフデータとを重ねて表示することによって、コミック画像の吹き出しの位置にセリフが表示されるようになるデータであるが、そうでなくてもよい。例えば、セリフデータは、ページと同じ大きさの台紙上に、吹き出しごとのテキストフレームが配置されたデータであってもよい。本実施の形態では、セリフデータが画稿データと同じ大きさであり、両者を重ねることによって、吹き出しの位置にセリフが表示される場合について説明する。このように、通常、一の画稿データに、一のセリフデータが対応していることになる。そのため、一のセリフデータには、1または2以上のセリフテキストデータが含まれることになる。したがって、生成部21によるセリフデータの生成には、既存のセリフデータに、新たなセリフテキストデータや、それに応じたテキストフレーム、フォントサイズ、間隔等を追加することを含むことになる。
次に、生成部21がセリフデータを生成する方法について、取得部18による対応の取得が、手動での取得であった場合と、自動での取得であった場合とに分けて説明する。また、フォントサイズを変更する場合についても説明する。
(A)手動での取得に応じたセリフデータの生成
生成部21は、受付部14が受け付けた位置に応じて配置されるテキストフレームを含むセリフデータを生成する。具体的には、生成部21は、受付部14が受け付けた位置を中心とするテキストフレームを含むセリフデータを生成してもよい。その場合には、生成部21は、デフォルトのフォントサイズ、間隔でセリフテキストデータを表示した際にセリフテキストデータの囲む最小の矩形であるテキストフレームを生成し、そのテキストフレームを受付部14によって受け付けられた位置が中心となるように配置し、そのテキストフレームと、セリフテキストデータと、デフォルトのフォントサイズ及び間隔とを含むセリフデータを生成してもよい。
また、生成部21は、受付部14が受け付けた位置を中心としない位置のテキストフレームを含むセリフデータを生成してもよい。例えば、生成部21は、吹き出し領域特定部15によって特定された、受付部14が受け付けた位置を含む吹き出し領域の中心位置や重心位置等を中心とするテキストフレームを含むセリフデータを生成してもよい。その場合にも、生成部21は、デフォルトのフォントサイズ、間隔でセリフテキストデータを表示した際にセリフテキストデータの囲む最小の矩形であるテキストフレームを生成し、そのテキストフレームを、吹き出し領域の中心位置や重心位置等が中心となるように配置し、そのテキストフレームと、セリフテキストデータと、デフォルトのフォントサイズ及び間隔とを含むセリフデータを生成してもよい。この場合に、生成部21は、吹き出し領域特定部15が特定した吹き出し領域に含まれる矩形のテキストフレームを含むセリフデータを生成してもよい。すなわち、テキストフレームが吹き出し領域からはみ出さないようにしてもよい。このようにすることで、セリフテキストデータが、吹き出しの内部に表示されることになる。
なお、生成部21が、受け付けられた位置を中心とするテキストフレームを生成するのか、あるいは、そうでない位置を中心とするテキストフレームを生成するのかについて、あらかじめ設定がなされていてもよい。そして、その設定に応じて、生成部21は、セリフデータを生成してもよい。また、上記説明では、セリフテキストデータがぴったり含まれる矩形のテキストフレームが生成される場合について説明したが、そうでなくてもよい。例えば、あらかじめ決められたデフォルトの大きさのテキストフレームが生成されてもよい。その場合には、例えば、そのデフォルトの大きさのテキストフレームにおいて、右上詰め等でセリフテキストデータが配置されてもよい。
(B)自動での取得に応じたセリフデータの生成
生成部21は、取得部18によって対応が取得された位置に応じて配置されるテキストフレームを含むセリフデータを生成する。具体的には、生成部21は、取得部18によって対応が取得された位置を中心とするテキストフレームを含むセリフデータを生成してもよい。具体的な処理は、(A)における説明と同様である。なお、取得部18によって対応が取得された位置が、吹き出し認識部16が認識した吹き出しの中心位置や重心位置等である場合には、その中心位置等を中心とするテキストフレームを含むセリフデータが生成されることになる。また、取得部18によって対応が取得された位置とは異なる位置のテキストフレームを含むセリフデータを生成してもよい。例えば、取得部18は、吹き出しの重心位置と、セリフテキストデータとの対応を取得し、生成部21は、その吹き出しの重心位置とは異なる中心位置を中心とするテキストフレームを含むセリフデータを生成してもよい。
また、生成部21は、吹き出し認識部16が認識した吹き出しの領域に含まれる矩形のテキストフレームを含むセリフデータを生成してもよい。すなわち、テキストフレームが吹き出し領域からはみ出さないようにしてもよい。このようにすることで、セリフテキストデータが、吹き出しの内部に表示されることになる。
(C)フォントサイズの変更
フォントサイズ受付部20がフォントサイズの指示を受け付けた場合には、生成部21は、フォントサイズ受付部20が受け付けたフォントサイズと、そのフォントサイズに対応する間隔情報の示す間隔とを含むセリフデータを生成する。フォントサイズに対応する間隔情報とは、そのフォントサイズに、フォント属性対応情報記憶部19で記憶されているフォント属性対応情報によって対応付けられる間隔情報のことである。この場合におけるセリフデータの生成は、例えば、セリフデータをセリフデータ記憶部23から読み出し、そのセリフデータにおいて、受け付けられたフォントサイズ等を上書きすることであってもよい。また、生成部21は、例えば、フォントサイズそのものが受け付けられた場合には、そのフォントサイズと、そのフォントサイズに対応する間隔情報の示す間隔とを含むセリフデータが生成してもよい。また、生成部21は、例えば、フォントサイズの差分が受け付けられた場合には、その差分に応じて変化されたフォントサイズと、そのフォントサイズに対応する間隔情報の示す間隔とを含むセリフデータを生成してもよい。このようにすることで、フォントサイズに応じて文字や行の間隔を自動的に変更することができ、例えば、フォントサイズの拡大に応じて字間や行間が詰まったり、フォントサイズの縮小に応じて字間や行間が空きすぎたりする事態を回避することができる。なお、生成部21は、フォントサイズを変化させる際に、セリフテキストデータの中心位置を変化させないようにしてもよい。
なお、画稿データと、セリフデータとの対応が分かるようになっていることが好適である。例えば、互いに対応する画稿データとセリフデータとに対して、同じ識別子が付与されていてもよく、あるいは、互いに対応する画稿データとセリフデータとが対応付けられて蓄積されていてもよい。後者の場合には、互いに対応する画稿データとセリフデータとが、一の画像データの2個のレイヤ−であってもよい。通常、一の画稿データに一のセリフデータが対応しているが、セリフのない画稿データのように、セリフデータに対応していない画稿データが存在してもよい。
蓄積部22は、生成部21が生成したセリフデータをセリフデータ記憶部23に蓄積する。なお、セリフデータの蓄積は、一括して行われてもよく、あるいは、生成部21が一部を生成するごとに行われてもよい。また、前述のように、画稿データとセリフデータとは対応が分かるようになっていることが好適であるため、蓄積部22は、その対応が分かるようにセリフデータをセリフデータ記憶部23に蓄積してもよい。
セリフデータ記憶部23では、1以上のセリフデータが記憶される。このセリフデータは、蓄積部22によって蓄積されたものである。セリフデータ記憶部23での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。セリフデータ記憶部23は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
なお、本実施の形態によるセリフデータ生成装置1は、セリフデータ記憶部23で記憶されているセリフデータを出力する図示しない出力部を備えていてもよい。その出力は、例えば、送信であってもよく、他の構成要素への引き渡しであってもよく、他の記録媒体への蓄積であってもよく、その他の出力であってもよい。
また、画稿データ記憶部11と、セリフテキストデータ記憶部12と、読み順情報記憶部17と、フォント属性対応情報記憶部19と、セリフデータ記憶部23とのうち、任意の2以上の記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、画稿データを記憶している領域が画稿データ記憶部11となり、セリフテキストデータを記憶している領域がセリフテキストデータ記憶部12となる。
次に、本実施の形態によるセリフデータ生成装置1の動作について、図2のフローチャートを用いて説明する。
(ステップS101)表示部13は、画稿データ記憶部11で記憶されている画稿データと、セリフテキストデータ記憶部12で記憶されている1以上のセリフテキストデータとを表示する。
(ステップS102)受付部14は、セリフテキストデータに対応した位置の指定を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS103に進み、そうでない場合には、ステップS107に進む。なお、受付部14は、位置の指定を受け付ける際に、その位置に対応するセリフテキストデータの指定をも受け付けてもよい。
(ステップS103)取得部18は、ステップS102で受け付けた位置と、その位置に対応するセリフテキストデータとの対応を取得する。その取得した対応を示す情報は、図示しない記録媒体で記憶されてもよい。
(ステップS104)生成部21は、ステップS103で取得された対応を用いて、セリフデータを生成する。このセリフデータの生成する処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS105)蓄積部22は、生成部21が生成したセリフデータをセリフデータ記憶部23に蓄積する。なお、過去に蓄積されたセリフデータの内容を変更することによって生成部21がセリフデータを生成した場合には、蓄積部22は、そのセリフデータを上書きでセリフデータ記憶部23に蓄積してもよい。
(ステップS106)表示部13は、蓄積された最新のセリフデータと、画稿データとを表示する。また、表示部13は、そのセリフデータ等と共に、1以上のセリフテキストデータをも表示してもよい。そして、ステップS102に戻る。
(ステップS107)取得部18は、セリフテキストデータと画稿データにおける位置との対応を自動的に取得するかどうか判断する。そして、自動的に取得する際には、ステップS108に進み、そうでない場合には、ステップS110に進む。例えば、セリフテキストデータと画稿データにおける位置との対応を自動的に取得する旨の指示を受付部14が受け付けた場合に、取得部18は、セリフテキストデータと画稿データにおける位置との対応を自動的に取得すると判断してもよい。
(ステップS108)取得部18は、セリフテキストデータと画稿データにおける位置との対応を自動的に取得する。この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS109)生成部21は、ステップS108で自動的に取得されたセリフテキストデータと画稿データにおける位置との対応を用いて、セリフデータを生成する。この処理の詳細に付いては、図5のフローチャートを用いて後述する。そして、ステップS105に進む。
(ステップS110)フォントサイズ受付部20は、フォントサイズの指定を受け付けたかどうか判断する。そして、フォントサイズの指定を受け付けた場合には、ステップS111に進み、そうでない場合には、ステップS102に戻る。
(ステップS111)生成部21は、フォントサイズ受付部20が指定を受け付けたフォントサイズに対応した間隔情報を、フォント属性対応情報記憶部19で記憶されているフォント属性対応情報を用いて取得する。その取得した間隔情報は、図示しない記録媒体で記憶されてもよい。
(ステップS112)生成部21は、ステップS110で受け付けられたフォントサイズと、ステップS111で取得した間隔情報の示す間隔とを含むセリフデータを生成する。この生成の際に、対応するセリフデータをセリフデータ記憶部23から読み出し、その読み出したセリフデータにおいてフォントサイズと間隔とを上書きすることによって、セリフデータを生成してもよい。そして、ステップS105に進む。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図2のフローチャートでは明記していないが、受付部14は、セリフデータにおけるテキストフレームの位置を変更する指示(例えば、表示されているテキストフレームやセリフテキストデータのドラッグ&ドロップ等であってもよい)を受け付けてもよい。その場合には、生成部21は、そのセリフデータをセリフデータ記憶部23から読み出し、その読み出したセリフデータにおいて、受け付けられた指示に応じてテキストフレームの位置を変更し、その変更後のテキストフレームを含むセリフデータを生成してもよい。そして、その生成したセリフデータが蓄積部22によってセリフデータ記憶部23に蓄積されてもよい。また、図2のフローチャートでは明記していないが、表示対象の画稿データを変更する旨の指示を受付部14が受け付けた場合に、その指示に応じて、表示部13は、表示対象の画稿データを変更してもよい。そのようにして新たな画稿データを表示する際に、その画稿データに対応するセリフデータがすでに存在する場合には、表示部13は、そのセリフデータをセリフデータ記憶部23から読み出して、画稿データと一緒に表示してもよい。
図3は、図2のフローチャートにおける手動取得に応じたセリフデータの生成の処理(ステップS104)の詳細を示すフローチャートである。なお、このフローチャートにおいて、生成部21が、受け付けられた位置を中心とするテキストフレームを生成するのか、あるいは、そうでない位置を中心とするテキストフレームを生成するのかについて、あらかじめ設定がなされているものとする。
(ステップS201)生成部21は、受け付けられた位置を中心とするテキストフレームを生成する設定がなされているかどうか判断する。そして、その設定がなされている場合には、ステップS202に進み、そうでない場合には、ステップS203に進む。
(ステップS202)生成部21は、受付部14が受け付けた位置、すなわち、取得部18がセリフテキストデータとの対応を取得した位置を中心とするテキストフレームと、デフォルトのフォントサイズ及び間隔と、セリフテキストデータとを少なくとも含むセリフデータを生成する。その生成されたセリフデータは、図示しない記録媒体で一時的に記憶されてもよい。そして、図2のフローチャートに戻る。
(ステップS203)吹き出し領域特定部15は、受付部14が受け付けた位置、すなわち、取得部18がセリフテキストデータとの対応を取得した位置を含む吹き出し領域を特定する。その特定された領域を示す情報は、図示しない記録媒体で記憶されてもよい。
(ステップS204)生成部21は、ステップS203で特定された吹き出し領域の中心位置や重心位置等を中心とするテキストフレームと、デフォルトのフォントサイズ及び間隔と、セリフテキストデータとを少なくとも含むセリフデータを生成する。なお、その生成したテキストフレームが吹き出し領域内に含まれない場合には、生成部21は、テキストフレームが吹き出し領域に含まれるまで、フォントサイズを縮小させてもよい。その際に、生成部21は、フォント属性対応情報を用いて、縮小後のフォントサイズに対応する間隔情報を取得し、その取得した間隔情報の示す間隔を含むセリフデータを生成してもよい。また、その生成されたセリフデータは、図示しない記録媒体で一時的に記憶されてもよい。そして、図2のフローチャートに戻る。
図4は、図2のフローチャートにおける自動での対応の取得の処理(ステップS108)の詳細を示すフローチャートである。
(ステップS301)吹き出し認識部16は、表示中の画稿データにおける各吹き出しを認識する。その認識された各吹き出しの領域を示す情報は、図示しない記録媒体で記憶されてもよい。
(ステップS302)取得部18は、読み順情報記憶部17から読み順情報を読み出し、その読み出した読み順情報の示す読み順に応じて、吹き出しの順序を決定する。そして、その吹き出しの順序に応じて、吹き出しにセリフ識別子を付与する。その結果、吹き出しの順序と、その吹き出しに付与されたセリフ識別子によって識別されるセリフの順序とは同じになる。また、表示中の画稿データとは別の画稿データに対応するセリフデータがすでに生成されている場合には、そのセリフデータに含まれるセリフテキストデータを除いたセリフテキストデータに対応するセリフ識別子を吹き出しに付与するものとする。
(ステップS303)取得部18は、認識された各吹き出しにおける位置を特定することによって、セリフテキストデータと、吹き出し内の位置との対応を取得する。その取得した対応を示す情報は、図示しない記録媒体で記憶されてもよい。そして、図2のフローチャートに戻る。
図5は、図2のフローチャートにおける自動取得に応じたセリフデータの生成の処理(ステップS109)の詳細を示すフローチャートである。
(ステップS401)生成部21は、カウンタiを1に設定する。
(ステップS402)生成部21は、表示中の画稿データに対応するセリフテキストデータのうち、i番目のセリフテキストデータに対応するセリフデータを生成する。すなわち、生成部21は、そのi番目のセリフテキストデータに対応する画稿データの位置に応じて配置されるテキストフレームと、フォントサイズ及び間隔と、そのi番目のセリフテキストデータとをセリフデータに追記する。なお、表示中の画稿データに対応するセリフテキストデータとは、ステップS108において、吹き出し内の位置との対応が取得されたセリフテキストデータである。
(ステップS403)生成部21は、カウンタiを1だけインクリメントする。
(ステップS404)生成部21は、表示中の画稿データに対応するセリフテキストデータに、i番目のセリフテキストデータが存在するかどうか判断する。そして、存在する場合には、ステップS402に戻り、そうでない場合には、図2のフローチャートに戻る。
なお、図2のフローチャートでは、セリフデータの生成が終わった後に、一括してセリフデータが蓄積される場合について示されているが、図5のフローチャートのステップS402において、i番目のセリフテキストデータに関するテキストフレーム等が生成されるごとに、それらを含むセリフデータをセリフデータ記憶部23に蓄積するようにしてもよい。すなわち、ステップS402の処理が実行されるごとに、生成部21によるセリフデータの読み出しと、蓄積部22によるセリフデータのセリフデータ記憶部23への蓄積とが繰り返されてもよい。
ここで、読み順情報の示す読み順に応じて、吹き出しの順序を決定する方法について簡単に説明する。図6(a)は、画稿データにおいて、吹き出しのみを明記したものである。また、図6(b)で示される破線の矢印(ベクトル)は、読み順情報であるとする。この場合には、読み順情報の矢印によって、読み順の方向(向き)が示されることになる。その読み順情報は、例えば、始点を(0,0)としたベクトルの終点の座標によって示されてもよい。画稿データの右向きにx軸が設定され、画稿データの上向きにy軸が設定されている場合には、図6(b)で示される矢印に対応する読み順情報は、(−1,−1.2)であってもよい。そして、その読み順情報に応じて、吹き出しの順序が決定されることになる。具体的には、その読み順情報の示す向きに画稿データを端から走査(スキャン)していき、その走査された順に、吹き出しの順序を決定してもよい。また、それと同じ結果になるが、読み順情報の示す矢印を延長した直線に対して、各吹き出しの位置(例えば、吹き出しの中心位置や、吹き出しの重心位置等)を正射影する(図6(c)参照)。そして、その正射影された直線上の位置の始点側から終点側の順序を、その位置に対応する吹き出しの順序としてもよい。その場合には、図6(c)で吹き出しの付近に表示されている丸囲みの数字で示されるように、吹き出しの順序が決定されることになる。なお、読み順情報が、例えば、(0,−1)である場合には、図6(d)で示されるように、吹き出しの順序が決定されることになる。
また、図7(a)で示されるように、画稿データの領域ごとに、読み順の方向(向き)を示す情報が読み順情報であってもよい。図7(a)の場合には、画稿データが領域A〜Cに3等分され、各領域において、読み順の方向が設定されている。したがって、領域Aでは、右から左の向きに吹き出しの順序が決定され、領域Bでは、左上から右下の向きに吹き出しの順序が決定され、領域Cでは、右から左の向きに吹き出しの順序が決定されることになる。この場合には、読み順情報は、各領域を特定する情報(例えば、矩形の対角位置の座標値等)と、その領域における向きを示す情報とを対応付けて有する情報であってもよい。また、この場合には、領域ごとに吹き出しの順序が決定され、それがマージされることによって、画稿データ全体での吹き出しの順序が決定されることになる。なお、各領域において吹き出しの順序を決定する方法は、図6の場合と同様である。また、マージをする際には、領域に対して順序が設定されており、その領域の順序となるようにマージすればよい。例えば、図7(a)の場合に、領域A,領域B,領域Cの順番であると決められているとすると、流域Aにおける最後の順番の吹き出しの次に、領域Bにおける一番目の吹き出しが続き、領域Bにおける最後の順番の吹き出しの次に、領域Cにおける1番目の吹き出しが続くと言うようにマージされることになる。その領域の順序は、「領域A,領域B,領域Cの順番」のように決められているものであってもよく、あるいは、その領域の順序も方向(向き)によって示されてもよい。例えば、画稿データの上から下に向かう矢印等によって、その領域の順序の方向が示されてもよい。
また、図7(b)で示されるように、その領域は画稿データに含まれる各コマであってもよい。また、その各領域における読み順の方向(向き)は、図7(b)で示されるように、すべて同じであってもよい。なお、図7(b)の場合には、コマの順序は、上のものほど順序が前になるように決定され、上面の高さが同じ複数のコマは、右のものほど順序が前になるように決定されてもよい。その場合には、領域A,領域B,領域C,領域Dの順番となる。このように、領域(コマ)の順序は、ルールによって示されてもよい。
また、図8で示されるように、方向ではなく、単に領域のみによって読み順が示されてもよい。この場合には、読み順情報は、各領域を特定する情報と、その領域の順番を示す情報とを含んでいてもよい。例えば、図8において、各領域がA〜Lのアルファベット順の順番となっている場合には、各吹き出しの位置が含まれる領域の順序を、その領域に対応する吹き出しの順序としてもよい。この場合には、一つの領域に2以上の吹き出しの位置が含まれることを回避するため、そのようなことが起きない程度の細かさの領域となっていることが好適である。
なお、上述の説明以外の方法によって吹き出しの順序が決定されてもよいことは言うまでもない。例えば、認識された各吹き出しをあらかじめ決められたルールによってたどっていくことによって、順序を決定してもよい。画稿データにおいて、xy座標が前述のように設定されている場合には、そのルールは、例えば、注目している吹き出しよりもy座標が小さく、注目している吹き出しとのy座標の差が最も小さいものが、注目している吹き出しの次の吹き出しである、と言うものであってもよい。このルールを用いて各吹き出しの次の吹き出しを決定することによって、吹き出しの順序を決定することができる。その場合には、そのルールを示す情報が読み順情報となる。
ここで、コミックの開き方向と読み順との関係について簡単に説明する。コミックが右開き(右綴じ)の場合(主に日本語のコミックの場合)には、標準的な読み順は右上から左下の向きになる。一方、コミックが左開き(左綴じ)の場合(主に欧米言語のコミックの場合)には、標準的な読み順は左上から右下の向きになる。また、右開きの作品が左開きの言語に翻訳された場合には、右開きから左開きへの変更に伴って頁構成は反転するが、頁内の読み順は右開きのまま(すなわち、右上から左下の向きのまま)であることがある。したがって、コミックが右開きであるのか、左開きであるのかに応じて、また、コミックが右開きのものから翻訳されたものであるのか、左開きのものから翻訳されたものであるのかに応じて、読み順が自動的に選択されるようにしてもよい。例えば、次のようなコミックの開き方向と、翻訳元のコミックの開き方向と、読み順情報とを対応付ける情報を用い、コミックの開き方向や、翻訳元のコミックの開き方向に対応する読み順情報を取得するようにしてもよい。なお、「翻訳の有無」は、そのコミックが他の言語のコミックから翻訳されたものであるかどうかを示すものである。また、読み順情報「R001」は、右上から左下の向きの読み順を示す情報であり、読み順情報「R002」は、左上から右下の向きの読み順を示す情報であるとする。
開き方向 翻訳の有無 翻訳元の開き方向 読み順情報
右開き なし − R001
右開き あり 右開き R001
右開き あり 左開き R002
左開き なし − R002
左開き あり 右開き R001
左開き あり 左開き R002
具体的には、翻訳のなされていない右開きのコミックの場合には、読み順情報「R001」の示す読み順が用いられることになる。また、翻訳のなされていない左開きのコミックの場合には、読み順情報「R002」の示す読み順が用いられることになる。また、右開きのコミックから翻訳された左開きのコミックの場合には、読み順情報「R001」の示す読み順が用いられることになる。なお、コミックの開き方向や、翻訳元の開き方向については、それらを示す情報が、セリフデータ生成装置1の図示しない記録媒体で記憶されており、それに応じて、読み順情報が選択されてもよい。また、読み順情報の選択は、取得部18によってなされてもよい。例えば、取得部18は、開き方向や翻訳元の開き方向等を対応付ける情報(例えば、上記の情報)を用いて、ユーザによって設定されている開き方向等に対応する読み順情報を選択してもよい。
次に、本実施の形態によるセリフデータ生成装置1の動作について、具体例を用いて説明する。この具体例において、画稿データ記憶部11では、図9で示される画稿データを含む複数の画稿データが記憶されているものとする。図9において、コミック画像は、4個のコマを有している。また、この具体例において、セリフテキストデータ記憶部12では、図10で示されるテキストファイルが記憶されているものとする。図10において、セリフ識別子は、括弧内の数字(例えば、「001」等)である。また、そのセリフ識別子の次の行からセリフテキストデータが始まる。セリフテキストデータの終端には、1行の空白行が挿入されている。例えば、セリフ識別子「001」で識別されるセリフテキストデータ「どこかにでかけるの」と、セリフ識別子「002」で識別されるセリフテキストデータ「ちょっとキノコの家まで行ってくる」との間には、空白行が含まれている。また、セリフテキストデータ「ちょっとキノコの家まで行ってくる」のように、所望の位置において改行を設定してもよい。セリフテキストデータがセリフデータに追記される際には、その改行位置も維持されるものとする。また、図10において、セリフの順序に応じてセリフ識別子がセリフテキストデータに対応付けられているものとする。ここでは、セリフの順序が、セリフ識別子の昇順になっているものとする。また、この具体例において、フォント属性対応情報記憶部19では、図11で示されるフォント属性対応情報が記憶されているものとする。図11のフォント属性対応情報において、フォントサイズと、間隔情報とが対応付けられている。間隔情報には、文字の間隔を示す字間と、行の間隔を示す行間とが含まれている。また、行間は、セリフテキストデータにルビのない場合と、ルビのある場合の2種類が含まれている。セリフテキストデータにルビが存在する場合には、行の間隔を広く設定する必要があるからである。図11におけるフォントサイズや字間、行間の単位はポイントである。
まず、ユーザが、セリフデータの生成を開始する旨の指示を入力したとする。すると、その指示が受付部14で受け付けられ、図示しない経路を介して表示部13に渡される。表示部13は、その指示を受け取ると、セリフテキストデータ記憶部12で記憶されているセリフテキストデータと、画稿データ記憶部11で記憶されている図9で示される画稿データとを読み出し、それらを表示する(ステップS101)。その結果、図12の表示がなされたとする。図12において、左側に図9の画稿データが表示されており、中央付近にセリフテキストデータが表示されている。画稿データの上側の矢印ボタンをクリック等で選択することによって、画稿データを変更することができるものとする。また、セリフテキストデータの右側に表示されている「001」等は、セリフテキストデータを識別するセリフテキストデータである。また、図12の右側の「自動生成」ボタンをクリック等で選択することによって、自動的なセリフデータの生成が行われるものとする。また、手動生成の際の設定として、「中心位置の手動設定」と、「中心位置の自動設定」とのいずれかをラジオボタンによって選択できるようになっている。「中心位置の手動設定」が選択されている場合には、ユーザが指示した位置がテキストフレームの中心位置となるものとする。一方、「中心位置の自動設定」が選択されている場合には、ユーザが指示した位置を含む吹き出し領域の中心位置がテキストフレームの中心位置となるものとする。なお、どちらのラジオボタンが選択されているのかを示すフラグ等の情報が、図示しない記録媒体で記憶されており、生成部21等は、その記録媒体を参照することによって、その手動生成の設定の内容を知ることができるようになっているものとする。また、フォントサイズの「拡大」ボタンをクリック等で選択することによって、フォントサイズが拡大されるものとする。また、フォントサイズの「縮小」ボタンをクリック等で選択することによって、フォントサイズが縮小されるものとする。
次に、ユーザが手動でセリフテキストデータと吹き出しとの対応を指定する場合について説明する。まず、図12で示されるように、手動生成の設定において「中心位置の手動設定」が選択されている場合について説明する。ユーザがマウスを操作し、セリフテキストデータ「どこかにでかけるの」を、図13で示されるように、クマの右側の吹き出しの中心位置付近にドラッグ&ドロップしたとする。すると、その入力が受付部14で受け付けられ、取得部18に渡される(ステップS102)。取得部18は、セリフテキストデータがドロップされた位置の画稿データの座標(X11,Y11)と、ドロップされた対象であるセリフテキストデータ「どこかにでかけるの」を識別するセリフ識別子「001」とを取得し、生成部21に渡す(ステップS103)。この取得が、セリフテキストデータと、画稿データにおける位置との対応の取得となる。
生成部21は、それらを受け取ると、セリフデータの生成を行う(ステップS104)。具体的には、生成部21は、受け付け位置をテキストフレームの中心位置とするかどうか判断する(ステップS201)。ここでは、前述のように、中心位置の手動設定が選択されているため、生成部21は、受け付け位置をテキストフレームの中心位置とすると判断し、受け取った座標(X11,Y11)を中心とするテキストフレームであって、デフォルトのフォントサイズ「10ポイント」及び間隔(この間隔はルビのない場合のものである)「字間:1.0ポイント、行間:6.0ポイント」で表示されるセリフテキストデータ「どこかにでかけるの」を囲む最小の矩形であるテキストフレームを生成する。そして、その生成したテキストフレームと、セリフテキストデータ「どこかにでかけるの」と、フォントサイズ「10ポイント」及び間隔「字間:1.0ポイント、行間:6.0ポイント」とを含むセリフデータを生成する(ステップS202)。なお、セリフデータの座標と、画稿データの座標とは、同じ位置が同じ座標となるように設定されているものとする。したがって、セリフデータにおいても、そのテキストフレームの中心位置は、座標(X11,Y11)となる。その結果、図14で示されるセリフデータが生成されることになる。そのセリフデータは、蓄積部22によってセリフデータ記憶部23に蓄積される(ステップS105)。その蓄積された図14のセリフデータは、表示部13によって読み出され、画稿データに重ねて表示される。その結果、図15で示される表示がなされる。なお、図15において、セリフテキストデータ「どこかにでかけるの」の中心位置を示す図形である十字マークも表示されている。この図形を見ることによって、テキストフレームの位置を適切に把握することができるようになり、テキストフレームを容易に移動させることができるようになる。
この後、図15において、ユーザが、画稿データ上に表示されているセリフテキストデータ「どこかにでかけるの」をクリックしてハイライトさせた上で、フォントサイズの「拡大」ボタンをクリックしたとする。すると、フォントサイズ受付部20は、フォントサイズを拡大する旨の指示を受け付け、生成部21に渡す(ステップS110)。生成部21は、表示中の画稿データに対応するセリフデータをセリフデータ記憶部23から読み出し、ハイライトされているセリフテキストデータ「どこかにでかけるの」に対応するフォントサイズが「10ポイント」であることを取得する。また、生成部21は、図11のフォント属性対応情報を参照した上で、10ポイントよりも一段階大きいフォントサイズ「11ポイント」を取得し、そのフォントサイズに対応する間隔情報を取得する(ステップS111)。なお、セリフテキストデータにルビが含まれていないため、「ルビなし」の行間が取得される。そして、生成部21は、セリフテキストデータ「どこかにでかけるの」の中心位置を変化させないで、フォントサイズを「11ポイント」に変更し、間隔を「字間:1.0ポイント、行間:6.5ポイント」に変更する。また、そのフォントサイズ等の変更に応じて、テキストフレームも拡大する(ステップS112)。そして、生成部21は、その変更後のセリフデータを、蓄積部22に渡す。蓄積部22は、そのセリフデータをセリフデータ記憶部23に上書きで蓄積し(ステップS105)、表示部13は、その新たに蓄積されたセリフデータを画稿データに重ねて表示する(ステップS106)。その結果、図16の表示がなされる。
この後、車の横の吹き出しに、セリフテキストデータ「ちょっとキノコの家まで行ってくる」をドラッグ&ドロップすると、セリフテキストデータ「どこかにでかけるの」の場合と同様にして、図14で示されるセリフデータに、そのセリフテキストデータ「ちょっとキノコの家まで行ってくる」や、テキストフレーム等が追加されることになる。その処理の詳細な説明は省略する。
次に、手動生成の設定において「中心位置の自動設定」が選択されている場合について説明する。この場合に、図17で示されるように、ユーザがマウスを操作し、セリフテキストデータ「どこかにでかけるの」を、クマの右側の吹き出しにおける右側付近にドラッグ&ドロップしたとする。すると、その入力が受付部14で受け付けられ、取得部18に渡される(ステップS102)。取得部18は、セリフテキストデータがドロップされた位置の画稿データの座標(X12,Y12)と、ドロップされた対象であるセリフテキストデータ「どこかにでかけるの」を識別するセリフ識別子「001」とを取得し、生成部21に渡す(ステップS103)。この取得が、セリフテキストデータと、画稿データにおける位置との対応の取得となる。
生成部21は、それらを受け取ると、セリフデータの生成を行う(ステップS104)。具体的には、生成部21は、受け付け位置をテキストフレームの中心位置とするかどうか判断する(ステップS201)。ここでは、前述のように、中心位置の自動設定が選択されているため、生成部21は、吹き出し領域特定部15に受け付けられた画稿データの座標(X12,Y12)を渡すと共に、その座標の位置を含む吹き出し領域を特定する旨の指示を渡す。すると、吹き出し領域特定部15は、受け取った座標の位置を含む吹き出し領域を特定し、その特定した吹き出しの輪郭を示す複数の座標を生成部21に渡す(ステップS203)。生成部21は、受け取った吹き出しの輪郭を示す複数の座標を用いて、吹き出しの中心位置を算出する。その算出した吹き出しの中心位置は(X13,Y13)であったとする。すると、生成部21は、その座標(X13,Y13)を中心とするテキストフレームであって、デフォルトのフォントサイズ「10ポイント」及び間隔「字間:1.0ポイント、行間:6.0ポイント」で表示されるセリフテキストデータ「どこかにでかけるの」を囲む最小の矩形であるテキストフレームを生成する。また、生成部21は、そのテキストフレームが、吹き出し領域特定部15によって特定された吹き出し領域の内部に存在するかどうか判断する。この場合には、テキストフレームが吹き出し領域の内部に存在したとする。すると、生成部21は、その生成したテキストフレームと、セリフテキストデータ「どこかにでかけるの」と、フォントサイズ「10ポイント」及び間隔「字間:1.0ポイント、行間:6.0ポイント」とを含むセリフデータを生成する(ステップS204)。その結果、図14で示されるセリフデータが生成され、蓄積部22によってセリフデータ記憶部23に蓄積される(ステップS105)。その蓄積された図14のセリフデータは、表示部13によって読み出され、画稿データに重ねて表示される。その結果、図15と同様の表示がなされる。なお、この場合には、図15の手動生成の設定において、「中心位置の自動設定」のラジオボタンが選択されている表示となる。
次に、自動的にセリフテキストデータと吹き出しとの対応が取得される場合について説明する。なお、この具体例では、表示中の画稿データについてのみ、自動的なセリフデータの生成が行われる場合について説明する。図12の表示において、ユーザがマウスを操作し、「自動生成」ボタンをクリックしたとする。「自動生成」ボタンがクリックされた旨は、受付部14で受け付けられ、図示しない経路で取得部18に渡される。すると、取得部18は、セリフテキストデータと位置との対応を自動的に取得するタイミングであると判断し(ステップS107)、その処理を行う(ステップS108)。具体的には、取得部18は、吹き出し認識部16に吹き出しを認識する旨の指示を渡す。すると、吹き出し認識部16は、その指示に応じて、表示中の画稿データにおいて、吹き出しを認識し、各吹き出しの輪郭を特定するための複数の座標である吹き出し輪郭情報を取得部18に渡す(ステップS301)。すると、取得部18は、受け取った吹き出し輪郭情報を、図18で示される吹き出し対応情報に追加する。なお、吹き出し対応情報は、図18で示されるように、吹き出しの輪郭を示す吹き出し輪郭情報と、読み順に応じた吹き出しの順序を示す順序情報と、吹き出し内の位置を示すセリフ位置情報と、吹き出しに対応するセリフテキストデータを識別するセリフ識別子とを対応付けて有する情報である。なお、図18において、吹き出し輪郭情報「(X101,Y101)…」に対応する吹き出しが、クマの右側の吹き出しであり、吹き出し輪郭情報「(X201,Y201)…」に対応する吹き出しが、車の横の吹き出しであるとする。この吹き出し対応情報は、取得部18がアクセス可能な図示しない記録媒体で記憶されているものとする。
その後、取得部18は、読み順情報記憶部17から読み順情報を読み出す。なお、生成対象のセリフデータが、右開きのコミックに関するものであり、翻訳されたものではない旨があらかじめ図示しない記録媒体で記憶されているものとする。すると、取得部18は、それに対応する読み順情報を読み出すものとする。この具体例では、その読み順情報は、図6(b)で示されるように、画稿データの右上から左下に向かうベクトルを示すものであるとする。そして、取得部18は、その読み順情報を用いて、図6(c)の場合と同様に、吹き出しの順序を決定する。この場合には、図18の1番目のレコードである吹き出し対応情報に対応する吹き出しの順序が1番目となり、2番目のレコードである吹き出し対応情報に対応する吹き出しの順序が2番目になる。すると、取得部18は、図18の1番目のレコードの順位情報に「1」を設定し、2番目のレコードの順位情報に「2」を設定する。また、セリフテキストデータでは、読み順に応じて昇順となるようにセリフ識別子が対応付けられているため、取得部18は、順序情報によって示される順序と同じ順序となるように、吹き出し対応情報の各レコードにセリフ識別子「001」「002」を設定する(ステップS302)。その結果、吹き出し対応情報は、図19で示されるようになる。この処理の際に、例えば、吹き出し対応情報を順序情報の昇順となるようにソートし、そのソート後の吹き出し対応情報におけるセリフ識別子に、配置の対象となるセリフテキストデータに対応するセリフ識別子を同じく昇順となるように設定してもよい。
その後、取得部18は、各吹き出しの中心位置を算出する。そして、算出した中心位置を、吹き出し対応情報のセリフ位置情報に設定する(ステップS303)。この位置が、取得部18が取得する対象である、セリフテキストデータに対応する吹き出し内の位置である。その結果、吹き出し対応情報は、図20で示されるようになる。このように、吹き出し対応情報に含まれる各情報が設定されることによって、セリフテキストデータと、吹き出し内の位置との対応が取得されたことになる。例えば、図20の1番目のレコードによって、セリフ識別子「001」で識別されるセリフテキストデータ「どこかにでかけるの」と、吹き出し内の位置(X100,Y100)との対応が取得されたことになる。
その後、生成部21は、図20の吹き出し対応情報を参照し、2個のセリフテキストデータに対応するセリフデータを生成する(ステップS109、S401〜S404)。この処理は、手動生成の設定として「中心位置の手動設定」が選択されている場合にセリフデータを生成する処理と同様であり、その詳細な説明を省略する。なお、この自動生成の処理の後に、セリフデータの生成で用いた2個のセリフテキストデータを、セリフテキストデータ記憶部12から削除してもよい。そのようにすることで、別の画稿データについてセリフデータの自動生成が行われる際に、すでに使用されたセリフテキストデータが再度使用されることを防止することができる。
ここで、セリフデータにおけるテキストフレームを移動させる処理について簡単に説明する。図15の表示において、ユーザがマウスを操作し、セリフテキストデータ「どこかにでかけるの」のテキストフレームをドラッグ&ドロップによって移動させたとする。すると、受付部14において移動後のセリフテキストデータの位置が受け付けられ、生成部21に渡される。生成部21は、セリフデータをセリフデータ記憶部23から読み出し、受け付けられた移動後の位置にテキストフレームが移動するように、テキストフレームの位置を変更する。そして、そのテキストフレームの位置が変更されたセリフデータが、蓄積部22によってセリフデータ記憶部23に蓄積され、表示部13によって、移動後のセリフテキストデータが画稿データと共に表示されることになる。
また、この具体例において、セリフデータに含まれるセリフテキストデータのフォントの種類や強調の有無等を変更できてもよい。例えば、図15の表示において、ユーザがマウスを操作し、画稿データ上に表示されているセリフテキストデータ「どこかにでかけるの」を右クリックして、フォントの種類を選択するメニューを選択する。そして、その選択に応じて表示されたフォントの種類を選択する画面において、所望のフォントの種類を選択することによって、フォントの種類を変更してもよい。なお、フォントサイズ等も、このような右クリックによって変更できてもよい。
また、前述のように、セリフテキストデータでは、ルビの設定がなされていてもよい。例えば、セリフテキストデータに「素敵」や、「美味しかった」が含まれる場合に、「§素[す]§敵[てき]」のように文字ごとにルビを設定するようにしてもよく、あるいは、「☆美味[おい]しかった」のように複数の文字に対してルビを設定するようにしてもよい。そして、そのようにルビの設定されているセリフテキストデータについてセリフデータを生成する際には、行の間隔として、「ルビあり」のものを用いるようにしてもよい。具体的には、生成部21は、セリフテキストデータにルビを示す記号等(例えば、「§」や「☆」等)が存在するかどうか判断し、ルビを示す記号等が存在する場合には、ルビありの場合の行の間隔を用いるようにしてもよい。
以上のように、本実施の形態によるセリフデータ生成装置1によれば、取得部18が取得した対応に応じて、セリフデータを自動的に生成することができる。したがって、ユーザが、セリフデータのすべて手動で生成する場合に比べて、ユーザの作業負荷が軽減されることになる。特に、セリフテキストデータと吹き出し内の位置との対応を自動で取得する場合には、その作業負荷の軽減の程度が大きくなる。
なお、本実施の形態では、セリフテキストデータの量やフォントサイズに応じてテキストフレームの大きさが自動的に設定される場合について主に説明したが、生成部21がセリフデータを生成する際に、セリフテキストデータの量と、セリフテキストデータの位置を指定するテキストフレームの大きさとに応じて、セリフテキストデータのフォントサイズを設定してもよい。例えば、吹き出し領域特定部15や、吹き出し認識部16による吹き出し領域の特定や、吹き出しの認識が行われ、生成部21が、その吹き出しに内接するテキストフレームを生成した場合に、そのテキストフレームの大きさ(例えば、セリフテキストデータの幅や、縦横の長さ等)と、そのテキストフレームによって位置が決められるセリフテキストデータの量(例えば、セリフテキストデータの行数や、文字数等)とに応じて、フォントサイズを決定してもよい。その場合には、例えば、図21で示される情報を用いて、フォントサイズが決定されてもよい。図21の情報(テーブル)において、セリフテキストデータの量と、テキストフレームの大きさと、フォントサイズとが対応付けられている。そして、生成部21は、テキストフレームの幅と、セリフテキストデータの行数とに対応したフォントサイズを取得し、そのフォントサイズのセリフデータを生成してもよい。例えば、セリフテキストデータの行数が「1」であり、テキストフレームの幅が5.0mmである場合には、生成部21は、図21の情報を参照してフォントサイズ「12」を取得し、フォントサイズが12ポイントであるセリフデータを生成してもよい。なお、その際に、文字の間隔や行の間隔については、フォント属性対応情報を用いて、取得したフォントサイズに対応する間隔を取得してもよい。また、ここでは、テーブルを用いてフォントサイズを取得する場合について説明したが、それ以外の情報、例えば、セリフテキストデータの量と、テキストフレームの大きさに関する条件やルール等を用いて、それらに対応するフォントサイズを取得してもよい。
また、本実施の形態では、生成部21がフォントサイズを変化させる際に、セリフテキストデータの中心位置を変化させない場合について説明したが、そうでなくてもよい。例えば、生成部21がフォントサイズを変化させる際に、テキストフレームのあらかじめ決められた頂点や、あらかじめ決められた辺を変化させないようにしてもよい。
また、本実施の形態では、フォントサイズの指定を受け付け、その指定されたフォントサイズに対応する間隔情報を取得することによって、セリフデータのフォントサイズや間隔が変更される場合について説明したが、そうでなくてもよい。フォントサイズの変更等を行わなくてもよい。その場合には、セリフデータ生成装置1は、フォント属性対応情報記憶部19や、フォントサイズ受付部20を備えていなくてもよい。
また、本実施の形態では、表示部13がセリフテキストデータの中心位置を示す図形を表示する場合について主に説明したが、そうでなくてもよい。そのセリフテキストデータの中心位置を示す図形を表示部13が表示しなくてもよい。
また、本実施の形態では、取得部18が自動的に対応を取得する際に、読み順情報を用いて吹き出しの順序を決定する場合について説明したが、そうでなくてもよい。読み順情報を用いた吹き出しの順序の決定を行わない場合には、例えば、取得部18は、認識された吹き出しに対してセリフ識別子を何らかのルール(ランダムであってもよい)に応じて付与し、その付与されたセリフ識別子と、セリフテキストデータとの関係が適切なものとなるように、セリフテキストデータに対応するセリフ識別子を手動で変更するようにしてもよい。なお、読み順情報を用いない場合には、セリフデータ生成装置1は、読み順情報記憶部17を備えていなくてもよい。また、取得部18が、読み順情報の示す読み順に応じて、吹き出しにセリフ識別子を付与する処理を行わない場合には、セリフテキストデータ記憶部12において、セリフテキストデータにセリフ識別子が対応付けられていなくてもよい。
また、本実施の形態では、取得部18が自動的に対応を取得する際に、セリフ識別子を用いることによって、セリフテキストデータと、吹き出しとの対応を決定する場合について説明したが、そうでなくてもよい。取得部18は、認識された吹き出し内の位置と、セリフテキストデータとをセリフ識別子を介さないでダイレクトに対応付けていくようにしてもよい。
また、本実施の形態では、取得部18が自動的に対応を取得する処理を行う場合について説明したが、そうでなくてもよい。取得部18が自動的に対応を取得する処理を行わない場合には、セリフデータ生成装置1は、吹き出し認識部16を備えていなくてもよい。
また、本実施の形態では、受け付けられた位置とセリフテキストデータとの対応を取得部18が取得する際に、吹き出し領域の特定が行われうる場合について説明したが、そうでなくてもよい。吹き出し領域の特定が行われない場合には、セリフデータ生成装置1は、吹き出し領域特定部15を備えていなくてもよい。
また、本実施の形態では、取得部18が、受け付けられた位置とセリフテキストデータとの対応を取得する処理を行う場合について説明したが、そうでなくてもよい。取得部18が、受け付けられた位置に応じた対応の取得を行わない場合には、セリフデータ生成装置1は、受付部14を備えていなくてもよく、また、表示部13を備えていなくてもよい。
また、前述の説明から明らかなように、吹き出し領域特定部15と、吹き出し認識部16とは、同様の処理を行うものである。したがって、両者は、一体の構成要素として実現されてもよい。
また、上記実施の形態では、セリフデータ生成装置1がスタンドアロンである場合について主に説明したが、セリフデータ生成装置1は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、表示部や受付部は、通信回線を介して入力を受け付けたり、情報を送信したりしてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、セリフデータ生成装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態におけるセリフデータ生成装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コミック画像を含む画像データである画稿データが1以上記憶される画稿データ記憶部と、画稿データに含まれるコミック画像の吹き出しに表示されるセリフのテキストデータであるセリフテキストデータが1以上記憶されるセリフテキストデータ記憶部とにアクセス可能なコンピュータを、セリフテキストデータと、セリフテキストデータが表示される吹き出し内の位置との対応を取得する取得部、セリフテキストデータと、取得部によってセリフテキストデータとの対応が取得された吹き出し内の位置に応じて配置される、セリフテキストデータの位置を指定するテキストフレームと、セリフテキストデータのフォントサイズと間隔とを含むデータであるセリフデータを生成する生成部、生成部が生成したセリフデータを蓄積する蓄積部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を蓄積する蓄積部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図22は、上記プログラムを実行して、上記実施の形態によるセリフデータ生成装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図22において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図23は、コンピュータシステム900の内部構成を示す図である。図23において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるセリフデータ生成装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるセリフデータ生成装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。