本發(fā)明屬于視頻流內(nèi)容識(shí)別技術(shù)領(lǐng)域,更具體地,涉及一種實(shí)時(shí)視頻流的分布式文字識(shí)別系統(tǒng)。
背景技術(shù):
近幾年隨著圖像識(shí)別技術(shù)的快速發(fā)展,對(duì)視頻中圖像內(nèi)容的識(shí)別需求也在不斷增加。在傳統(tǒng)的安防監(jiān)控視頻中,視頻中的人物圖像是識(shí)別的主要目標(biāo),而在桌面辦公系統(tǒng)和在線教育等關(guān)注文字信息的視頻中,識(shí)別的目標(biāo)就是視頻中的文字信息。為了達(dá)到實(shí)時(shí)獲取識(shí)別視頻中的文字信息的要求,需要對(duì)網(wǎng)絡(luò)中傳輸?shù)膶?shí)時(shí)視頻流進(jìn)行及時(shí)的識(shí)別處理。同時(shí)實(shí)際的使用環(huán)境中一般需要對(duì)多個(gè)視頻流同時(shí)進(jìn)行文字識(shí)別處理,所以又要解決多并發(fā)視頻流的實(shí)時(shí)文字識(shí)別處理的問(wèn)題。
ocr(opticalcharacterrecognition,光學(xué)字符識(shí)別)是對(duì)圖像信息進(jìn)行分析處理獲取文字信息的技術(shù)。ocr技術(shù)的應(yīng)用相對(duì)成熟,在國(guó)內(nèi)外的應(yīng)用領(lǐng)域非常廣泛,包括交通、金融、保險(xiǎn)、教育等。ocr技術(shù)在英文字符和數(shù)字上的識(shí)別的出錯(cuò)率很低,主要是因?yàn)橛⑽淖帜笖?shù)和數(shù)字總共只有36個(gè),而中文漢字的數(shù)量是數(shù)萬(wàn)個(gè),常用漢字也有數(shù)千個(gè),所以在識(shí)別的難度上要比英文和數(shù)字大很多。ocr的中文識(shí)別也經(jīng)歷了較長(zhǎng)時(shí)間的成長(zhǎng)變化,在各種新技術(shù)和方法下ocr的中文識(shí)別準(zhǔn)確率也在不斷提高。當(dāng)前主流的ocr技術(shù)都是基于機(jī)器學(xué)習(xí)或深度學(xué)習(xí)來(lái)實(shí)現(xiàn),其中g(shù)oogle的ocr開(kāi)源框架tesseract是一個(gè)典型代表。在英文和數(shù)字識(shí)別上,使用善于對(duì)英文和數(shù)字識(shí)別的tesseract;在中文識(shí)別上,則可以利用深度學(xué)習(xí)來(lái)實(shí)現(xiàn)。
在面對(duì)多并發(fā)的視頻處理時(shí),一般都是采用分布式系統(tǒng)方案來(lái)處理。分布式系統(tǒng)的一個(gè)很大特點(diǎn)是它具有很好的可擴(kuò)展性和容錯(cuò)性。在面對(duì)高并發(fā)和大數(shù)據(jù)處理時(shí),通常單臺(tái)服務(wù)器是無(wú)法對(duì)任務(wù)進(jìn)行及時(shí)處理。而在分布式系統(tǒng)下可以根據(jù)需要隨時(shí)新增適量服務(wù)器來(lái)實(shí)現(xiàn)任務(wù)的及時(shí)處理。分布式系統(tǒng)有多個(gè)種類(lèi),有分布式調(diào)度、分布式計(jì)算和分布式存儲(chǔ)。分布式計(jì)算是當(dāng)前使用最多的分布式系統(tǒng),mapreduce和spark框架是分布式計(jì)算下典型代表。在視頻文件的處理上,很多現(xiàn)有系統(tǒng)采用的是mapreduce框架。
基于mapreduce框架的視頻處理系統(tǒng)比較適合于對(duì)視頻文件的處理,和對(duì)視頻文件的處理不同的是,實(shí)時(shí)視頻流的處理具有很高的實(shí)時(shí)性要求,在視頻解碼上,一般的單線程解碼難以滿足實(shí)時(shí)視頻流解碼要求。對(duì)于實(shí)時(shí)視頻流的處理,不適合采用mapreduce框架。一方面是因?yàn)橐曨l流中視頻數(shù)據(jù)幀在解碼上具有依賴性。視頻壓縮后的幀分為三種:i幀、p幀和b幀。i幀是可以直接進(jìn)行解碼得到原始圖像數(shù),而p幀和b幀是需要依賴前后的i幀或p幀才能進(jìn)行解碼。要實(shí)現(xiàn)正確地解碼,一個(gè)有依賴關(guān)系的i幀、p幀和b幀最好是在同一個(gè)解碼處進(jìn)行解碼。另一方面,在幀率一定的實(shí)時(shí)視頻流下,視頻流處理端單位時(shí)間內(nèi)接收到的待處理視頻數(shù)據(jù)量并未超過(guò)其處理能力。對(duì)于視頻文件,單位時(shí)間內(nèi)可以讀取大量視頻數(shù)據(jù),對(duì)于超出機(jī)器自身處理能力的視頻數(shù)據(jù)可以分發(fā)到其他機(jī)器進(jìn)行處理;而實(shí)時(shí)視頻流不同,因?yàn)橐曨l幀率一定,單位時(shí)間內(nèi)能夠從網(wǎng)絡(luò)上讀取的視頻數(shù)據(jù)量一般不會(huì)超過(guò)機(jī)器自身的處理能力。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種實(shí)時(shí)視頻流的分布式文字識(shí)別系統(tǒng),其目的在于對(duì)視頻流進(jìn)行多線程解碼的同時(shí)采用分布式任務(wù)調(diào)度框架調(diào)度對(duì)解碼圖像的文字識(shí)別處理,由此解決多并發(fā)實(shí)時(shí)視頻流的文字識(shí)別問(wèn)題。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種實(shí)時(shí)視頻流的分布式文字識(shí)別系統(tǒng),所述系統(tǒng)包括:
視頻流管理模塊,用于管理視頻流處理任務(wù)的開(kāi)啟或關(guān)閉,視頻流處理任務(wù)開(kāi)啟時(shí)向任務(wù)調(diào)度模塊提交視頻流處理任務(wù)的開(kāi)啟請(qǐng)求和視頻流地址;視頻流處理任務(wù)關(guān)閉時(shí)向任務(wù)調(diào)度模塊提交視頻流處理任務(wù)的關(guān)閉請(qǐng)求;
任務(wù)調(diào)度模塊,用于儲(chǔ)存視頻流地址和圖像數(shù)據(jù),收到視頻流處理任務(wù)的開(kāi)啟請(qǐng)求后調(diào)度一個(gè)空閑的視頻流解碼模塊執(zhí)行視頻解碼任務(wù);收到圖像數(shù)據(jù)的文字識(shí)別請(qǐng)求后調(diào)度一個(gè)空閑的文字識(shí)別模塊執(zhí)行文字識(shí)別任務(wù);收視頻流處理任務(wù)的關(guān)閉請(qǐng)求后刪除儲(chǔ)存的視頻流地址;
視頻流解碼模塊,用于收到任
務(wù)調(diào)度模塊的視頻解碼任務(wù)后從任務(wù)調(diào)度模塊中讀取視頻流地址,獲取視頻數(shù)據(jù)并進(jìn)行解碼處理,解碼得到的圖像數(shù)據(jù)存入任務(wù)調(diào)度模塊并向任務(wù)調(diào)度模塊提交該圖像的文字識(shí)別請(qǐng)求;同時(shí)視頻解碼模塊每隔一段時(shí)間向任務(wù)調(diào)度模塊查詢其處理的視頻流地址是否已被刪除,若被刪除則停止視頻流的解碼處理,否則繼續(xù)執(zhí)行解碼操作;
文字識(shí)別模塊,用于收到任務(wù)調(diào)度模塊的文字識(shí)別任務(wù)后從任務(wù)調(diào)度模塊中讀取圖像數(shù)據(jù)進(jìn)行文字識(shí)別,識(shí)別完成后從任務(wù)調(diào)度模塊中刪除已識(shí)別的圖像數(shù)據(jù)。
進(jìn)一步地,所述任務(wù)調(diào)度模塊包括:
緩存單元,用于儲(chǔ)存視頻流地址和圖像數(shù)據(jù);
分布式任務(wù)調(diào)度服務(wù)器單元,收到視頻流處理任務(wù)的開(kāi)啟請(qǐng)求后調(diào)度一個(gè)空閑的視頻流解碼模塊執(zhí)行視頻解碼任務(wù);收到圖像數(shù)據(jù)的文字識(shí)別請(qǐng)求后調(diào)度一個(gè)空閑的文字識(shí)別模塊執(zhí)行文字識(shí)別任務(wù);收視頻流處理任務(wù)的關(guān)閉請(qǐng)求后刪除緩存單元中儲(chǔ)存的視頻流地址。
進(jìn)一步地,所述視頻流管理模塊包括:
視頻流處理任務(wù)的開(kāi)啟單元,用于分布式任務(wù)調(diào)度服務(wù)器單元提交視頻流處理任務(wù)的開(kāi)啟請(qǐng)求,并將視頻流地址發(fā)送至緩存單元儲(chǔ)存;
視頻流處理任務(wù)的關(guān)閉單元,用于視頻流處理任務(wù)關(guān)閉時(shí)向分布式任務(wù)調(diào)度服務(wù)器單元提交視頻流處理任務(wù)的關(guān)閉請(qǐng)求。
進(jìn)一步地,所述視頻流解碼模塊包括:
停止解碼單元,用于按設(shè)定的時(shí)間間隔查詢緩存單元正在使用的視頻流地址是否被刪除,若刪除則停止視頻流讀取和解碼單元的視頻解碼任務(wù);否則不做處理;
視頻流讀取和解碼單元,用于接收分布式任務(wù)調(diào)度服務(wù)器單元的調(diào)度讀取緩存單元中的視頻流地址執(zhí)行視頻解碼任務(wù),得到解碼圖像,并將解碼圖像傳給圖像識(shí)別請(qǐng)求單元;
圖像識(shí)別請(qǐng)求單元,用于提取解碼圖像的灰度圖像數(shù)據(jù)存入緩存單元中并向分布式任務(wù)調(diào)度服務(wù)器單元發(fā)送圖像數(shù)據(jù)的文字識(shí)別請(qǐng)求。
進(jìn)一步地,所述文字識(shí)別模塊包括:
待識(shí)別圖像讀取單元,用于接受分布式任務(wù)調(diào)度服務(wù)器單元發(fā)送的文字識(shí)別請(qǐng)求,從緩存單元讀取圖像數(shù)據(jù)并發(fā)送至圖像字符識(shí)別單元;
字符識(shí)別單元,用于判斷圖像數(shù)據(jù)是否需要進(jìn)行文字識(shí)別處理,若需要?jiǎng)t對(duì)圖像數(shù)據(jù)進(jìn)行文字識(shí)別并將獲得的文字識(shí)別結(jié)果發(fā)送至后處理單元;
后處理單元,用于接受文字識(shí)別結(jié)果,并刪除緩存單元中字符識(shí)別單元處理過(guò)的圖像數(shù)據(jù)。
總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)特征及有益效果:
(1)本發(fā)明中使用者可以通過(guò)視頻流地址把實(shí)時(shí)視頻流接入到系統(tǒng)中進(jìn)行解碼和文字識(shí)別處理,同時(shí)采用分布式任務(wù)調(diào)度框架可以實(shí)現(xiàn)多并發(fā)實(shí)時(shí)視頻流的處理。
(2)解碼和識(shí)別模塊的分離不但使得系統(tǒng)具有很好的適應(yīng)性,在不同需求下只需對(duì)識(shí)別模塊進(jìn)行相應(yīng)修改就可以實(shí)現(xiàn)視頻流的處理,而且還可以通過(guò)一個(gè)解碼模塊對(duì)應(yīng)多個(gè)文字識(shí)別模塊來(lái)解決視頻流的解碼和文字識(shí)別在速度上的不匹配問(wèn)題。
(3)整個(gè)系統(tǒng)是基于分布式任務(wù)調(diào)度框架實(shí)現(xiàn)的分布式系統(tǒng);具有擴(kuò)展性,可以隨時(shí)向系統(tǒng)添加解碼或文字識(shí)別模塊;具有容錯(cuò)性,當(dāng)解碼或識(shí)別模塊處理發(fā)生異常時(shí)會(huì)系統(tǒng)會(huì)把任務(wù)重新發(fā)送到可用的解碼或識(shí)別模塊繼續(xù)處理。
附圖說(shuō)明
圖1是本發(fā)明系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明系統(tǒng)的整體工作流程圖;
圖3是本發(fā)明系統(tǒng)實(shí)施例的布局示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
如圖1所示,本發(fā)明系統(tǒng)包括視頻流管理模塊100、視頻流解碼模塊200、文字識(shí)別模塊300和任務(wù)調(diào)度模塊400,下面對(duì)各部分作進(jìn)一步詳細(xì)的說(shuō)明:
任務(wù)調(diào)度模塊400用于調(diào)度視頻流解碼模塊200執(zhí)行視頻解碼任務(wù)和文字識(shí)別模塊300執(zhí)行文字識(shí)別任務(wù),同時(shí)用于傳遞停止視頻流處理信號(hào)、視頻流地址數(shù)據(jù)和待進(jìn)行文字識(shí)別的圖像數(shù)據(jù)。
任務(wù)調(diào)度模塊400包括緩存單元401和分布式任務(wù)調(diào)度服務(wù)器單元402:
緩存單元401用于存儲(chǔ)視視頻流地址和視頻流解碼模塊200解碼得到的圖像數(shù)據(jù)。
分布式任務(wù)調(diào)度服務(wù)器單元402用于調(diào)度視頻流解碼模塊200執(zhí)行視頻流的解碼任務(wù)和文字識(shí)別模塊300對(duì)視頻流解碼模塊200解碼后的圖像數(shù)據(jù)執(zhí)行文字識(shí)別任務(wù)。分布式任務(wù)調(diào)度服務(wù)器單元402若接收視頻流管理模塊100發(fā)送的開(kāi)啟視頻流文字識(shí)別處理請(qǐng)求,則調(diào)度視頻流解碼模塊200執(zhí)行視頻流解碼任務(wù);分布式任務(wù)調(diào)度服務(wù)器單元402若接收視頻流解碼模塊200發(fā)送的對(duì)視頻流解碼模塊200解碼得到的圖像進(jìn)行文字識(shí)別的請(qǐng)求,則調(diào)度文字識(shí)別模塊300執(zhí)行文字識(shí)別任務(wù)。
視頻流管理模塊100用于開(kāi)啟或關(guān)閉一個(gè)視頻流文字識(shí)別任務(wù)的執(zhí)行,具體地說(shuō)是通過(guò)控制視頻流解碼模塊200來(lái)實(shí)現(xiàn)對(duì)整個(gè)視頻流文字識(shí)別任務(wù)啟動(dòng)和關(guān)閉。本發(fā)明的視頻流管理模塊100包括視頻流處理任務(wù)的開(kāi)啟單元101和視頻流處理任務(wù)的關(guān)閉單元102。
視頻流處理任務(wù)的開(kāi)啟單元101用于開(kāi)啟一個(gè)視頻流文字識(shí)別任務(wù)的執(zhí)行。開(kāi)啟時(shí)向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送一個(gè)視頻流解碼任務(wù)請(qǐng)求,請(qǐng)求中攜帶了一個(gè)視頻流地址,分布式任務(wù)調(diào)度服務(wù)器單元402接收到視頻流解碼任務(wù)的請(qǐng)求和攜帶的視頻流地址后使用接收到的視頻流地址調(diào)度一個(gè)空閑可用的視頻流解碼模塊200去執(zhí)行視頻流地址對(duì)應(yīng)的視頻流的解碼任務(wù);同時(shí)向緩存單元401中存儲(chǔ)該視頻流地址作為視頻流文字識(shí)別處理任務(wù)的開(kāi)啟信號(hào)。
視頻流處理任務(wù)的關(guān)閉單元102用于關(guān)閉一個(gè)正在進(jìn)行視頻流文字識(shí)別處理任務(wù)的執(zhí)行。視頻流處理任務(wù)的關(guān)閉單元102從緩存單元401中刪除要關(guān)閉的視頻流地址,視頻流解碼模塊200在檢測(cè)到緩存單元401中無(wú)當(dāng)前視頻流解碼模塊200所進(jìn)行解碼的視頻流對(duì)應(yīng)的視頻流地址后停止當(dāng)前視頻流解碼任務(wù)的執(zhí)行,實(shí)現(xiàn)該視頻流的文字識(shí)別任務(wù)的停止。
視頻流解碼模塊200是在接收到分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送的視頻流地址和視頻流解碼任務(wù)后執(zhí)行從分布式任務(wù)調(diào)度服務(wù)器單元402接收的視頻流地址對(duì)應(yīng)的視頻流解碼任務(wù),每次解碼得到一個(gè)圖像后都會(huì)向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送一個(gè)對(duì)解碼得到圖像的文字識(shí)別處理請(qǐng)求,同時(shí)每隔一段時(shí)間檢查緩存單元401中當(dāng)前視頻流解碼模塊進(jìn)行解碼的視頻流對(duì)應(yīng)的視頻流地址是否存在來(lái)確定是否繼續(xù)執(zhí)行視頻流的解碼任務(wù)。本發(fā)明的視頻流解碼模塊200包括停止解碼單元201、視頻流讀取和解碼單元202和圖像識(shí)別請(qǐng)求單元203。
停止解碼單元201每隔一段時(shí)間從緩存單元401中查詢當(dāng)前正在視頻流解碼模塊200上進(jìn)行解碼的視頻流地址是否存在,如果存在則當(dāng)前視頻流解碼模塊200繼續(xù)執(zhí)行解碼任務(wù),否則結(jié)束當(dāng)前視頻流解碼模塊200所進(jìn)行的視頻流解碼任務(wù)的執(zhí)行。
視頻流讀取和解碼單元202在接收到分布式任務(wù)調(diào)度服務(wù)器單元402調(diào)度執(zhí)行的視頻流解碼任務(wù)和對(duì)應(yīng)的視頻流地址后進(jìn)行視頻流的解碼。與一般視頻文件的解碼不同的是對(duì)視頻流進(jìn)行解碼具有很高的實(shí)時(shí)性要求;如果視頻流的解碼速度比網(wǎng)絡(luò)上視頻數(shù)據(jù)的傳輸速度慢就會(huì)造成視頻幀丟失,由于視頻幀之間在解碼時(shí)具有前后依賴關(guān)系,會(huì)影響后續(xù)視頻幀的解碼得到的圖像質(zhì)量從而影響圖像的文字識(shí)別效果。在視頻流讀取和解碼單元202中采用了多線程流水線技術(shù)避免視頻幀丟失并實(shí)現(xiàn)視頻流的實(shí)時(shí)處理:
多線程流水線技術(shù)解碼的具體實(shí)現(xiàn)是:
1)從視頻流中讀取視頻幀線程reader;
2)對(duì)讀取的視頻幀進(jìn)行解碼線程decoder;
3)對(duì)解碼后得到的解碼數(shù)據(jù)進(jìn)行后處理線程postprocesser。reader線程從網(wǎng)絡(luò)中讀取傳輸過(guò)來(lái)的視頻數(shù)據(jù),把讀取的視頻數(shù)據(jù)包放入一個(gè)packet_queue的隊(duì)列中;decoder線程從packet_queue隊(duì)列中依次讀取視頻數(shù)據(jù)包,對(duì)讀取的視頻數(shù)據(jù)包進(jìn)行解碼得到解碼數(shù)據(jù),把得到的解碼數(shù)據(jù)放入到一個(gè)frame_queue的隊(duì)列中;postprocesser線程從frame_queue中獲取解碼數(shù)據(jù),分離解碼數(shù)據(jù)中的灰度圖像數(shù)據(jù),并把灰度圖像數(shù)據(jù)信息發(fā)送給圖像識(shí)別請(qǐng)求單元203。
圖像識(shí)別請(qǐng)求單元203把接收到灰度圖像數(shù)據(jù)信息存入緩存單元401并向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送接收到的灰度圖像的文字識(shí)別請(qǐng)求。其中向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送的請(qǐng)求中攜帶的參數(shù)是可以從緩存單元401中獲取存入的灰度圖像數(shù)據(jù)對(duì)應(yīng)的鍵。文字識(shí)別模塊300通過(guò)該鍵從緩存單元401中獲取對(duì)應(yīng)的灰度圖像數(shù)據(jù)來(lái)進(jìn)行文字識(shí)別處理。
文字識(shí)別模塊300在接收到分布式任務(wù)調(diào)度服務(wù)器單元402調(diào)度執(zhí)行的文字識(shí)別任務(wù)后從緩存單元401中讀取對(duì)應(yīng)的灰度圖像進(jìn)行文字識(shí)別處理,最后對(duì)識(shí)別結(jié)果進(jìn)行保存等后處理。本發(fā)明的文字識(shí)別模塊300包括待識(shí)別圖像讀取單元301、圖像字符識(shí)別單元302和后處理單元303。
待識(shí)別圖像讀取單元301是在接收到分布式任務(wù)調(diào)度服務(wù)器單元402調(diào)度的文字識(shí)別任務(wù)和用于從緩存單元401中獲取灰度圖像數(shù)據(jù)的鍵后,從緩存單元401中讀取鍵所對(duì)應(yīng)的灰度圖像數(shù)據(jù)發(fā)送到圖像字符識(shí)別單元302。
圖像字符識(shí)別單元302是對(duì)待識(shí)別圖像讀取單元301發(fā)送過(guò)來(lái)的灰度圖像進(jìn)行文字識(shí)別。在識(shí)別前先對(duì)灰度圖像進(jìn)行是否要進(jìn)行識(shí)別的判斷,如果圖像不屬于待識(shí)別圖像的范圍則直接丟棄圖像,否則對(duì)灰度圖像進(jìn)行相關(guān)的文字識(shí)別處理。把文字識(shí)別處理結(jié)果發(fā)送給后處理單元303。
后處理單元303在接收到圖像字符識(shí)別單元302發(fā)送的文字識(shí)別結(jié)果后對(duì)識(shí)別結(jié)果進(jìn)行保存等處理,同時(shí)刪除緩存單元401中已識(shí)別完成的灰度圖像數(shù)據(jù)信息。
如圖2所示,本發(fā)明流程為:視頻流處理任務(wù)的開(kāi)啟單元101向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送視頻流的處理請(qǐng)求并把視頻流地址寫(xiě)入緩存單元401,分布式任務(wù)調(diào)度服務(wù)器單元402收到視頻流處理請(qǐng)求后調(diào)度一個(gè)視頻流解碼模塊200去執(zhí)行視頻流的解碼任務(wù),視頻流的讀取和解碼單元202對(duì)視頻流進(jìn)行解碼處理,得到一張圖像后通過(guò)圖像識(shí)別請(qǐng)求單元203保存圖像至緩存單元401并向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送圖像的文字識(shí)別請(qǐng)求。分布式任務(wù)調(diào)度服務(wù)器單元402收到文字識(shí)別請(qǐng)求后調(diào)度一個(gè)文字識(shí)別模塊300進(jìn)行圖像的文字識(shí)別處理,待識(shí)別圖像讀取單元301從緩存單元401中讀取圖片數(shù)據(jù)后,字符識(shí)別單元302對(duì)圖像進(jìn)行文字識(shí)別,后處理單元303對(duì)識(shí)別后的文字信息進(jìn)行保存等處理。停止解碼單元201檢測(cè)是否有停止解碼處理的信號(hào)。如果有則結(jié)束當(dāng)前解碼任務(wù)的執(zhí)行,在視頻流的解碼停止后,文字識(shí)別模塊也不會(huì)收到對(duì)應(yīng)視頻流的圖像文字識(shí)別處理請(qǐng)求,從而實(shí)現(xiàn)整個(gè)視頻流處理任務(wù)的結(jié)束;否則重復(fù)執(zhí)行視頻流的解碼和圖像的文字識(shí)別處理。
圖3是本發(fā)明的系統(tǒng)實(shí)施示意圖。視頻流解碼和文字識(shí)別都是使用了多服務(wù)器集群,這些服務(wù)器都可用通過(guò)分布式任務(wù)調(diào)度服務(wù)器單元402進(jìn)行調(diào)度去執(zhí)行相應(yīng)視頻流解碼或文字識(shí)別任務(wù)。緩存單元401服務(wù)器是作為解碼后的圖像數(shù)據(jù)傳遞給文字識(shí)別服務(wù)器的緩存使用和關(guān)閉視頻流解碼信號(hào)的傳遞池。客戶端用于管理視頻流,向分布式任務(wù)調(diào)度服務(wù)器單元402發(fā)送視頻流解碼請(qǐng)求或向緩存單元401傳送關(guān)閉視頻流解碼處理信號(hào)。
為了本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。