專利名稱:目標(biāo)圖象建立設(shè)備和方法及其中使用的存儲器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將多個部位圖象組合成一個完整的目標(biāo)圖象的目標(biāo)圖象建立設(shè)備,更具體地涉及從存儲的構(gòu)成一個目標(biāo)的一半之一的各部位的多個圖象中一個個地選擇、復(fù)制及組合所要求的圖象的一種圖象建立設(shè)備與方法。
傳統(tǒng)上,一種圖象建立設(shè)備是已知的,它從事先存儲了其數(shù)據(jù)的具有任何形狀的各部位的多種圖象中選擇一個目標(biāo)的部位的任何圖象,并將選中的圖象組合成一個完整的目標(biāo)圖象。
因此,如果想要建立一個與要建立的目標(biāo)非常相似的目標(biāo)圖象,則需要事先為該目標(biāo)圖象的各部位準(zhǔn)備盡可能多的部位圖象。
然而,如果要事先為各部位準(zhǔn)備盡可能多的部位圖象,則需要一個大容量的存儲器。從而,整個設(shè)備將不利地變成昂貴的、大而重的。
本發(fā)明旨在消除這些問題。
本發(fā)明的第一目的為提供一種小型的、重量輕的、成本低的目標(biāo)圖象建立設(shè)備及費(fèi)用低廉地建立一個目標(biāo)圖象的一種方法。
本發(fā)明的第二目的為提供一種目標(biāo)圖象建立設(shè)備及方法,它能夠使用一個小容量的存儲器來建立一個用戶所要求的目標(biāo)圖象。
本發(fā)明的第三目的為提供一種對該目標(biāo)圖象建立設(shè)備與方法有用的小型存儲器。
為了達(dá)到本發(fā)明的第一目的,本發(fā)明提供了一種目標(biāo)圖象建立設(shè)備,包括存儲裝置,用于存儲構(gòu)成目標(biāo)的一半之一的各部位的多種圖象的數(shù)據(jù);
第一半目標(biāo)圖象生成裝置,用于從其圖象數(shù)據(jù)存儲在該存儲裝置中的各部位的多種圖象中一個個地選擇任何部位圖象,并將所選中的圖象組合成一第一半目標(biāo)圖象;
第二半目標(biāo)圖象生成裝置,用于在第一半目標(biāo)圖象的基礎(chǔ)上生成一個與該第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及目標(biāo)圖象生成裝置,用于將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象。
為了達(dá)到上述第二目的,本發(fā)明提供了一種目標(biāo)圖象建立方法,包括從存儲了圖象數(shù)據(jù)的構(gòu)成一個目標(biāo)的一半之一的各部位的多種圖象中一個個地選擇任何部位圖象的一個第一步驟;
將選中的部位圖象組合成一個第一半個目標(biāo)圖象的一個第二步驟;
在該第一半目標(biāo)圖象的基礎(chǔ)上生成一個與該第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象的一個第三步驟;以及將該第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象的一個第四步驟。
為了達(dá)到上述第三目的,本發(fā)明提供一個與目標(biāo)圖象建立設(shè)備一起使用的目標(biāo)圖象存儲裝置,在該建立設(shè)備中,由選擇裝置逐個地從各部位的多種圖象中選擇構(gòu)成一個目標(biāo)的一半之一的部位的任何圖象,并將選中的圖象組合成一個目標(biāo)圖象,該裝置包括第一存儲裝置,用于存儲構(gòu)成該目標(biāo)圖象建立設(shè)備要生成的目標(biāo)的一半之一的各部位的多種圖象;
第二存儲裝置,用于存儲由選擇裝置從其數(shù)據(jù)存儲在第一存儲裝置中的各部位的多種圖象中選擇的任何圖象的一種組合所構(gòu)成的一個第一半目標(biāo)圖象的數(shù)據(jù),及在該第一個半個目標(biāo)圖象基礎(chǔ)上形成的與該第一半目標(biāo)圖象對稱的一個第二半目標(biāo)圖象的數(shù)據(jù),從而將這第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象。
圖1為根據(jù)本發(fā)明的一種目標(biāo)圖象建立設(shè)備的一個實施例的示意圖。
圖2展示其數(shù)據(jù)存儲在一個部位圖形ROM(只讀存儲器)中的部位圖形的實例。
圖3A展示存儲在一個工作RAM(隨機(jī)存取存儲器)的數(shù)據(jù)存儲單元上的數(shù)據(jù)項的實例。
圖3B展示存儲在一個工作RAM的面部特征數(shù)據(jù)單元上的數(shù)據(jù)項的實例。
圖3C展示存儲在工作RAM的面部特征數(shù)據(jù)單元上的數(shù)據(jù)項與這些數(shù)據(jù)項所指定的性別、部位種類等的實例之間的關(guān)系。
圖4展示存儲在一個屏幕數(shù)據(jù)ROM中的屏幕數(shù)據(jù)的實例。
圖5A-5D展示屏幕數(shù)據(jù)項的顯示實例。
圖6為一個面部圖象建立進(jìn)程的主程序的流程圖。
圖7為一個特征開關(guān)中斷例程的流程圖。
圖8A與8B為一個光標(biāo)開關(guān)中斷例程的流程圖。
圖9為一個角度校正開關(guān)中斷例程的流程圖。
圖10A與10B為一個轉(zhuǎn)動角度開關(guān)中斷例程的流程圖。
圖11為一個位置校正開關(guān)中斷例程的流程圖。
圖12A至12C為一個顯示開關(guān)中斷例程的流程圖。
圖13A-13D各展示一個建立的面部圖象。
圖14展示其數(shù)據(jù)存儲在部位圖形ROM中的其它部位圖形的實例。
下面參照附圖描述一種創(chuàng)造性的目標(biāo)圖象建立設(shè)備的一個實施例。
圖1為該目標(biāo)圖象建立設(shè)備的一個實施例的示意圖。
在圖1中,面部圖象建立設(shè)備包括一個CPU1、一個特征輸入開關(guān)2、一個光標(biāo)開關(guān)3、一個顯示開關(guān)4、一個位置校正開關(guān)5、一個角度校正開關(guān)6、一個轉(zhuǎn)動角度開關(guān)7、一個程度ROM8、一個工作RAM9、一個部位圖形ROM10、一個VRAM(視頻RAM)11、一個顯示器12、一個打印機(jī)13及一個屏幕數(shù)據(jù)ROM14。
CPU1控制整個面部圖象建立設(shè)備。當(dāng)特征輸入開關(guān)2、光標(biāo)開關(guān)3、顯示開關(guān)4及位置校正開關(guān)5指定面部圖形、特征等時,CPU1按照存儲在程序ROM8中的程序數(shù)據(jù)及存儲在工作RAM9中的部位數(shù)據(jù),對這一指定作出響應(yīng)從部位圖形ROM10中讀取與組合面部各部位的圖形上的數(shù)據(jù),從而建立使用者或另一個人的面部圖象。
在這一情況中,CPU1有選擇地從存儲在部位圖形ROM10中的各部位的各種圖形的數(shù)據(jù)項中順序地逐項讀取構(gòu)成一個面部圖象的一半之一的部位圖形種類的數(shù)據(jù)項,并對應(yīng)于預(yù)定的位置順序地翻轉(zhuǎn)它們,組合原來選擇的部位圖形與翻轉(zhuǎn)的部位圖形以構(gòu)成一個完整的面部圖象。
當(dāng)位置校正開關(guān)5、角度校正開關(guān)6與轉(zhuǎn)動角度開關(guān)7指定一個位置與角度要校正的部位圖形時,CPU1改變指定的部位圖形的位置及部位圖形的傾斜一個預(yù)定的角度并顯示它們。
操作特征輸入開關(guān)2來顯示選擇具有一個面部圖象的人的性別數(shù)據(jù)的一個屏面(圖5A),及為了建立面部圖象而選擇表示面部各部位(發(fā)型、輪廓、眉毛、眼睛、鼻子及口)的特征的面部特征上的數(shù)據(jù)的多個屏面(圖5B-5D)。
操作光標(biāo)開關(guān)3從為了建立面部圖象而通過操作特征輸入開關(guān)2已經(jīng)顯示在顯示器12上的屏面數(shù)據(jù)的各面部特征數(shù)據(jù)及性別數(shù)據(jù)中選擇任何數(shù)據(jù)項。每次操作光標(biāo)開關(guān)3時,光標(biāo)K便在顯示器12的屏幕上上下移動,借此來選擇與光標(biāo)移動到的位置相對應(yīng)的數(shù)據(jù)。在本實施例中,操作光標(biāo)開關(guān)3時,附加在對應(yīng)的屏面數(shù)據(jù)項上的數(shù)字“01”、“02”、…之一對應(yīng)于光標(biāo)開關(guān)3的操作以一種產(chǎn)生/消失方式顯示,如圖5A-5D中所示。作為替代,可使用一個鼠標(biāo)器代替光標(biāo)開關(guān)3來選擇要求的數(shù)據(jù)。
操作顯示開關(guān)4在顯示器12上顯示存儲的面部圖象數(shù)據(jù)。
位置校正開關(guān)5是,例如,一個上下型按鈕開關(guān),操作它來相對于整個面部圖象校正一個部位圖形的位置。
角度校正開關(guān)6是,例如,一個上下型按鈕開關(guān),操作它來相對于整個面部圖象校正顯示在顯示器12上的一個部位“眉毛”的圖形的傾斜角度。
轉(zhuǎn)動角度開關(guān)7是,例如,操作來轉(zhuǎn)動顯示在顯示器12上的一個部位“眼睛”的圖形。
程序ROM8存儲CPU1的一個控制程序,該程序的內(nèi)容將在后面有關(guān)的圖中示出。
工作RAM9是用在CPU1的控制中的一個工作區(qū)。
如圖2中所示,部位圖形ROM10存儲一個面部圖象的各部位的多種部位圖形的數(shù)據(jù)。在本實施例中,面部的部位的種類數(shù)為N;即N=1表示面部的一個部分“發(fā)型”;N=2表示面部的一個部位“半輪廓”;N=3表示面部的一個部位“眼睛”;N=4表示面部的一個部位“眉毛”;N=5表示面部的一個部位“半個鼻子”;N=6表示面部的一個部位“半張嘴”。本發(fā)明不限于圖2的例子,還可包含其它部位圖形諸如半個軀干、臂、手與腿。
如圖2中所示,各部位的部位圖形種類的數(shù)據(jù)項是存儲在部位圖形ROM10中的對應(yīng)圖形號碼中的。例如,在N=1的部位“發(fā)型”的情況中,20種“發(fā)型”的不同部位圖形的數(shù)據(jù)項是與對應(yīng)的號碼“01”-“20”一起事先存儲的。類似地,面部的各其它部位“半輪廓”、“眼睛”與“眉毛”的部位圖形的數(shù)據(jù)項是與圖形號碼“01”-“20”對應(yīng)地事先存儲的。
面部圖象的各部位圖形應(yīng)為構(gòu)成面部圖象的所有右與左側(cè)部位原始存儲的。然而,面部圖象是由基本上對稱的右與左側(cè)部位圖形構(gòu)成的。因此,在本實施例中,不存儲所有右與左側(cè)部位的數(shù)據(jù)項,而只存儲左側(cè)部位的數(shù)據(jù)項。從而,與存儲構(gòu)成一個面部圖象的所有右與左側(cè)部位圖形的數(shù)據(jù)的情況相比,只需要一半數(shù)量的部位圖形。因此,存儲區(qū)減半,而部位圖形的存儲容量也相應(yīng)地減少。
如圖3A中所示,在CPU1執(zhí)行各種控制操作時,工作RAM9是用作一個工作區(qū)的。各種數(shù)據(jù)項是存儲在對應(yīng)于工作RAM9中地址(OFFSET1+1)至(OFFSET6+5)的各存儲單元上的。更具體地,用于指定選擇圖4的屏面數(shù)據(jù)的各地址數(shù)據(jù)ADD1-ADD7是存儲在對應(yīng)于地址(OFFSET1+1)至(OFFSET1+7)的選擇的屏幕單元上的。在操作光標(biāo)開關(guān)3的位置上的數(shù)據(jù)項是存儲在對應(yīng)于地址(OFFSET2+1)至(OFFSET2+7)的光標(biāo)位置單元上的。
各部位的面部特征上的數(shù)據(jù)項是存儲在對應(yīng)于地址(OFFSET3+1)至(OFFSET3+6)的面部特征數(shù)據(jù)單元上的。如圖3B中所示,面部特征上的各數(shù)據(jù)項由多個位構(gòu)成,其中最高到最低位以這一次序表示對應(yīng)的性別、部位號與部位圖形號數(shù)據(jù)項。圖3C示出這些性別、部位號與部位圖形號數(shù)據(jù)項與由這些對應(yīng)的數(shù)據(jù)項所指定的性別、部位與部位圖形上的圖象數(shù)據(jù)項之間的關(guān)系。
性別數(shù)據(jù)項是存儲在最高位的一個性別數(shù)據(jù)單元(由a指定)上的。它由一位構(gòu)成。如圖3C中所示,位“1”表示男性而位“0”表示女性。
部位號碼數(shù)據(jù)項是存儲在第二位的各部位號碼單元(用b指定)上的。如圖3C中所示,部位號碼數(shù)據(jù)是由用戶從對應(yīng)于六種部位“發(fā)型”、“輪廓”、…的部分號碼“1”-“6”上的數(shù)據(jù)項中選擇的。
部位圖形號碼數(shù)據(jù)項是存儲在第三位的部位圖形號碼單元(用c指定)上的。部位圖形號碼數(shù)據(jù)項是由用戶從部位圖形ROM10中的部位圖形號碼“01”-“20”的數(shù)據(jù)項中選擇的。例如,如圖3C中所示,如果用戶選擇了發(fā)型的“7∶3分頭”的一個部位圖形,便存儲了對應(yīng)于該部位圖形的部位圖形號碼“01”的數(shù)據(jù)。從而,在一個圖形單元(用c示出)上存儲了這一部位圖形號碼“01”。
當(dāng)在面部圖象的部位圖形中改變了眼睛、眉毛與嘴的形狀與位置時,它們極大地改變了用戶對面部圖象的影象。從而,在本實施例中,可以執(zhí)行一個用于改變這些部位圖形的位置、轉(zhuǎn)動角度等的進(jìn)程,并在工作RAM9中提供了用于存儲這些眼睛、眉毛與嘴的坐標(biāo)與角度數(shù)據(jù)項的一個區(qū)域。
嘴的數(shù)據(jù)存儲在地址OFFSET4與(OFFSET4+1)上。更具體地,嘴的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET4上。嘴的轉(zhuǎn)動角度(用角度校正開關(guān)6指定)數(shù)據(jù)存儲在地址(OFFSET4+1)上。
面部兩條對應(yīng)眉毛的數(shù)據(jù)項存儲在地址OFFSET5、(OFFSET5+1)、(OFFSET+2)與(OFFSET5+3)上。更具體地,兩條眉毛之一(例如,左眉毛)的轉(zhuǎn)動中心坐標(biāo)數(shù)據(jù)存儲在地址(OFFSET5上)。在復(fù)制與使用另一條眉毛時的復(fù)制坐標(biāo)數(shù)據(jù)(另一條眉毛(例如,右眉毛)的轉(zhuǎn)動中心)存儲在地址(OFFSET5+1)。
一條眉毛(例如,左眉毛)的轉(zhuǎn)動角度數(shù)據(jù)(用角度校正開關(guān)6指定)存儲在地址(OFFSET5+2)上。在復(fù)制與使用另一條眉毛(例如,右眉毛)時,該另一條眉毛的轉(zhuǎn)動復(fù)制角度數(shù)據(jù)存儲在地址(OFFSET5+3)上。
面部雙眼的數(shù)據(jù)項存儲在地址OFFSET6-(OFFSET6+5)上。更具體地,面部圖象中雙眼之一(例如左眼)的轉(zhuǎn)動中心坐標(biāo)數(shù)據(jù)存儲在地址OFFSET6上。當(dāng)復(fù)制與使用另一只眼睛(例如右眼)時,另一只眼睛的轉(zhuǎn)動中心的復(fù)制坐標(biāo)數(shù)據(jù)存儲在地址(OFFSET6+1)上。一只眼睛(例如左眼)的位置校正數(shù)據(jù)(用位置校正開關(guān)5指定)存儲在地址(OFFSET6+2)上。當(dāng)復(fù)制與使用另一只眼睛(例如右眼)時,用于校正另一只眼睛的復(fù)制位置校正數(shù)據(jù)存儲在地址(OFFSET6+3)上。
一只眼睛(例如左眼)轉(zhuǎn)動的角度數(shù)據(jù)(用角度校正開關(guān)6指定)存儲在地址(OFFSET6+4)上。當(dāng)復(fù)制與使用另一只眼睛(例如右眼)時,另一只眼睛的轉(zhuǎn)動復(fù)制角度數(shù)據(jù)(用角度校正開關(guān)6指定)存儲在地址(OFFSET6+5)上。
如圖4中所示,在建立面部圖象時,屏幕數(shù)據(jù)ROM14預(yù)先存儲顯示在顯示器12上的屏幕數(shù)據(jù)。屏幕數(shù)據(jù)ROM14中的數(shù)據(jù)項是由存儲在工作RAM9中地址(OFFSET1+1)-(OFFSET1+9)上的各屏幕數(shù)據(jù)的地址數(shù)據(jù)項ADD1-ADD7指定的。
在圖4中,當(dāng)選擇了一種性別時屏幕所使用的一個屏幕數(shù)據(jù)項是存儲在對應(yīng)于地址ADD1的一個單元上的。如圖5A中所示,要求用戶響應(yīng)“性別?”根據(jù)屏幕數(shù)據(jù)指定一種性別,“01∶男”與“02∶女”的一個屏幕顯示在顯示器12上。
在圖4中,當(dāng)選擇了一種發(fā)型時屏幕所使用的一個屏幕數(shù)據(jù)項是存儲在對應(yīng)于地址ADD2的一個單元上的。如圖5B中所示,要求用戶根據(jù)屏幕數(shù)據(jù)選擇一種發(fā)型的一個屏幕是顯示在顯示器12上的。
類似地,當(dāng)選擇了面部各部位“輪廓”、“眼睛”、“眉毛”、“鼻子”及“嘴”時,屏幕所使用的屏幕數(shù)據(jù)項是存儲在對應(yīng)于地址ADD3-ADD7的單元上的。要求用戶根據(jù)顯示器屏幕數(shù)據(jù)選擇面部各對應(yīng)部位“發(fā)型”、“輪廓”、“眼睛”、“眉毛”、“鼻子”與“嘴”的一個屏幕顯示在顯示器12上(圖5A-5D)。
各發(fā)型、輪廓等的多個部位圖形的數(shù)據(jù)項存儲在地址ADD8及后面的地址上。在這一情況中,整個發(fā)型的數(shù)據(jù)是以一個位圖的方式存儲的,而不是半個發(fā)型的數(shù)據(jù)。整個輪廓的左半數(shù)據(jù)是以位圖方式存儲的。對于一對左右對稱的部位圖形,例如,一對眼睛、眉毛及半張嘴,則存儲該圖形對中的一個的部位圖形數(shù)據(jù),如圖2中所示。
為什么只存儲位于面部圖象半邊(左或右邊)的一半輪廓、眼睛、眉毛及半張嘴的圖形的數(shù)據(jù)項的理由是它們基本上是沿一條通過面部圖象的垂直線與位于另半邊(右或左邊)的對應(yīng)圖形對稱的。反之,當(dāng)沿其垂直線切開時,得到的“7∶3分開的頭發(fā)”的一半(左或右)不一定與發(fā)型的另一半(右或左)對稱,因此,只有發(fā)型的一半不能用于其另一半。因此,不采用只存儲發(fā)型的一半數(shù)據(jù)。
在一只眼睛的圖形的情況中(例如左眼),一只眼睛(1)的數(shù)據(jù)是作為帶有兩個參數(shù)的一個第一圖形數(shù)據(jù)存儲的,這兩個參數(shù)包括眼睛的轉(zhuǎn)動位置的坐標(biāo)(X1、Y1)及眼睛的形狀。一只眼睛(2)的數(shù)據(jù)是作為帶有兩個參數(shù)的一個第二圖形存儲的,這兩個參數(shù)包括眼睛的轉(zhuǎn)動位置的坐標(biāo)(x2、y2)及眼睛的形狀。類似地,這也應(yīng)用于眼睛(3)、(4)、…的數(shù)據(jù)(即,存儲眼睛的多種部位圖形數(shù)據(jù))。
在一條眉毛的圖形的情況中(例如左眉毛),一條眉毛(1)的數(shù)據(jù)是作為帶有兩個參數(shù)的一個第一圖形數(shù)據(jù)存儲的,這兩個參數(shù)包括眉毛的轉(zhuǎn)動位置的坐標(biāo)(X1、Y1)及眉毛的形狀。一條眉毛(2)的數(shù)據(jù)是作為帶有兩個參數(shù)的一個第二圖形數(shù)據(jù)存儲的,這兩個參數(shù)包括眉毛的轉(zhuǎn)動位置的坐標(biāo)(X2、Y2)及眉毛的形狀。類似地,這也應(yīng)用于眉毛(3)、(4)、…的數(shù)據(jù)(即,存儲眉毛的多種部位圖形的數(shù)據(jù))。
在半個鼻子的圖形數(shù)據(jù)的情況中,半個鼻子(1)的數(shù)據(jù)是作為帶有一個參數(shù)(半個鼻子的形狀)的一個第一圖形數(shù)據(jù)存儲的。半個鼻子(2)的數(shù)據(jù)是作為一個第二圖形數(shù)據(jù)存儲的。類似地,這也應(yīng)用于半個鼻子(3)、(4)、…的數(shù)據(jù)(即,存儲半個鼻子的多種部位圖形數(shù)據(jù))。
在半張嘴(例如左半張嘴)的圖形的情況中,半張嘴嘴(1)的數(shù)據(jù)是作為帶有兩個參數(shù)的一個第一圖形數(shù)據(jù)存儲的,這兩個參數(shù)中包括半張嘴的轉(zhuǎn)動位置的坐標(biāo)(X1、Y1)及半張嘴的形狀。半張嘴(2)的數(shù)據(jù)是作為帶有兩個參數(shù)的一個第二圖形數(shù)據(jù)存儲的,這兩個參數(shù)包括這半張嘴的轉(zhuǎn)動位置的坐標(biāo)(X2、Y2)及半張嘴的形狀。類似地,這也應(yīng)用于嘴(3)、(4)、…的數(shù)據(jù)(即,存儲了半張嘴的多種部位圖形數(shù)據(jù))。
當(dāng)建立面部圖象并使用諸如一個半導(dǎo)體存儲器時,VRAM11以一個屏面為單位存儲一個面部圖象的部位圖形數(shù)據(jù)。
顯示器12顯示在CPU1的控制下處理的一個面部圖象。顯示器12顯示一個面部圖象及各種數(shù)據(jù)項,并向/從VRAM11與CPU1發(fā)送各種數(shù)據(jù)。它可由一臺電視顯示器、一個專用的監(jiān)視器、一個CRT或一個LCD(液晶顯示器)構(gòu)成。
下面描述本實施例的操作。在本實施例中,通過光標(biāo)開關(guān)3的操作指定的面部部位的部位圖形是逐個地從為各部位提供的多種部位圖形中選擇的,并將這些選中的部位圖形組合成一個面部圖象,然后顯示之。
下面描述建立面部圖象的各步驟。圖6為表示面部圖象建立進(jìn)程的主程序的流程圖。當(dāng)起動這一程序時,在步驟S10中執(zhí)行初始化,在其中將各種寄存器與VRAM11清零;初始化子例程;并復(fù)位標(biāo)態(tài)。如圖3A中所示,同時在工作RAM9中的對應(yīng)于地址(OFFSET1+1)至(OFFSET6+5)的存儲單元上作為初始數(shù)據(jù)項存儲各種數(shù)據(jù)項。
即,將用于指定各屏幕數(shù)據(jù)項的七種地址數(shù)據(jù)項ADD1-ADD7存儲在對應(yīng)于地址(OFFSET1+1)至(OFFSET1+7)的選擇的圖象單元上。將對應(yīng)于光標(biāo)K的事先初始設(shè)定位置的位置數(shù)據(jù)項存儲在對應(yīng)于地址(OFFSET2+1)至(OFFSET2+7)的光標(biāo)位置單元上。將各部位上的面部特征數(shù)據(jù)項存儲在對應(yīng)于地址(OFFSET3+1)至(OFFSET3+6)的面部特征數(shù)據(jù)單元上。面部特征數(shù)據(jù)是由事先初始設(shè)定的性別、及部位號碼、部位圖形號碼數(shù)據(jù)項構(gòu)成的,因此存儲這些對應(yīng)的數(shù)據(jù)。在本實施例的情況中,使初始設(shè)置時存儲在面部特征數(shù)據(jù)單元上的數(shù)據(jù)中包含表示男性的“01”的性別數(shù)據(jù);表示一種發(fā)型的“1”的部位號碼數(shù)據(jù);及表示部位圖形號碼數(shù)據(jù)的“01”的部位圖形號碼數(shù)據(jù)。
眼、眉毛及半張嘴的坐標(biāo)與角度數(shù)據(jù)項是存儲在工作RAM9中的,使得一個改變眼睛、眉毛及半張嘴的部位圖形的位置與轉(zhuǎn)動角度的一個進(jìn)程得以執(zhí)行。
半張嘴的數(shù)據(jù)項是存儲在地址OFFSET4及(OFFSET4+1)上的。更具體地,半張嘴的部位圖形的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET4上。半張嘴的部位圖形的轉(zhuǎn)動角度數(shù)據(jù)存儲在地址(OFFSET4+1)上。
對應(yīng)于面部的兩條眉毛的數(shù)據(jù)項的數(shù)據(jù)存儲在地址OFFSET5、(OFFSET5+1)、(OFFSET5+2)及(OFFSET5+3)上。更具體地,面部兩條眉毛之一(例如左眉毛)的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)項存儲在地址OFFSET5上。當(dāng)復(fù)制與使用兩條眉毛中的另一條(例如右眉毛)的圖形時,這另一條眉毛的轉(zhuǎn)動中心的復(fù)制坐標(biāo)的數(shù)據(jù)項存儲在地址(OFFSET5+1)上。
面部兩條眉毛之一(例如左眉毛)的轉(zhuǎn)動角度的數(shù)據(jù)項存儲在地址(OFFSET5+2)上。當(dāng)復(fù)制與使用另一條眉毛(例如右眉毛)時,作為眉毛的轉(zhuǎn)動角度的一個復(fù)制角度數(shù)據(jù)項存儲在地址(OFFSET5+3)上。
對應(yīng)于面部雙眼的各部位圖形的數(shù)據(jù)項存儲在地址OFFSET6至(OFFSET6+5)上。更具體地,面部雙眼之一(例如左眼)的部位圖形的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET6上。當(dāng)復(fù)制與使用另一只眼睛(例如右眼)的圖形時,所使用的另一只眼睛的轉(zhuǎn)動中心復(fù)制坐標(biāo)數(shù)據(jù)存儲在地址(OFFSET6+1)上。雙眼之一(例如左眼)的圖形位置校正數(shù)據(jù)存儲在地址(OFFSET6+2)上。當(dāng)復(fù)制與使用雙眼中另一只(例如右眼)的圖形時,所使用的復(fù)制位置校正數(shù)據(jù)存儲在地址(OFFSET6+3)上。一只眼睛(例如左眼)的部位圖形的轉(zhuǎn)動角度數(shù)據(jù)存儲在地址(OFFSET6+4)上。當(dāng)復(fù)制與使用另一只眼睛(例如右眼)的圖形時,另一只眼睛的轉(zhuǎn)動復(fù)制角度數(shù)據(jù)存儲在地址(OFFSET6+5)上。
在步驟S12,將設(shè)置在CPU1中的一個指針M1寄存器15的值清零。指針M1寄存器15用于指定性別與部位的總共為7個數(shù)據(jù)項作為一個面部的對應(yīng)特征(當(dāng)輸入了這些數(shù)據(jù)項時)。
在步驟S14,在顯示器12上顯示VRAM11的內(nèi)容。根據(jù)當(dāng)前作為面部特征數(shù)據(jù)存儲在工作RAM9中的性別、部位號及部位圖形號數(shù)據(jù)項讀取存儲在部分圖形ROM10中的各部位圖形數(shù)據(jù)項。
更具體地,根據(jù)性別、部位號與部位圖形號數(shù)據(jù)項讀取存儲在部位圖形ROM10中的部位圖形數(shù)據(jù)。在VRAM11中存儲各部位圖形的一種組合構(gòu)成的一個面部圖象數(shù)據(jù),在顯示器12上顯示這些數(shù)據(jù)的內(nèi)容。從而,在初始設(shè)置時,在顯示器12上顯示在步驟S10初始設(shè)置在工作RAM9中的各數(shù)據(jù)項為基礎(chǔ)的一個面部圖象;在形成面部圖象的過程中顯示一個半邊的面部圖象;而在建立了面部圖象后顯示一個完整的面部圖象。
此后,根據(jù)來自這些開關(guān)中每個的一個中斷信號,步驟S14重復(fù)執(zhí)行一個要求的進(jìn)程。用于選擇各圖形的進(jìn)程全都是在下面指出的中斷例程中執(zhí)行的。
圖7為表示一個特征開關(guān)中斷例程的流程圖,每當(dāng)操作了特征開關(guān)2時便執(zhí)行這一例程。每次操作特征開關(guān)2時,順序地改變屏幕數(shù)據(jù)的內(nèi)容,如圖5A-AD中所示。用戶一面觀看圖5A-5D的屏面一面選擇性別、發(fā)型、眼睛、眉毛、…的面部特征數(shù)據(jù)項。
在初次操作特征開關(guān)2時,在步驟S20將指針M1寄存器15的值增加1。在步驟S22,判定寄存器15的值是否為“8”,它超過了數(shù)據(jù)項的數(shù)目“7”(一個性別及六個部位)。
當(dāng)在步驟S22判定指針M1寄存器15的值不等于“8”時,控制便傳送到步驟S26,在那里將使用工作RAM9中地址(M1+OFFSET1)上的數(shù)據(jù)作為起始地址從屏幕數(shù)據(jù)ROM14中讀取的圖象數(shù)據(jù)傳送給VRAM11。
當(dāng)在步驟S22判定指針M1寄存器15的當(dāng)前值等于“1”時,控制便傳送到步驟S26,在那里將使用地址(M1+OFFSET1)上的數(shù)據(jù)作為起始地址從工作RAM9中讀取的屏幕數(shù)據(jù)傳送給VRAM11。在這一情況中,在工作RAM9中地址(M1+OFFSET1)上的數(shù)據(jù)為ADD1,而其內(nèi)容則為性別選擇屏幕數(shù)據(jù),如圖4中所示。從而在顯示器12上顯示要求用戶對“性別?”與“01∶男”與“02∶女”作出響應(yīng)根據(jù)性別選擇屏幕數(shù)據(jù)指定一種性別的一個屏面,如圖5A中所示。
當(dāng)再次操作特征開關(guān)2時,指針M1寄存器15的值在步驟S20上為“2”。因此,由于在步驟S22判定寄存器15的當(dāng)前值為“2”,而在步驟S26將對應(yīng)于圖4的地址ADD2的屏幕數(shù)據(jù)(當(dāng)選擇了一種發(fā)型時用于屏幕的)傳送給VRAM11。從而,在顯示器12上顯示要求用戶根據(jù)屏幕數(shù)據(jù)響應(yīng)“發(fā)型?”“01∶7∶3分頭”、“02∶光頭”、…選擇一種發(fā)型的一個顯示屏面,如圖5B中所示。
每次順序地操作特征開關(guān)2時,在步驟S20上順序地增加寄存器15的值。結(jié)果,當(dāng)在步驟S22判定寄存器15的值為“8”時,便將控制傳送給步驟S24,在那里將寄存器15的值返回到“1”。此后,控制傳送到步驟S26,在那里將使用工作RAM9中地址(M1+OFFSET1)上的數(shù)據(jù)作為起始地址存儲在屏幕數(shù)據(jù)ROM14中的屏幕數(shù)據(jù)再次傳送到VRAM11。此后,每次操作特征開關(guān)2時,便將寄存器15的值增加1,使得(M1+OFFSET1)上的屏幕數(shù)據(jù)被傳送給VRAM11,以在顯示器12上顯示這些屏幕數(shù)據(jù)。
以這一方法,每次操作特征開關(guān)2時,屏幕數(shù)據(jù)便順序地改變(圖5A-5D)。結(jié)果,用戶一面觀看順序地改變的一個選擇的屏幕,一面順序地選擇性別數(shù)據(jù)及諸如發(fā)型、眼睛與眉毛等面部特征數(shù)據(jù)項。
圖8A為表示一個光標(biāo)開關(guān)中斷例程的流程圖。當(dāng)用要求的部位圖形的一種組合建立一個所要求的面部圖象時,操作光標(biāo)開關(guān)3來選擇性別數(shù)據(jù)、面部特征數(shù)據(jù)等。當(dāng)操作了光標(biāo)開關(guān)3時,控制便傳送給光標(biāo)開關(guān)中斷例程。首先在步驟S80例如用CPU1中的一個顯示標(biāo)志的值判定現(xiàn)在是否正在顯示要求用戶選擇一種性別或圖5A-5D的各部位的屏幕數(shù)據(jù)。這一判定涉及是否在顯示器12上顯示某一屏面。如果當(dāng)前不在顯示選擇的畫面,便不必要顯示光標(biāo)K的位置。當(dāng)判定不在顯示選擇的屏幕數(shù)據(jù)時,當(dāng)前的例程便返回。
當(dāng)操作光標(biāo)開關(guān)3時,如果判定正在顯示選擇的畫面數(shù)據(jù),控制便進(jìn)入下一步驟S82,根據(jù)這次操作光標(biāo)開關(guān)3時的光標(biāo)K的位置改變現(xiàn)在在工作RAM9中地址(M1+OFFSET2)上設(shè)定的選擇一種性別與一個部位圖形號的數(shù)據(jù)項。
例如,當(dāng)判定M1=1時,則根據(jù)這一次操作光標(biāo)開關(guān)3時的光標(biāo)K的位置改變存儲在(OFFSET2+1)上的“性別”數(shù)據(jù)。因此,如果這一次操作光標(biāo)開關(guān)3時光標(biāo)K的位置在顯示圖5A的“性別”選擇屏面的狀態(tài)中從“02”改變到“01”,則性別數(shù)據(jù)根據(jù)“01”的位置改變成“01(男)”。如果光標(biāo)開關(guān)3的光標(biāo)K的位置從“01”改變到“02”,則性別數(shù)據(jù)根據(jù)“02”的位置改變到“02(女)”。
當(dāng)判定M1=2時,則存儲在地址(OFFSET2+2)上的“發(fā)型”數(shù)據(jù)(部位圖形號)根據(jù)這一次操作光標(biāo)開關(guān)3時的光標(biāo)K的位置改變。因此,如果在顯示圖5B的“發(fā)型選擇屏面”的狀態(tài)中,這一次操作光標(biāo)開關(guān)3時將光標(biāo)K的位置設(shè)定在“01”,“02”,…之一上,則存儲在地址(OFFSET2+2)上的一個部位圖形號數(shù)據(jù)根據(jù)這一位置改變到對應(yīng)于“7∶3分頭”發(fā)型、“光頭”發(fā)型、…中適當(dāng)?shù)囊环N的一個部位圖形號。
在步驟S84,光標(biāo)K在顯示器12上的顯示位置根據(jù)上述數(shù)據(jù)改變而改變。
在步驟S86,判定寄存器15的值是否為“1”,即判定屏幕數(shù)據(jù)是否是用于確定一種性別的。結(jié)果,當(dāng)判定M1=“1”時,控制傳送到步驟S88,在那里判定地址(OFFSET2+1)上的數(shù)據(jù)是否表示男性。
如果是,則為了將指針的值從對應(yīng)于存儲表示面部特征數(shù)據(jù)的地址數(shù)據(jù)的地址(OFFSET3+1)的一個部位“發(fā)型”的單元順序地增加到另一個部位的一個單元,將一個指針N的值設(shè)定在“1”上。
在步驟S92,將表示“男性”的“1”設(shè)置在對應(yīng)于地址(OFFSET3+1)的面部特征(發(fā)型)數(shù)據(jù)的最高位(在用a指定的性別數(shù)據(jù)單元上)的位置上。
在步驟S94,將指針N的值增加到N=2。在步驟S96,為了使存儲表示面部特征數(shù)據(jù)的地址數(shù)據(jù)的一個區(qū)域中的一直到最大地址(OFFSET3+6)上的面部特征數(shù)據(jù)的MSB(最高位)都設(shè)置為“1”而判定N是否等于7。由于現(xiàn)在N不是7,控制返回到步驟S92去重復(fù)一個類似于剛才提到的進(jìn)程。這樣,由于現(xiàn)在N=2,將地址(OFFSET3+2)上的數(shù)據(jù)項的MSB設(shè)置為“1”。類似地,將地址(OFFSET4+3),…,(OFFSET4+6)上的各數(shù)據(jù)的MSB設(shè)置為“1”。當(dāng)在步驟S96,N=7時,便結(jié)束當(dāng)前的光標(biāo)開關(guān)中斷例程,而控制返回到主程序。
當(dāng)步驟S88的判定為否時,或者判定地址(OFFSET3+M1)上的數(shù)據(jù)不表示男性而是表示女性的“02”時,則控制傳送到步驟S98,在那里將指針N設(shè)置成“1”。
在步驟S100,將地址(OFFSET3+N)上的數(shù)據(jù)的MSB設(shè)置為“0”。由于這時N=“1”,首先將地址(OFFSET3+1)上的數(shù)據(jù)的MSB設(shè)置為“0”。然后在步驟S102增加指針N。
此后,類似地將地址(OFFSET3+3)至(OFFSET3+6)上的各數(shù)據(jù)項的MSB順序地設(shè)置為“0”。
當(dāng)在步驟S104,N=7時,便結(jié)束當(dāng)前的光標(biāo)開關(guān)中斷例程而控制返回到主程序。
當(dāng)在步驟S86判定寄存器15的值不是“1”時,控制傳送到步驟S106,在那里將地址(OFFSET2+M1)上的數(shù)據(jù)傳送到一個部位圖形號單元c,在那里圖3B的部位圖形號數(shù)據(jù)是存儲在用地址(OFFSET3+(M1-1))表示的一個區(qū)域中的。從而,將對應(yīng)于用光標(biāo)開關(guān)3指定的光標(biāo)K的位置上的數(shù)據(jù)的一個部位圖形號碼數(shù)據(jù)傳送給面部特征數(shù)據(jù)存儲器的一個部位圖形號碼單元c。
在步驟S106之后,便結(jié)束光標(biāo)開關(guān)中斷例程而控制返回到主程序。
當(dāng)在步驟S80判定時顯示標(biāo)志的判定結(jié)果不是“1”時,則控制傳送到圖8B的一個進(jìn)程而首先進(jìn)入其步驟S108,在那里判定角度校正標(biāo)志是否為“1”。當(dāng)角度校正開關(guān)6被接通時,該標(biāo)志變成“1”。此時,即使顯示標(biāo)志為“0”,在這一例程中也在顯示器12上顯示面部圖象。除非操作了角度校正開關(guān)6,該標(biāo)志成為“0”。因此,不顯示面部圖象。這是因為除非面部圖象顯示在顯示器12上,否則可能校正面部圖象的一個部位圖形的角度。
當(dāng)在步驟S108判定角度校正標(biāo)志為“0”時,控制進(jìn)入步驟S110,在那里擦除光標(biāo)顯示,結(jié)束當(dāng)前的光標(biāo)開關(guān)中斷例程,而控制返回到主程序。
當(dāng)在步驟S108判定角度校正標(biāo)志為“1”時,便同時判定已經(jīng)操作了角度校正開關(guān)6,控制進(jìn)入步驟S112,在那里確定光標(biāo)開關(guān)3的操作結(jié)果。由于光標(biāo)開關(guān)3是例如由一個按鈕式上下開關(guān)構(gòu)成的,當(dāng)要使光標(biāo)位置上升時按上方開關(guān),而要使光標(biāo)位置下降時則按下方開關(guān)。
如果按了上方開關(guān),控制便進(jìn)入步驟S114,在那里增加指針N。從而,在下一個循環(huán)中N=2。在步驟S116判定N是否等于6,這一值超過了最大“5”,這是為了確認(rèn)是否已經(jīng)用光標(biāo)指定了全部5個號碼來改變左右眼睛、左右眉毛及嘴的5個部位圖形的對應(yīng)角度。
除非N=6,控制都進(jìn)入步驟S120。如果判定N=6,則控制進(jìn)入步驟S118,在那里將指針N的值返回到“1”而控制進(jìn)入步驟S120。從而,通過順序地按下角度校正開關(guān)6的上方開關(guān),指針N的值便增加“1”,以最終指定一個所要求的部位圖形。
除非在步驟S112操作了上方開關(guān),否則判定已按下了下方開關(guān)而控制進(jìn)入步驟S122,在那里將指針N的值減1。這樣,在下一個循環(huán)中,指針N的值便減少了“1”。然后,在步驟S124,判定N是否等于0。如果是,控制進(jìn)入步驟S126,將指針N的值增加到“5”。然后,控制進(jìn)入步驟S120。除非N=0,否則控制跳過步驟S126到步驟120。這樣,通過順序按下光標(biāo)開關(guān)3的向下開關(guān),指針N的值減少“1”以最終指定一種所要求的部位圖形。
在各步驟S120、S128-S134中,判定指針N的值是“1”-“5”中哪一個。當(dāng)判定指針N的值為“1”時,控制進(jìn)入步驟S136,在那里將光標(biāo)顯示在VRAM11上的左眼的部位圖形的屏幕位置上。這樣,按照操作員操作光標(biāo)開關(guān)3,便將光標(biāo)顯示在顯示器12上“左眼”部位的圖形位置上。在步驟S136之后,結(jié)束當(dāng)前例程中的進(jìn)程而控制返回到主程序。
當(dāng)判定指針N的值為“2”時,控制進(jìn)入步驟S138,在那里將光標(biāo)顯示在VRAM11上的右眼的部分圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上“右眼”部位的圖形的屏幕位置上。步驟S138之后,結(jié)束當(dāng)前例程中的進(jìn)程而控制返回到主程序。
當(dāng)判定指針N的值為“3”時,控制進(jìn)入步驟S140,將光標(biāo)顯示在VRAM11上左眉毛的部位圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上“左眉毛”部位的圖形的屏幕位置上。步驟S140之后,結(jié)束當(dāng)前例程中的進(jìn)程,而控制返回到主程序。
當(dāng)判定指針N的值為“4”時,控制進(jìn)入步驟S142,在那里光標(biāo)顯示在VRAM11上右眉毛的部位圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上的“右眉毛”部位的圖形的屏幕位置上。步驟S142之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“5”時,控制進(jìn)入步驟S144,在那里將光標(biāo)顯示在VRAM11上半張嘴的部位圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上的“半張嘴”部位的圖形的屏幕位置上。步驟S144之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
圖9為表示一個角度校正開關(guān)中斷子例程的流程圖。當(dāng)操作角度校正開關(guān)6時,控制進(jìn)入該角度校正開關(guān)中斷例程。首先,在這一例程的步驟S200,檢測顯示標(biāo)志以判定是否一個面部圖象顯示在顯示器12上。當(dāng)判定該圖象被顯示時,顯示標(biāo)志成為“1”,因為除非圖象顯示在顯示器12上,否則即使操作了角度校正開關(guān)6,面部圖象的部位圖形也不會顯示。當(dāng)判定顯示標(biāo)志為“0”時,當(dāng)前例程便結(jié)束,而控制返回到主程序。
當(dāng)判定顯示標(biāo)志為“1”時,控制進(jìn)入步驟S202,在那里將角度校正標(biāo)志反相。在步驟S204,判定角度校正標(biāo)志是否為“1”。在顯示器12上顯示面部圖象時,每接通一次角度校正開關(guān)6便將角度校正標(biāo)志反相一次。當(dāng)在步驟S204判定角度校正標(biāo)志為“0”時,控制進(jìn)入步驟S206,擦掉顯示在屏幕上的光標(biāo),而控制返回到主程序。
當(dāng)在步驟S204判定角度校正標(biāo)志為“1”時,在各步驟S208-S216判定指針N的值為“1”-“5”中哪一個。由于操作光標(biāo)開關(guān)3而由光標(biāo)開關(guān)中斷例程的執(zhí)行改變光標(biāo)的位置,如上所述。
當(dāng)判定指針N的值為“1”時,控制進(jìn)入步驟S218,將光標(biāo)顯示在VRAM11上左眼的部位圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上的“左眼”部位的圖形的屏幕位置上。此后,執(zhí)行一個轉(zhuǎn)動角度開關(guān)中斷例程來校正左眼的轉(zhuǎn)動角度。步驟S218之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“2”時,控制進(jìn)入步驟S220,將光標(biāo)顯示在VRAM11上右眼的部位圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)6顯示在顯示器12上“右眼”部位的圖形的屏幕位置上。此后,執(zhí)行轉(zhuǎn)動角度開關(guān)中斷例程來校正右眼的轉(zhuǎn)動角度。步驟S220之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“3”時,控制進(jìn)入步驟S222,將光標(biāo)顯示在VRAM上左眉毛的部位圖形的屏幕位置上。這樣,光標(biāo)按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上的“左眉毛”部位的圖形的屏幕位置上。此后,執(zhí)行轉(zhuǎn)動角度開關(guān)中斷例程來校正左眉毛的轉(zhuǎn)動角度。步驟S222之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“4”時,控制進(jìn)入步驟S224,將光標(biāo)顯示在VRAM11上右眉毛的部位圖形的屏幕位置上。這樣,光標(biāo)便按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上的“右眉毛”部位的圖形的位置上。此后,執(zhí)行轉(zhuǎn)動角度開關(guān)中斷例程來校正右眉毛的轉(zhuǎn)動角度。步驟S224之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“5”時,控制進(jìn)入步驟S226,將光標(biāo)顯示在VRAM11上半張嘴的部位圖形的屏幕位置上。
這樣,光標(biāo)便按照操作員操作光標(biāo)開關(guān)3顯示在顯示器12上的“半張嘴”部位的圖形的位置上。此后,執(zhí)行轉(zhuǎn)動角度開關(guān)中斷例程來校正這半張嘴的轉(zhuǎn)動角度。步驟S226之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
圖10A與10B為表示轉(zhuǎn)動角度開關(guān)中斷例程的流程圖。當(dāng)操作了轉(zhuǎn)動角度開關(guān)6時,控制進(jìn)入該轉(zhuǎn)動角度開關(guān)中斷例程。首先,在步驟S250檢測顯示標(biāo)志是否為“1”以判定一個面部圖象是否顯示在顯示器12上。當(dāng)圖象顯示在顯示器12上時,顯示標(biāo)志成為“1”。如果圖象沒有顯示在顯示器12上,即使操作了轉(zhuǎn)動角度開關(guān)6也不能改變部位圖形的轉(zhuǎn)動角度。當(dāng)判定顯示標(biāo)志為“0”時,當(dāng)前例程結(jié)束,而控制返回到主程序。
當(dāng)判定顯示標(biāo)志為“1”時,控制進(jìn)入步驟S252,在那里判定角度校正標(biāo)志是否為“1”。當(dāng)判定角度校正標(biāo)志為“0”時,當(dāng)前例程同樣結(jié)束,而控制返回到主程序。當(dāng)判定角度校正標(biāo)志為“1”時,則在步驟S254-S262判定指針N的值為“1”-“5”中哪一個。由于光標(biāo)開關(guān)3的操作而由光標(biāo)開關(guān)中斷例程的執(zhí)行改變光標(biāo)的位置,如上所述。
當(dāng)判定指針N的值為“1”時,控制進(jìn)入步驟S264,校正存儲在地址(OFFSET6+4)上的角度數(shù)據(jù)。由于“左眼”部位的圖形的轉(zhuǎn)動角度數(shù)據(jù)是存儲在地址(OFFSET6+4)上的,轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作將該數(shù)據(jù)校正到一個新的轉(zhuǎn)動角度數(shù)據(jù)(例如,“左眼”部位的部位圖形的一個增加的轉(zhuǎn)動角度數(shù)據(jù))。在步驟S226,“左眼”圖象根據(jù)存儲在地址(OFFSET6+4)上的角度數(shù)據(jù)繞坐標(biāo)(左眼的轉(zhuǎn)動位置)轉(zhuǎn)動,其數(shù)據(jù)存儲在OFFSET6上。從而,由于轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作而左眼的部位圖形轉(zhuǎn)動了一個新的轉(zhuǎn)動角度,并顯示之。步驟S266之后,當(dāng)前例程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為.“2”時,控制進(jìn)入步驟S268,校正存儲在(OFFSET6+5)上的角度數(shù)據(jù)。由于復(fù)制角度數(shù)據(jù)或包含左眼的轉(zhuǎn)動角度的復(fù)制角度的右眼轉(zhuǎn)動角度數(shù)據(jù)是存儲在地址(OFFSET6+5)上的,由轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作將其校正到一個新的轉(zhuǎn)動角度數(shù)據(jù)(例如,右眼的部位圖形的一個增加的轉(zhuǎn)動角度數(shù)據(jù))。在步驟S270,“右眼”圖象根據(jù)一個復(fù)制角度(其數(shù)據(jù)存儲在(OFFSET6+5)上)繞復(fù)制坐標(biāo)(即右眼的轉(zhuǎn)動位置,它是左眼轉(zhuǎn)動位置的一個復(fù)制,其數(shù)據(jù)存儲在(OFFSET6+1)上)轉(zhuǎn)動。從而,由轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作將右眼的部位圖形轉(zhuǎn)動通過新的轉(zhuǎn)動角度,并顯示之。步驟S270之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“3”時,控制進(jìn)入步驟S272,校正存儲在(OFFSET6+2)上的角度數(shù)據(jù)。由于左眉毛的轉(zhuǎn)動角度數(shù)據(jù)是存儲在地址(OFFSET6+2)上的,它是通過轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作校正到一個新的轉(zhuǎn)動角度數(shù)據(jù)的(例如,左眉毛的部位圖形的一個增加的轉(zhuǎn)動角度數(shù)據(jù))。在步驟S274,“右眉毛”圖象根據(jù)存儲在(OFFSET5+2)上的角度數(shù)據(jù)繞左眉毛的轉(zhuǎn)動位置的坐標(biāo)(其數(shù)據(jù)存儲在(OFFSET5上)轉(zhuǎn)動。這樣,通過轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作將左眉毛的部位圖形轉(zhuǎn)動通過該新的轉(zhuǎn)動角度,并顯示之。步驟S274之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
然后執(zhí)行圖10B的進(jìn)程。當(dāng)判定指針N的值為“4”時,控制進(jìn)入步驟S276,校正存儲在(OFFSET5+3)上的角度數(shù)據(jù)。由于復(fù)制角度數(shù)據(jù)或包含左眉毛的部位圖形的轉(zhuǎn)動角度的復(fù)制數(shù)據(jù)制成的右眉毛的部位圖形的轉(zhuǎn)動角度數(shù)據(jù)是存儲在地址(OFFSET5+3)上的,它是通過轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作校正到一個新的轉(zhuǎn)動角度數(shù)據(jù)的(例如,右眉毛的部位圖形的一個增加的轉(zhuǎn)動角度數(shù)據(jù))。在步驟S278,“右眉毛”圖象根據(jù)一個復(fù)制角度(其數(shù)據(jù)存儲在(OFFSET5+3)上)繞復(fù)制坐標(biāo)(即右眉毛的轉(zhuǎn)動位置,它是左眉毛的轉(zhuǎn)動位置的一個復(fù)制,其數(shù)據(jù)存儲在(OFFSET5+2)上)轉(zhuǎn)動。從而,通過轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作,將右眉毛的部位圖形轉(zhuǎn)動通過該新的轉(zhuǎn)動角度,并顯示之。步驟S278之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
當(dāng)判定指針N的值為“5”時,控制進(jìn)入步驟S280,校正存儲在(OFFSET3+1)上的角度數(shù)據(jù)。由于半張嘴的部位圖形的轉(zhuǎn)動角度數(shù)據(jù)是存儲在地址(OFFSET3+1)上的,它是通過轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作校正到一個新的轉(zhuǎn)動角度數(shù)據(jù)的(例如,半張嘴的部位圖形的一個增加的轉(zhuǎn)動角度數(shù)據(jù))。在步驟S282,“半張嘴”圖象根據(jù)存儲在(OFFSET3+1)上的角度數(shù)據(jù)繞這半張嘴的轉(zhuǎn)動位置的坐標(biāo)(其數(shù)據(jù)存儲在(OFFSET3上)轉(zhuǎn)動。從而,通過轉(zhuǎn)動角度開關(guān)7的當(dāng)前操作,將半張嘴的部位圖形轉(zhuǎn)動通過該新的轉(zhuǎn)動角度,并顯示之。步驟S282之后,當(dāng)前例程中的進(jìn)程結(jié)束,而控制返回到主程序。
圖11為表示位置校正開關(guān)中斷子例程的流程圖。當(dāng)操作了位置校正開關(guān)8時,控制進(jìn)入該位置校正開關(guān)中斷例程。首先在步驟S300檢測顯示標(biāo)志是否為“1”來判定一個面部圖象是否顯示在顯示器12上。當(dāng)判定圖象是顯示在顯示器12上時,顯示標(biāo)志成為“1”。除非圖象顯示在顯示器12上,否則即使操作了位置校正開關(guān)5,也不能校正面部圖象的一個部位圖形的位置。當(dāng)判定顯示標(biāo)志為“0”時,當(dāng)前例程例結(jié)束,而控制返回到主程序。
當(dāng)判定顯示標(biāo)志為“1”時,控制進(jìn)入步驟S302,判定位置校正開關(guān)5的向上開關(guān)是否接通。操作位置校正開關(guān)5來校正面部圖象的一個部位圖形的位置,尤其是一個眼睛圖形,該開關(guān)由一個按鈕式上下開關(guān)構(gòu)成。在本實施例中,判定向上開關(guān)是否已經(jīng)按下。當(dāng)向上開關(guān)接通時,控制進(jìn)入步驟S304,將地址(OFFSET6+2)與(OFFSET6+3)上的位置校正數(shù)據(jù)項增加“1”。由于位置校正數(shù)據(jù)(用于左眼的位置校正的)是存儲在地址(OFFSET6+2)上的,而復(fù)制校正位置數(shù)據(jù)(即包含左眼的位置校正的復(fù)制的一個右眼校正位置)是存儲在地址(OFFSET6+3)上的。因此,在步驟S304,將左右眼的校正位置數(shù)據(jù)項都增加“1”。
在步驟S306,將構(gòu)成VRAM11上的“眼睛”圖象數(shù)據(jù)的點(diǎn)的Y坐標(biāo)增加“1”來移動左右眼睛的位置。從而,左右眼睛顯示在顯示器12上的升高的(Y坐標(biāo))位置上。在步驟S308,將位置坐標(biāo)中的Y坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET6與(OFFSET6+1)上)增加“1”,然后控制返回到主程序。坐標(biāo)數(shù)據(jù)(左眼的轉(zhuǎn)動位置的)存儲在地址OFFSET6,而復(fù)制坐標(biāo)數(shù)據(jù)(即包含左眼的轉(zhuǎn)動位置的復(fù)制的右眼轉(zhuǎn)動位置)則存儲在地址(OFFSET6+1)上。因此,在步驟S308,左右眼的轉(zhuǎn)動位置的Y坐標(biāo)都增加了“1”。
當(dāng)向上開關(guān)不接通(或者當(dāng)向下開關(guān)接通時),控制進(jìn)入步驟S310,將地址(OFFSET6+2)與(OFFSET6+3)上的位置校正數(shù)據(jù)項增加“1”。位置校正數(shù)據(jù)(即左眼的位置校正數(shù)據(jù))存儲在地址(OFFSET6+2)上,而復(fù)制校正位置數(shù)據(jù)(即包含右眼的校正位置的一個復(fù)制的右眼校正位置數(shù)據(jù))則存儲在地址(OFFSET6+3)上。因此,在步驟S304,左右眼睛的校正位置的數(shù)據(jù)項都增加了“1”。在步驟S312,將構(gòu)成VRAM11上的“眼睛”圖象數(shù)據(jù)的點(diǎn)的Y坐標(biāo)減小“1”來移動左右眼睛的位置。因此,左右眼睛便顯示在顯示器12上的一個降低(Y坐標(biāo))的位置上。在步驟S314,將位置坐標(biāo)中的Y坐標(biāo)(其數(shù)據(jù)項存儲在地址OFFSET6與(OFFSET6+1)上)減小“1”,然后控制返回到主程序。坐標(biāo)數(shù)據(jù)(左眼的轉(zhuǎn)動位置)存儲在地址OFFSET6,而復(fù)制坐標(biāo)數(shù)據(jù)(包含左眼的轉(zhuǎn)動位置的一個復(fù)制的右眼轉(zhuǎn)動位置)則存儲在地址(OFFSET6+1)上。因此,在步驟S314,左右眼睛的轉(zhuǎn)動位置的Y坐標(biāo)都減小了“1”。
圖12A為表示一個顯示開關(guān)中斷例程的流程圖。當(dāng)操作顯示開關(guān)4以在顯示器12上顯示一個面部圖象或一個選擇的屏面時,便啟動該顯示開關(guān)中斷例程。
在這一情況中,首先在步驟S400,反相顯示標(biāo)志,每次操作顯示開關(guān)4時便產(chǎn)生這一反相。
在步驟S402,判定顯示標(biāo)志是否為“1”。如果判定顯示標(biāo)志為“0”,則控制進(jìn)入主程序。
當(dāng)操作了顯示開關(guān)4而顯示標(biāo)志成為“1”時,控制跳轉(zhuǎn)到步驟S404,將指針M1的值返回到“1”。指針M1的值以下述方式對應(yīng)于面部的部位。例如,M1=1對應(yīng)于一種發(fā)型;M1=2對應(yīng)于半個輪廓;M1=3對應(yīng)于一只眼睛,等等。因此,為什么在步驟S404將指針M1的值返回到“1”的理由在于,首先確定發(fā)型的特征,及讀出對應(yīng)于操作員的操縱狀態(tài)的部位圖形的特征數(shù)據(jù)(例如,位置校正數(shù)據(jù)、轉(zhuǎn)動角度數(shù)據(jù)),并顯示在顯示器12上。
在各步驟S4-6-S414,判定指針M1的值為“1”、“2”、“5”、“6”、“3”或“4”。
當(dāng)判定指針M1的值為“1”,M1=“1”指定一種發(fā)型特征的數(shù)據(jù)。此時,控制進(jìn)入步驟S416,將使用地址(M1+OFFSET3)上的數(shù)據(jù)作為起始地址,從部位圖形ROM10中讀取的,對應(yīng)于作為屏幕數(shù)據(jù)的“發(fā)型”的面部特征數(shù)據(jù)的“發(fā)型”的部位圖形數(shù)據(jù)傳送到VRAM11。從而,在步驟S416,“發(fā)型”的部位圖形便顯示在顯示器12上。
當(dāng)在步驟S406判定M1的值不同于“1”時,控制進(jìn)入步驟S408。當(dāng)在步驟S420判定M1的值為“7”時,當(dāng)前例程結(jié)束,而控制返回到主程序。
當(dāng)判定M1的值為“2”或“5”時,M1=2指定“半個輪廓”的特征數(shù)據(jù),而M1=5指定“半個鼻子”的特征數(shù)據(jù)。此時,控制進(jìn)入步驟S422,使用地址(M1+OFFSET3)上的數(shù)據(jù)作為起始地址,從部位圖形ROM10中讀取對應(yīng)于作為屏幕數(shù)據(jù)的內(nèi)容的“半個輪廓”或“半個鼻子”的面部特征數(shù)據(jù)的左半面部圖象上的“半個輪廓”或“半個鼻子”的部位圖形數(shù)據(jù),并將其傳送到VRAM11。從而作為左半面部的特征的“半個輪廓”或“半個鼻子”部位的圖形便顯示在顯示器12上(圖13A)。
在步驟S424,然后將圖象數(shù)據(jù)復(fù)制到與VRAM11上一個特定的X坐標(biāo)的位置軸對稱的VRAM11上的一個位置中。然后,控制進(jìn)入步驟S418。從而,復(fù)制了對應(yīng)于面部圖象的特征(輪廓或鼻子)的右半面部圖象上的“半個輪廓”與“半個鼻子”部位的圖形。從而,右半個面部上的“半個輪廓”或“半個鼻子”的部位圖形便存儲在VRAM11上對應(yīng)的X坐標(biāo)位置上。從而,將右半個面部的部位圖形與左半個面部的對應(yīng)部位圖形(這些部位圖形的數(shù)據(jù)已經(jīng)存儲在“半個輪廓”或“半個鼻子”部位圖形的X坐標(biāo)位置上)組合在一起,然后將得到的整個部位圖形顯示在顯示器12上(圖13B)。
當(dāng)判定指針M1的值為“6”時,M1=6指定“半張嘴”的特征數(shù)據(jù)。此時,控制進(jìn)入步驟S426,將存儲在地址(M1+OFFSET3)上的數(shù)據(jù)的首部坐標(biāo)數(shù)據(jù)存儲在地址OFFSET4上。此時,工作RAM9中地址(M1+OFFSET3)上的數(shù)據(jù)便是用于指定一種面部特征數(shù)據(jù)的地址數(shù)據(jù)。當(dāng)判定M1=“6”時,這便是用于指定半張嘴的特征數(shù)據(jù)的地址數(shù)據(jù)。因此,左半張嘴的坐標(biāo)數(shù)據(jù)是作為左半張嘴的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)存儲在工作RAM9中地址OFFSET4上的。
在步驟S428,用存儲在地址(M1+OFFSET3)上的數(shù)據(jù)作為起始地址讀取數(shù)據(jù),并將其傳送到VRAM11。因此,作為其左邊一半的面部特征的“嘴”部位的左半個圖形便顯示在顯示器12上。
在步驟S430,然后在VRAM11上與一個特定的X坐標(biāo)的位置軸對稱的一個位置上復(fù)制數(shù)據(jù)。這樣,便復(fù)制了對應(yīng)于面部圖象的“嘴”的左半張“嘴”的部位圖形的特征。從而,將“嘴”部位的右半個圖形存儲在VRAM11上“半張嘴”部位的圖形的X坐標(biāo)位置上。從而,將嘴的右半部位圖形與對應(yīng)的嘴的左半部位(其部位圖形數(shù)據(jù)已存儲在X坐標(biāo)位置上)組合在一起,然后將得到的整個部位圖形顯示在顯示器12上(圖13B)。在步驟S432,根據(jù)角度數(shù)據(jù)(存儲在地址(OFFSET4+1)上的)將圖象繞坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET4上)轉(zhuǎn)動。此時,“半張嘴”的轉(zhuǎn)動中心的位置的坐標(biāo)數(shù)據(jù)是存儲在地址OFFSET4上的?!鞍霃堊臁眻D形轉(zhuǎn)動通過的角度數(shù)據(jù)是存儲在地址(OFFSET4+1)上的。因此,將“嘴”的部位圖形繞坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET4上)轉(zhuǎn)動一個轉(zhuǎn)動角度(其數(shù)據(jù)存儲在地址(OFFSET4+1)上,并將得到的嘴圖象顯示在顯示器12上。步驟S432之后,控制進(jìn)入步驟S418。
當(dāng)判定指針M1的值為“4”時,則執(zhí)行圖12B的進(jìn)程,M1=4指定一條“眉毛”的特征數(shù)據(jù)。此時,控制進(jìn)入步驟S434,將存儲在地址(M1+OFFSET3)上的數(shù)據(jù)的首部的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET5上。此時,工作RAM9中地址(M1+OFFSET3)上的數(shù)據(jù)為用于指定面部圖象的特征數(shù)據(jù)的地址數(shù)據(jù)。當(dāng)判定M1=“4”時,這便是用于指定眉毛的特征數(shù)據(jù)的地址數(shù)據(jù)。從而,左眉毛的坐標(biāo)數(shù)據(jù)是作為左眉毛的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)存儲在工作RAM9中地址OFFSET5上的。
在步驟S436,計算出與VRAM11上一個特定X坐標(biāo)位置軸對稱的一個VRAM11上的位置的坐標(biāo)數(shù)據(jù)并將其存儲在地址(OFFSET5+1)上。這樣,便存儲了對應(yīng)于作為左眉毛的轉(zhuǎn)動中心的相同Y坐標(biāo)位置的右眉毛的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)。
在步驟S438,使用地址(M1+OFFSET3)上的數(shù)據(jù)作為起始地址讀取屏幕數(shù)據(jù),并將其傳送給VRAM11。這樣,便從部位圖形ROM10中讀取了對應(yīng)于作為面部圖象特征的“眉毛”的左眉毛的圖形數(shù)據(jù),并將其顯示在顯示器12上。在步驟S440,將屏幕數(shù)據(jù)復(fù)制到與VRAM11上一個特定的X坐標(biāo)位置軸對稱的VRAM11上的一個位置上。從而,作為面部圖象特征的左眉毛的部位圖形便復(fù)制成了右眉毛,并且其部位圖形被顯示在顯示器12上。最后,顯示左右兩條眉毛。
在步驟S444,根據(jù)地址(OFFSET5+2)上的角度數(shù)據(jù),繞坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET5上)轉(zhuǎn)動讀入VRAM11上的屏幕數(shù)據(jù)。此時,左眉毛的轉(zhuǎn)動中心的位置的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET5上。左眉毛圖形轉(zhuǎn)動通過的角度數(shù)據(jù)存儲在地址(OFFSET5+2)上。從而,左眉毛的部位圖形繞坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET5上)轉(zhuǎn)動一個轉(zhuǎn)動角度(其數(shù)據(jù)存儲在地址(OFFSET5+2)上),并將得到的眉毛圖形顯示在顯示器12上。
在步驟S446,根據(jù)地址(OFFSET5+3)上的角度數(shù)據(jù),將復(fù)制到VRAM11上的屏幕數(shù)據(jù)繞坐標(biāo)(其數(shù)據(jù)存儲在地址(OFFSET6+1)上)轉(zhuǎn)動。此時,右眉毛的轉(zhuǎn)動中心的位置的復(fù)制坐標(biāo)數(shù)據(jù)存儲在地址(OFFSET6+1)上。右眉毛圖形轉(zhuǎn)動通過的角度的復(fù)制數(shù)據(jù)存儲在地址(OFFSET5+3)上。從而,右眉毛的部位圖形繞坐標(biāo)(其數(shù)據(jù)存儲在地址(OFFSET6+1)上)轉(zhuǎn)動一個轉(zhuǎn)動角度(其數(shù)據(jù)存儲在地址(OFFSET5+3)上),并且得到的眉毛圖形顯示在顯示器12上。步驟S446之后,控制進(jìn)入步驟S418。
當(dāng)判定指針M1的值為“3”時,便執(zhí)行圖12C的進(jìn)程。M1=3指定一只“眼睛”的特征數(shù)據(jù)。此時,控制進(jìn)入步驟S448,將存儲在地址(M1+OFFSET3)上的數(shù)據(jù)的首部的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET6上。此時,工作RAM9中地址(M1+OFFSET3)上的數(shù)據(jù)是用于存儲面部圖象的特征數(shù)據(jù)的地址數(shù)據(jù)。當(dāng)判定M1=“3”時,它便是用于指定雙眼的特征數(shù)據(jù)的地址數(shù)據(jù)。從而,左眼的坐標(biāo)數(shù)據(jù)是作為左眼的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)存儲在工作RAM9中地址OFFSET6上的。
在步驟S450,計算出與VRAM11上一個特定的X坐標(biāo)位置軸對稱的VRAM11上的一個位置的坐標(biāo)數(shù)據(jù),并將其存儲在地址(OFFSET6+1)上。從而,存儲了對應(yīng)于作為左眼的轉(zhuǎn)動中心的相同Y坐標(biāo)位置的右眼的轉(zhuǎn)動中心的坐標(biāo)數(shù)據(jù)。
在步驟S452,根據(jù)地址(OFFSET6+2)上的校正數(shù)據(jù)將地址OFFSET6上的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成一個Y坐標(biāo)。地址OFFSET6上的坐標(biāo)數(shù)據(jù)表示左眼的轉(zhuǎn)動中心。地址(OFFSET6+2)上的位置校正數(shù)據(jù)是用于校正左眼的位置的。從而,左眼的部位圖形的位置相對于由該坐標(biāo)(其數(shù)據(jù)存儲在OFFSET6上)表示的一個第一位置向上或向下(在Y坐標(biāo)變化方向上)調(diào)整了地址(OFFSET6+2)上的校正數(shù)據(jù),并顯示之。
在步驟S454,根據(jù)地址(OFFSET6+3)上的校正數(shù)據(jù),將地址(OFFSET6+1)上的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成一個Y坐標(biāo)數(shù)據(jù)。地址(OFFSET6+1)上的坐標(biāo)數(shù)據(jù)是右眼的轉(zhuǎn)動中心的復(fù)制坐標(biāo)數(shù)據(jù)。地址(OFFSET6+3)上的數(shù)據(jù)是用于校正右眼的位置的復(fù)制位置校正數(shù)據(jù)。這樣,右眼的部位圖形的位置便相對于由地址(OFFSET6+1)上的坐標(biāo)數(shù)據(jù)所表示一個第一位置(在Y坐標(biāo)變化方向上)或向下調(diào)整了地址(OFFSET6+3)上的復(fù)制位置校正數(shù)據(jù),并顯示之。
在步驟S456,使用地址(M1+OFFSET3)上的數(shù)據(jù)作為起始地址讀取屏幕數(shù)據(jù),并將其傳送給VRAM11。從而,作為面部圖象的特征之一的左眼的部位圖形便顯示在顯示器12上。在步驟S458,將該屏幕數(shù)據(jù)復(fù)制到與VRAM11上的一個特定的X坐標(biāo)位置軸對稱的VRAM11上的一個位置上。這樣,便將作為面部圖象的特征的左眼的圖形復(fù)制成右眼的圖形,然后將其顯示在顯示器12上。最后,作為一個單元顯示左右雙眼。
在步驟S460,根據(jù)地址(OFFSET6+2)上的位置校正數(shù)據(jù)將讀取到VRAM11上的圖象移動到一個位置。從而,左眼的位置移動了對應(yīng)于地址(OFFSET6+2)上的位置校正數(shù)據(jù)的一個量,并顯示之。
在步驟S462,根據(jù)地址(OFFSET6+3)上的復(fù)制位置校正數(shù)據(jù)移動復(fù)制VRAM11上的圖象。從而,右眼的位置移動了一個對應(yīng)于地址(OFFSET6+3)上的復(fù)制位置校正數(shù)據(jù)的量,并顯示之。
在步驟S464,根據(jù)地址(OFFSET6+4)上的角度數(shù)據(jù),繞坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET6上)轉(zhuǎn)動讀到VRAM11上的屏幕數(shù)據(jù)。此時,左眼圖形的轉(zhuǎn)動中心的位置的坐標(biāo)數(shù)據(jù)存儲在地址OFFSET6上。左眼圖形轉(zhuǎn)動通過的角度數(shù)據(jù)存儲在地址(OFFSET6+4)上。從而,左眼的部位圖形繞坐標(biāo)(其數(shù)據(jù)存儲在地址OFFSET6上)轉(zhuǎn)動了一個轉(zhuǎn)動角度(其數(shù)據(jù)存儲在地址(OFFSET6+4)上),并顯示得到的轉(zhuǎn)動后的眼睛圖形。
在步驟S466,根據(jù)地址(OFFSET6+5)上角度數(shù)據(jù),繞坐標(biāo)(其數(shù)據(jù)存儲在地址(OFFSET6+1)上)轉(zhuǎn)動復(fù)制到VRAM11上的屏幕數(shù)據(jù)。此時,右眼圖形的轉(zhuǎn)動中心的位置的復(fù)制坐標(biāo)數(shù)據(jù)存儲在地址(OFFSET6+1)上。右眼圖形轉(zhuǎn)動通過的復(fù)制角度數(shù)據(jù)存儲在地址(OFFSET6+5)上。從而,右眼的部位圖形繞復(fù)制坐標(biāo)(其數(shù)據(jù)存儲在地址(OFFSET6+1)上)轉(zhuǎn)動了復(fù)制的轉(zhuǎn)動角度(其數(shù)據(jù)存儲在地址(OFFSET6+5)上),并顯示之。步驟S466之后,控制進(jìn)入步驟S418。
如上所述,當(dāng)接通顯示開關(guān)4時,對應(yīng)于面部圖象的特征的一個面部圖象的部位圖形,順序地顯示在顯示器12上,例如,以發(fā)型、半個輪廓、一只眼睛、…的次序顯示。更具體地,除了發(fā)型以外的構(gòu)成面部圖象的左半邊部位圖形的數(shù)據(jù)項是從工作RAM9中對應(yīng)的地址上讀取并顯示的。右半邊部位圖形是根據(jù)讀取的左半邊部位圖形復(fù)制的,并將互相對應(yīng)的左右部位的圖形組合在一起。需要時,校正與顯示組合部位圖形的位置與角度。
簡言之,在本實施例中的上述程序的執(zhí)行過程中,接通電源,順充地選擇構(gòu)成面部圖象的左半邊的各部位的要求的左邊圖形,并首先顯示面部的左半邊的部位的圖形的一個第一半面部圖象H1,如圖13A中所示。面部圖象的第一半面部圖象H1用作復(fù)制的原版,并沿一條通過VRAM11的中心V的垂直線翻轉(zhuǎn)成面部圖象的右半邊的部位圖形的一個第二半面部圖象H2。然后,在VRAM11上將由部位圖形構(gòu)成的第一半面部圖象H1與第二半面部圖象H2組合成一個合成的面部圖象H3,然后顯示這一圖象H3(除外發(fā)型K1的部分圖形),如圖13B中所示。如果選擇了作為一個完整部位的一個單一的完整的部位圖形的一種所要求的發(fā)型K1,則將其與VRAM11上的合成面部圖象H3組合在一起,然后顯示之,如圖13C中所示。
例如,通過將眉毛的左右部位圖形M1、M2轉(zhuǎn)動通過相同的角度,便顯示了由于眉毛部位圖形M1、M2的轉(zhuǎn)動而具有不同外表與給不同影象的一個面部圖象H5,如圖13D中所示。
因此,除了發(fā)型以外,只需要在部位圖形ROM10中存儲構(gòu)成半邊面部圖象的各部位圖形的數(shù)據(jù),而不需要圖2中陰影部分存儲區(qū)域中的部位圖形數(shù)據(jù)。因此,與使用其它系統(tǒng)所需的存儲器容量相比,本發(fā)明的存儲器容量減少了一半。換言之,在原來的部位圖形ROM10的容量中能存儲的部位圖形種數(shù)翻了一翻。相應(yīng)地,增加了部位圖形組合的數(shù)目,而可以形成更接近用戶要求的一個面部圖象。
當(dāng)將本實施例的設(shè)備安裝在諸如電子筆記本之類的電子設(shè)備上時,可使用部位圖形的減小了的存儲器容量。從而提供了一種體積小、重量輕的電子設(shè)備。
本創(chuàng)造性設(shè)備不僅能應(yīng)用于電子筆記本,也能廣泛地應(yīng)用于其它不同的物品及領(lǐng)域。
雖然在本實施例中所示出的是其數(shù)據(jù)存儲在部位圖形ROM10中的作為一個單一的部位的發(fā)型部位圖形K1,但也可像半個輪廓、一只眼睛、及半張嘴那樣在部位圖形ROM10A中只存儲一半發(fā)型部位圖形數(shù)據(jù),如圖14中所示。
另外,根據(jù)本發(fā)明,借助于只存儲構(gòu)成面部或目標(biāo)的圖象的部位的一半圖形的一個存儲器,除了該面部圖象,其它諸如一位女性的面部圖象、一個動物的面部圖象、一個外星人的面部圖象及具有對稱的左右兩個部位的一個目標(biāo)的圖象都能以上述類似的方式容易地生成。
一個部位圖形的角度與位置可以分別改變到任何角度與任何位置。
完成的面部圖象可以不僅顯示在顯示器12上,還可通過圖1的打印機(jī)13印刷在一張標(biāo)簽條或一張普通的紙上。
根據(jù)本發(fā)明,為構(gòu)成一個目標(biāo)的一半的各部位存儲了多種部位圖象數(shù)據(jù)。任何圖象都是從這多種部位圖象數(shù)據(jù)中為各部位選擇的。再將選中的部位圖象組合成一個第一半目標(biāo)圖象。與第一半目標(biāo)圖象對稱的一個第二半目標(biāo)圖象是根據(jù)該第一半目標(biāo)圖象形成的。再將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象。因此,與需要存儲構(gòu)成完整的目標(biāo)圖象的各部位的多種部位圖象數(shù)據(jù)的情況相比,本發(fā)明只需要存儲構(gòu)成半個目標(biāo)的各部位的多種部位圖象數(shù)據(jù)。即,各部位圖形的圖象的存儲量減少了一半,從而相應(yīng)地極大減少了所使用的存儲容量及整個設(shè)備的制造成本、尺寸與重量。
權(quán)利要求
1.一種目標(biāo)圖象建立設(shè)備,包括存儲裝置,用于為構(gòu)成半個目標(biāo)圖象的各部位存儲多種圖象數(shù)據(jù);第一半目標(biāo)圖象生成裝置,用于從存儲在所述存儲裝置中的多種圖象數(shù)據(jù)中為各部位選擇一種圖象數(shù)據(jù),及用于組合所選中的圖象數(shù)據(jù)以構(gòu)成一個第一半目標(biāo)圖象;第二半目標(biāo)圖象生成裝置,用于在所述第一半目標(biāo)圖象的基礎(chǔ)上,構(gòu)成一個與所述第一半目標(biāo)圖象生成裝置所構(gòu)成的第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及目標(biāo)圖象生成裝置,用于組合由所述第一半目標(biāo)圖象生成裝置構(gòu)成的第一半目標(biāo)圖象與由所述第二半目標(biāo)圖象生成裝置構(gòu)成的第二半目標(biāo)圖象,以構(gòu)成一個完整的目標(biāo)圖象。
2.根據(jù)權(quán)利要求1的一種目標(biāo)圖象建立設(shè)備,還包括輸出裝置,用于輸出完整的目標(biāo)圖象數(shù)據(jù)。
3.根據(jù)權(quán)利要求1的一種目標(biāo)圖象建立設(shè)備,其中的目標(biāo)圖象為一個面部圖象,以及存儲裝置為構(gòu)成面部圖象一半的各部位存儲多種圖象數(shù)據(jù)。
4.根據(jù)權(quán)利要求1的一種目標(biāo)圖象建立設(shè)備,其中的目標(biāo)圖象為一個面部圖象,以及該存儲裝置為構(gòu)成半個面部圖象除了表示一發(fā)型的一個部位圖象外的各部位,存儲多種圖象數(shù)據(jù)。
5.根據(jù)權(quán)利要求1的一種目標(biāo)圖象建立設(shè)備,其中的第一半目標(biāo)圖象生成裝置包括選擇裝置,用于從各部位的多種部位圖象中逐個地選擇任何部位圖象,這些部位圖象數(shù)據(jù)存儲在該存儲裝置中;第一生成裝置,用于將選中的部位圖象組合成一個第一半目標(biāo)圖象;以及第一半目標(biāo)圖象存儲裝置,用于存儲該第一半目標(biāo)圖象;該第二半目標(biāo)圖象生成裝置包括第二生成裝置,用于將第一半目標(biāo)圖象繞一個預(yù)定的位置翻轉(zhuǎn),以復(fù)制一個與第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及第二半目標(biāo)圖象存儲裝置,用于存儲第二半目標(biāo)圖象數(shù)據(jù);以及該目標(biāo)圖象生成裝置包括第三生成裝置,用于將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象;以及目標(biāo)圖象存儲裝置,用于存儲該完整的目標(biāo)圖象的數(shù)據(jù)。
6.根據(jù)權(quán)利要求1的一種目標(biāo)圖象建立設(shè)備,還包括位置改變裝置,用于改變由目標(biāo)圖象生成裝置生成的完整圖象的至少一個部位的位置與角度中的至少一種;以及目標(biāo)圖象輸出裝置,用于將完整目標(biāo)圖象的角度與位置中至少一種改變了的至少一個部位,與完整目標(biāo)圖象的其余部位組合成一個新的圖象并將其輸出。
7.一種目標(biāo)圖象建立設(shè)備,包括第一存儲裝置,用于存儲構(gòu)成半個目標(biāo)圖象的部位中至少一個預(yù)定的部位的多種第一圖象數(shù)據(jù);第二存儲裝置,用于存儲構(gòu)成除了該至少一個預(yù)定部位之外的半個目標(biāo)圖象的部位中的其它部位的多種第二圖象數(shù)據(jù);第一半目標(biāo)圖象生成裝置,用于從存儲在第二存儲裝置中的多種第二圖象數(shù)據(jù)中為各部位選擇一種圖象數(shù)據(jù);用于從存儲在第一存儲裝置中的多種第一圖象數(shù)據(jù)中為各部位選擇一種圖象數(shù)據(jù);以及用于將選中的第一與第二圖象組合成一個第一半目標(biāo)圖象;第二半圖象生成裝置,用于在第一半目標(biāo)圖象的基礎(chǔ)上生成一個與第一半目標(biāo)圖象對稱的一個第二半目標(biāo)圖象;以及目標(biāo)圖象生成裝置,用于將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象,及用于生成完整的目標(biāo)圖象。
8.根據(jù)權(quán)利要求7的一種目標(biāo)圖象建立設(shè)備,還包括輸出裝置,用于輸出該完整的目標(biāo)圖象的數(shù)據(jù)。
9.根據(jù)權(quán)利要求7的一種目標(biāo)圖象建立設(shè)備,還包括位置改變裝置,用于改變由該目標(biāo)圖象生成裝置生成的完整的目標(biāo)圖象的至少一個部位的位置與角度中的至少一種;以及目標(biāo)圖象輸出裝置,用于將完整的目標(biāo)圖象的位置與角度中至少一種改變了的至少一個部位與完整的目標(biāo)圖象的其余圖象組合成一個新的目標(biāo)圖象,并將其輸出。
10.根據(jù)權(quán)利要求7的一種目標(biāo)圖象建立設(shè)備,其中的目標(biāo)圖象為一個面部圖象,并且其中至少一個預(yù)定的部位的多種第一圖象(這些第一圖象的數(shù)據(jù)是存儲在第一存儲裝置中的)是用于一發(fā)型的,并且另一部位的多種第二圖象(這些第二圖象的數(shù)據(jù)是存儲在第二存儲裝置中的)是用于除了該至少一個預(yù)定部位之外的不是發(fā)型的一個部位的。
11.根據(jù)權(quán)利要求7的一種目標(biāo)圖象建立設(shè)備,其中的第一半目標(biāo)圖象生成裝置包括選擇裝置,用于從其數(shù)據(jù)存儲在第二存儲裝置中的多種第二圖象中選擇任何一種第二圖象,并用于從其數(shù)據(jù)存儲在第一存儲裝置中的多種第一圖象中選擇任何一種第一部位圖象;第一生成裝置,用于將選中的第一與第二部位圖象組合成一個第一半目標(biāo)圖象;以及第三存儲裝置,用于存儲由第一生成裝置生成的第一半目標(biāo)圖象數(shù)據(jù);該第二半目標(biāo)圖象生成裝置包括第二生成裝置,用于繞一個預(yù)定的位置將第一半目標(biāo)圖象生成裝置生成的第一半目標(biāo)圖象翻轉(zhuǎn),以復(fù)制一個與第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及第四存儲裝置,用于存儲該復(fù)制的第二半目標(biāo)圖象的數(shù)據(jù);以及該目標(biāo)圖象生成裝置包括第三生成裝置,用于將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象;以及第五存儲裝置,用于存儲該完整的目標(biāo)圖象數(shù)據(jù)。
12.一種目標(biāo)圖象建立設(shè)備,包括第一存儲裝置,用于存儲構(gòu)成半個目標(biāo)圖象的部位中的至少一個預(yù)定的部位的多種第一圖象數(shù)據(jù);第二存儲裝置,用于存儲構(gòu)成除了該至少一個預(yù)定部位以外的半個目標(biāo)圖象的部位中的其它部位的多種第二圖象數(shù)據(jù);第一半目標(biāo)圖象生成裝置,用于從存儲在第二存儲裝置中的多種第二圖象數(shù)據(jù)中為各部位選擇一種圖象數(shù)據(jù);用于從存儲在第一存儲裝置中的多種第一圖象數(shù)據(jù)中為各部位選擇一種圖象數(shù)據(jù);以及用于將選中的第一與第二圖象組合成一個第一半目標(biāo)圖象;第二半目標(biāo)圖象生成裝置,用于在該第一半目標(biāo)圖象的基礎(chǔ)上生成一個與該第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及目標(biāo)圖象生成裝置,用于將該第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象,及用于生成完整的目標(biāo)圖象。
13.根據(jù)權(quán)利要求12的一種目標(biāo)圖象建立設(shè)備,還包括輸出裝置,用于輸出該完整的目標(biāo)圖象數(shù)據(jù)。
14.根據(jù)權(quán)利要求12的一種目標(biāo)圖象建立設(shè)備,還包括位置改變裝置,用于改變由該目標(biāo)圖象生成裝置生成的完整的目標(biāo)圖象的至少一個部位的位置與角度中的至少一種;以及目標(biāo)圖象輸出裝置,用于將完整的目標(biāo)圖象中位置與角度中至少一種改變了的該至少一個部位與完整的目標(biāo)圖象中的其余圖象組合成一個新的目標(biāo)圖象并將其輸出。
15.根據(jù)權(quán)利要求12的一種目標(biāo)圖象建立設(shè)備,其中的目標(biāo)圖象是為一個面部圖象,并且其中其第一圖象數(shù)據(jù)存儲在第一存儲裝置中的該至少一個預(yù)定的部位的多種第一圖象是用于一發(fā)型的,并且其第二圖象數(shù)據(jù)存儲在第二存儲裝置中的另一個部位的多種第二圖象是用于除了該至少一個預(yù)定的部位以外的不是該發(fā)型的一個部位的。
16.根據(jù)權(quán)利要求12的一種目標(biāo)圖象建立設(shè)備,其中的第一半目標(biāo)圖象生成裝置包括選擇裝置,用于從其圖象數(shù)據(jù)存儲在第二存儲裝置中的多種第二圖象中選擇任何一種第二圖象,及用于從其第一圖象存儲在第一存儲裝置中的多種第一圖象中選擇任何一種第一部位圖象;第一生成裝置,用于將選中的第一與第二部位圖象組合成一個第一半目標(biāo)圖象;以及第三存儲裝置,用于存儲由該第一生成裝置生成的第一半目標(biāo)圖象數(shù)據(jù);該第二半目標(biāo)圖象生成裝置包括第二生成裝置,用于繞一個預(yù)定的位置將第一半目標(biāo)圖象生成裝置生成的第一半目標(biāo)圖象翻轉(zhuǎn),以復(fù)制一個與該第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及第四存儲裝置,用于存儲復(fù)制的第二半目標(biāo)圖象數(shù)據(jù);以及該目標(biāo)圖象生成裝置包括第三生成裝置,用于將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象;以及第五存儲裝置,用于存儲該完整的目標(biāo)圖象數(shù)據(jù)。
17.一種目標(biāo)圖象建立方法,包括一個第一步驟,從構(gòu)成半個目標(biāo)圖象的各部位的多種圖象中為各部位選擇一種圖象數(shù)據(jù),這一目標(biāo)圖象的數(shù)據(jù)是存儲著的;一個第二步驟,將多個部位的選中的圖象組合成一個第一半目標(biāo)圖象;一個第三步驟,在該第一半目標(biāo)圖象的基礎(chǔ)上生成一個與該第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象;以及一個第四步驟,將該第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象。
18.根據(jù)權(quán)利要求17的一種目標(biāo)圖象建立方法,還包括一個第五步驟,輸出該完整的目標(biāo)圖象。
19.根據(jù)權(quán)利要求17的一種目標(biāo)圖象建立方法,還包括一個第五步驟,改變在第四步驟中生成的完整的圖象的至少一個部位的位置與角度中的至少一種;以及將完整圖象的改變了位置與角度中的至少一種的至少一個部位與其余圖象組合成一個新的目標(biāo)圖象,并將其輸出。
20.一種目標(biāo)圖象存儲設(shè)備,用于與一種目標(biāo)圖象建立設(shè)備一起使用,在該建立設(shè)備中,構(gòu)成半個目標(biāo)圖象的部位的任何部位圖象是由選擇裝置選擇的,為各部位逐個地從多種部位圖象中選擇,并且所選擇的圖象是組合成一個目標(biāo)圖象的,該目標(biāo)圖象存儲設(shè)備包括第一存儲裝置,用于存儲構(gòu)成要由該目標(biāo)圖象建立設(shè)備生成的目標(biāo)圖象的兩半之一的各部位的多種圖象;第二存儲裝置,用于存儲由任何圖象的一種組合構(gòu)成的一個第一半目標(biāo)圖象的數(shù)據(jù),這些圖象是由選擇裝置從其數(shù)據(jù)存儲在該第一存儲裝置中的各部位的多種圖象中選擇的,及用于存儲形成在第一半目標(biāo)圖象的基礎(chǔ)上的、與該第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象的數(shù)據(jù),使這些第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象。
全文摘要
一種目標(biāo)圖象建立設(shè)備與方法,將構(gòu)成一個目標(biāo)的各部位的圖象組合成一個目標(biāo)圖象。一個存儲器存儲構(gòu)成一個目標(biāo)的兩半之一的各部位的多種圖象的數(shù)據(jù)。任何圖象都是逐個地從存儲的各部位的多種圖象中選擇的。將各部位選中的圖象組合成一個第一半目標(biāo)圖象。在第一半目標(biāo)圖象的基礎(chǔ)上生成一個與第一半目標(biāo)圖象對稱的第二半目標(biāo)圖象。將第一與第二半目標(biāo)圖象組合成一個完整的目標(biāo)圖象。
文檔編號G06T11/00GK1099543SQ9410720
公開日1995年3月1日 申請日期1994年6月7日 優(yōu)先權(quán)日1993年6月7日
發(fā)明者村田嘉行, 山口善登 申請人:卡西歐計算機(jī)公司