You are on page 1of 231

UNIVERSIDAD DE SEVILLA

ESCUELA TCNICA SUPERIOR DE INGENIEROS



INGENIERA DE TELECOMUNICACIN
Departamento de Ingeniera Electrnica
Teora de la Seal y Comunicaciones








DETECCIN AUTOMTICA
MULTICANAL DE ANUNCIOS
EN TV EN TIEMPO REAL






AUTOR Enrique Robles Rodrguez
TUTOR Jos Ramn Cerquides Bueno









AGRADECIMIENTOS
ndice 4
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
NDICE
CAPITULO 1. Introducc|n ..................................................................................... 8
1 PL5UL1ALO5 ............................................................................................. 12
CAPITULO 2. Lstado de| arte ............................................................................... 15
1 5oltwore de reconocimiento outomtico de onuncios ................................... 19
1.1 AULlCOV ............................................................................................ 19
1.2 5l.PL.N.A. ........................................................................................... 21
2 5lO1 ........................................................................................................ 24
2.1 Lescripcion del sistemo ....................................................................... 24
2.2 luncionolidod ...................................................................................... 27
CAPITULO 3. Lstud|o de| metodo de detecc|n ................................................... 29
1 lundomentos teoricos .................................................................................. 31
1.1 5istemo lAL ........................................................................................ 31
1.2 5enoles POB ....................................................................................... 32
1.3 lormoto del llxel ................................................................................. 3S
2 Lescripcion del sistemo ............................................................................... 41
2.1 Liogromo de llujo del sistemo .............................................................. 46
2.1.1 Aprendizoje .................................................................................... 49
2.1.2 Leteccion ....................................................................................... S1
2.1.3 Algoritmo de deteccion de onuncios ............................................... S4
3 Vetodo de deteccion .................................................................................... SS
3.1 5istemo de comporocion ...................................................................... S7
3.2 lotrones de secuencio de vldeo .......................................................... 6S
3.2.1 Vetodo 1. Lilerencio de imgenes ................................................. 69
3.2.1.1 Lesorrollo ............................................................................ 69
3.2.1.2 Conclusiones ....................................................................... 79
3.2.2 Vetodo 2. Lilerencio y Livision en un vector .................................8O
ndice S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.2.2.1 Lesorrollo ............................................................................8O
3.2.2.2 Conclusiones ....................................................................... 83
3.2.3 Vetodo 3. Lilerencio y 5eporocion................................................. 84
3.2.3.1 Lesorrollo ............................................................................ 84
3.2.3.2 Conclusiones ....................................................................... 86
3.2.4 Vetodo 4. Lilerencio y Livision en uno motriz................................ 87
3.2.4.1 Lesorrollo ............................................................................ 87
3.2.4.2 Conclusiones ....................................................................... 88
3.2.S Vetodo S. Lilerencio, Livision y 5eporocion .................................. 89
3.2.S.1 Lesorrollo ............................................................................ 89
3.2.S.2 Conclusiones ....................................................................... 92
3.2.6 Vetodo 6. Livision ......................................................................... 93
3.2.6.1 Lesorrollo ............................................................................ 93
3.2.6.2 Conclusiones ....................................................................... 97
3.3 Vetodo de Livision de imgenes ......................................................... 98
3.3.1 lntroduccion.................................................................................... 98
3.3.2 Lesorrollo ..................................................................................... 1O2
3.3.3 Conclusiones ................................................................................. 119
CAPITULO 4. Desarro||o sottware de |a ap||cac|n ............................................ 121
1 Arquitecturo hordwore ................................................................................ 123
2 Arquitecturo soltwore ................................................................................. 12S
2.1 lrogromocion Orientodo o Objetos .................................................... 126
2.2 Oestion de eventos ............................................................................ 13O
2.3 LirectX 133
2.3.1 Lirect5how ................................................................................... 136
2.4 Lenguoje de progromocion ................................................................. 14O
3 lrogromocion de 5lO1 ............................................................................. 143
3.1 Lmpezondo o progromor ................................................................... 143
3.2 Combios en lo interloz de usuorio ...................................................... 146
ndice 6
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.3 Combios en el modulo de deteccion .................................................. 1SS
3.3.1 Aprendizoje y deteccion ................................................................ 161
3.3.2 Correlocion ................................................................................... 163
3.4 Combios en el cuodro de dilogo lichos ........................................... 16S
3.S lndependencio de ruto ....................................................................... 167
3.6 Venu de lo oplicocion ........................................................................ 17O
3.6.1 Venu Archivo ................................................................................ 171
3.6.1.1 Abrir... ............................................................................... 172
3.6.1.2 Cerror ................................................................................ 173
3.6.1.3 lichos, 5olvor y 5olir ......................................................... 173
3.6.2 Venu Conoles .............................................................................. 174
3.6.2.1 Listo de Conoles ................................................................ 17S
3.6.2.2 Vemorio Arribo y Vemorio Abojo ....................................... 178
3.6.3 Venu Peproducir .......................................................................... 18O
3.6.4 Venu Leteccion ............................................................................ 181
3.6.S Venu Conligurocion ..................................................................... 182
3.6.S.1 Conligurocion Actuol .......................................................... 184
3.6.S.2 Livisiones lmogen ............................................................. 186
3.6.S.3 1iempo de Leteccion ......................................................... 188
3.6.S.4 Umbrol .............................................................................. 19O
3.6.6 Venu Acerco de... ......................................................................... 191
CAPITULO 5. Resu|tados exper|menta|es .......................................................... 193
1 Corgo computocionol del sistemo............................................................... 193
2 5imulociones ............................................................................................. 2O1
2.1 5imulociones poro optimizor lo oplicocion .......................................... 2O1
2.1.1 Conclusiones ............................................................................... 2O7
2.2 5imulociones poro probor lo deteccion ............................................... 2O9
2.2.1 Leteccion correcto ....................................................................... 21O
2.2.2 lolsos detecciones ....................................................................... 213
ndice 7
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPITULO 6. Conc|us|ones y ||neas tuturas de |nvest|gac|n ........................... 216
Ind|ce de t|guras ................................................................................................. 223
B|b||ograt|a .......................................................................................................... 227
lntroduccion 8
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPTULO 1
INTRODUCCIN
Lo television es uno de los inventos ms importontes del siglo XX que cobro
codo vez ms repercusion en lo vido de lo poblocion. Ls el medio de comunicocion
que ms inlluye en lo vido de los ciudodonos, yo que ms del 9O7 de los hogores
de los polses desorrollodos tiene un televisor. Lo gron dilusion que tiene por todo el
mundo y lo ingente contidod de telespectodores que lo poseen, hocen de lo
television el medio publicitario por excelencia. Los anuncios o spots publicitarios
son pequeas pelculas que permiten que la audiencia aprenda ms acerca del
producto/servicio, el anunciante y el mensaje, porque el consumidor se
involucra de manera ms personal.
En este sentido, ningn medio tiene un potencial ms grande para crear
una impresin en la mente del consumidor que la televisin. Al combinar
imgenes en movimiento, voces y una actuacin convincente, la televisin tiene
capacidad de dirigir toda la gama de las emociones humanas.
Para los anunciantes que compran tiempo en televisin, la hora del da y
la programacin que se emite son aspectos obvios de su inters. El horario y
los programas afectan la audiencia probable y, como resultado, la tarifa que se
cobra por el tiempo en televisin. Estas tarifas son bastante altas, lo que
desemboca en una necesidad de los anunciantes de comprobar el
cumplimiento de sus contratos con las emisoras de TV. Lo deteccion y el
reconocimiento precisos de onuncios de 1v es por tonto, octuolmente, uno
necesidod poro los onunciontes. Ll reconocimiento de onuncios de 1v por
lntroduccion 9
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
computodor es un omplio compo de investigocion y desorrollo en el reo de lo vision
por computodor.
Ln esto se ho trobojodo en el presente proyecto: en un sistemo copoz de
detector y reconocer en tiempo reol lo emision de onuncios de 1v conocidos.
Algunos dotos de interes, como lo horo de emision y el conol de emision, son
outomticomente puestos o disposicion de los onunciontes.
Ll objetivo principol de este proyecto es lo reolizocion de uno herromiento
soltwore llomodo 5lO1 que permito lo deteccion outomtico multiconol de onuncios
en 1v en tiempo reol. 5lO1 viene o oyudor en eso toreo de deteccion de onuncios.
Anteriormente o este proyecto existlo yo uno version de esto oplicocion, que
tombien permitlo lo identilicocion de onuncios de television en tiempo reol, pero que
no ero multiconol. Ln el presente proyecto se trobojor sobre esto oplicocion, con el
objetivo lundomentol de poder hocer que detecte onuncios de vorios conoles de
lormo simultneo. 1ombien se trobojor sobre otros ospectos del progromo, tonto de
progromocion como de luncionolidod, que veremos en los siguientes copltulos.
Uno de los principoles problemos que se olronto en este trobojo consiste en
creor uno representocion compocto y opropiodo poro olmocenor potrones de
secuencios de vldeo digitol de lormo que puedon ser posteriormente reconocidos en
lntroduccion 1O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
un vldeo dodo. lobr que ideor y trobojor sobre un nuevo olgoritmo de deteccion
que nos permito reolizor detecciones en vorios conoles simultneomente.
loro el cumplimiento de estos objetivos y el correcto luncionomiento de
lormo electivo, el progromo debe cumplir uno serie de corocterlsticos:
Rap|dez. Ls necesorio que lo oplicocion soltwore seo lo ms rpido
posible, optimizondo lo relocion soltwore7hordwore poro no requerir de
uno plotolormo hordwore de especiol velocidod y no encorecer con ello el
producto linol. Yo hemos dicho que el progromo debe poder trobojor en
tiempo reol y por ello lo busquedo de lo optimizocion del codigo y el
estudio de los tiempos de durocion de codo uno de los procesos de lo
oplicocion, hon sido uno constonte en lo lose del desorrollo soltwore del
progromo.
Robustez. Ll progromo debe ser robusto y luncionol en distintos sistemos
operotivos de Windows. Lebe ser estoble, sin bugs o errores que
provoquen que el progromo luncione de lormo oleotorio y deliciente.
Automat|zac|n. Lo herromiento debe luncionor de lormo outomtico sin
necesidod de supervision duronte el proceso de deteccion solvo en el
coso de querer linolizor dicho proceso y grobor los resultodos que se
pudieron hober generodo.
lntroduccion 11
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
5enc|||ez. Ll producto linol debe ser sencillo en su monejo, buscondo
siempre lo cloridod en su interloz. Ll usuorio no debe tener conocimientos
previos de progromocion poro poder usorlo sin problemos. El programa
debe contar con una interfaz agradable e intuitiva, de forma que el
usuario pueda acceder fcilmente a todas sus herramientas y
funcionalidades.
Amp||ab|||dad. 1ombien tiene importoncio que el progromo seo omplioble,
poro que un luturo progromodor puedo omplior los objetivos o mejoror los
tecnicos de lo herromiento soltwore.
F|ex|b|||dad. Ll producto linol debe poseer uno estructuro interno que
permito lo conligurocion y personolizocion de lo oplicocion por porte del
usuorio, odoptoble o los dilerentes criterios que este considere oportuno.
F|ab|||dad. loro que el producto tengo prestigio debe ser lioble en lo
deteccion de onuncios, minimizondo lo toso de error tros un proceso de
estudio y comprobocion de lo oplicocion. Ln un principio este progromo no
pretende ser uno oplicocion comerciol, sino que en el se sienton los boses
de como reolizor el trotomiento de lo imogen de lormo riguroso, ol iguol
que se hoce en los oplicociones comercioles. Aun osl el progromo est
orientodo o los empresos onunciontes, por lo que desde este punto de
visto, hobr que reolizor uno oplicocion lo ms lioble posible. 5i no luero
osl el progromo no cumplirlo con su mision y no tendrlo rozon de ser.
lntroduccion 12
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
RESULTADOS
Ll progromo obtenido es uno oplicocion que permite visuolizor lo television y
vldeos y grobor onuncios en lo bose de dotos que podrn ser detectodos tonto en
un vldeo como en lo television. 5e cumple uno de los objetivos primordioles del
proyecto, que es lo deteccion multiconol y su electividod es prcticomente del
1OO7.
Lo interloz olrecido ol usuorio es muy sencillo; se troto de uno serie de
botones, uno pontollo de reproduccion y un menu. Vedionte su uso, el usuorio
puede occeder comodomente o todos los luncionolidodes del progromo, tonto ol
guordodo de onuncios como o lo deteccion, osl como o lo grobocion de resultodos y
otros muchos opciones que se hon onodido en esto nuevo version.
lntroduccion 13
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 1. InIerIa2 ue Ia apIcacon 5FCT
Ll empeno en conseguir lo moyor ropidez posible del olgoritmo de deteccion
y osl el progromo pudiese trobojor en tiempo reol, hizo que nos decontsemos, por
locilidod y potencio, por lo progromocion en el entorno de VIsuaI SIuuIo 6.O, con
lenguoje de progromocion VIsuaI C--. loro lo reproduccion de orchivos multimedio,
osl como de lo reproduccion de lo television, se ho utilizodo lo ultimo version de
DIiecIX, que es un conjunto de interloces de progromocion de oplicociones (Alls)
que nos locilito lo comunicocion con lo torjeto de 1v, lo reproduccion multimedio y lo
copturo de lotogromos.
lntroduccion 14
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ll desorrollo teorico del metodo de deteccion se explicor en el Copltulo 3 y
lo implementocion soltwore ser objeto del Copltulo 4. Ln ellos nos extenderemos y
veremos con todo detolle los posos y el trobojo que se ho seguido poro lo
linolizocion de este progromo.









Lstodo del Arte 1S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPTULO 2
ESTADO DEL ARTE
Lo deteccion outomtico de los momentos de emision de onuncios en los
televisiones, es un temo con diversos oplicociones prcticos. lor ejemplo, desde el
punto de visto del espectodor normol, un sistemo outomtico de deteccion de
onuncios puede evitorle el gosto de cinto de vldeo (o espocio de LvL o disco duro)
en los grobociones coseros. Adems, podrlo usorse poro hocer zappIng sin riesgo o
perderse el progromo que se est viendo, yo que podrlo recibirse un mensoje
indicondo que los onuncios de lo codeno que se estobo visionondo hon ocobodo.
Los instituciones publicos tombien pueden beneliciorse de esto, poro comprobor, por
ejemplo, si los emisoros de television no exceden los llmites legoles en lo relerente
o tiempo de emision de onuncios.
Algunos trobojos previos reolizodos por Y. Li y C.-C. Joy Kuo [1] o por L. A.
5odlier [2] que hon estudiodo lo deteccion de onuncios, se hon bosodo en el hecho
de que muchos codenos uson lromes completomente negros y uno simultneo
voriocion del volumen del oudio en lo emision entre onuncios. Otros trobojos como
el de Lienhort [3] proponen oislor y extroer bloques de onuncios de emisiones de
1v, detectondo un conjunto de corocterlsticos del vldeo comunes o todos los
bloques de onuncios. Lste onlisis se consigue hocer tonto en el dominio
Lstodo del Arte 16
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
comprimido [2] como en el no comprimido [1]. Ln otros trobojos encontromos que
se pueden oyudor, odems, de los leyes del pols desde el que se reolice lo emision
de television, poro poder delimitor los bloques de onuncios.
Otro tipo de trobojos se boson principolmente en el uso de lo conocido
mosca ue Ia IeIe por porte de los codenos de television [4]. Lo moyorlo de los
codenos de television, tienen o bien emitir, junto con los progromos, un logotipo
identilicotivo de lo codeno en cuestion (lo mosca). Y lo emision de este logotipo
quedo suprimido en el momento en que los comercioles empiezon o emitirse. 5er
pues esto mosco lo que se utilizo, en estos trobojos, poro ovisor cundo se esten
emitiendo los onuncios. loy vorios tecnicos desorrollodos poro esto metodologlo de
deteccion outomtico de onuncios. Lo primero se centro en el coso porticulor en que
los logotipos emitidos seon opocos. Lo segundo extiende esto primero o emisoros
cuyos logotipos seon semitronsporentes.
Lstos grupos de investigocion estn centrodos en eliminor los onuncios, de
lormo que el espectodor no tengo que verlos en los grobociones que reolizo. No
necesiton conocer lo identidod de codo onuncio sino si se troto de un onuncio o no.
lretenden, pues, discernir los segmentos comercioles de los que no lo son.
Otros grupos de investigocion estn centrodos, sin emborgo, en lo deteccion
y reconocimiento de onuncios en television porticulores. 5us trobojos estn
Lstodo del Arte 17
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
encominodos en lo deteccion de un determinodo onuncio, junto con los lechos y
horos de lo copturo. Lsto dorlo lo inlormocion necesorio o los componlos
onunciontes, poro verilicor si el controto de emision de sus spoIs se cumple, tonto
en lo contidod de onuncios como en lo lronjo hororio controtodo. Lste comino de
trobojo es el que se sigue en el presente proyecto.
Lntre estos grupos Lienhort [3], en el mismo ortlculo implemento tombien
uno oproximocion bosodo en el reconocimiento poro detector onuncios individuoles
luero de bloques de onuncios usondo un olgoritmo de correspondencio de
subcodenos. Ln [S], Colombo eI aI. colculon uno serie de medidos semnticos de
los secuencios de vldeo, en el coso porticulor de los onuncios, o portir de un
conjunto de corocterlsticos perceptivos, con el objetivo de corocterizor codo onuncio
y de esto monero permitir lo recuperocion bosodo en el contenido de uno bose de
dotos de vldeo.
Lstos metodologlos se boson en lo segmentocion de lo secuencio de vldeo
en plonos. Algunos outores hon desorrollodo diversos tecnicos, lo moyorlo de ellos
bosodos en lo inlormocion de color de los lotogromos. Lo ms simple es lo
dilerencio de histogromos de color de lotogromos consecutivos [6]. 5e hon
propuesto olgunos mejoros que consideron lo distribucion espociol de los plxeles en
lo imogen:
Lstodo del Arte 18
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Los CoIoi Coeience VecIois (CCv) [7], que closilicon los plxeles de
codo celdo del histogromo en coherentes o no coherentes en luncion del
tomono de lo region conexo o lo que pertenecen.
Los histogromos conjuntos (joInI IsIogiams) [8], que consisten en un
histogromo multidimensionol considerondo corocterlsticos locoles de codo
plxel odems de su color.
Lstos olgoritmos son odecuodos poro detector prcticomente cuolquier tipo
de tronsicion obrupto, en combio los tronsiciones groduoles (disolvencios y
degrododos) no son lcilmente detectobles usondo estos tecnicos debido o lo poco
voriocion globol de color que se produce entre lotogromos.
Uno olternotivo dilerente o lo utilizocion de histogromos de color propuesto
por Zobih eI aI. en [9] es un olgoritmo bosodo en colculor uno medido llomodo
Euge Cange HaIIo (LCP) o portir del numero de plxeles de contorno que oporecen
y desoporecen en un lotogromo respecto del onterior. Ll principol problemo que se
observo en este olgoritmo es el trotomiento de los tronslormociones olines entre
lotogromos, yo que solomente se contemplon troslociones poro montener el coste
computocionol en unos cotos rozonobles.
5e hon encontrodo dos oplicociones que utilizon estos tecnicos, siendo uno
de ellos utilizodo comerciolmente. A continuocion se comenton en detolle.
Lstodo del Arte 19
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
SOFTWARE DE RECONOCIMIENTO AUTOMTICO DE
ANUNCIOS
1.1 AUDICOM
AudiCom es uno oplicocion creodo por un grupo de investigocion de
Borcelono, que esto dirigido por 5nchez eI aI. [1O]. Lsto oplicocion es copoz de
ouditor el correcto cumplimiento de los controtos entre onunciontes y emisoros de
1v. AudiCom oprende y reconoce onuncios usondo un proceso de segmentocion en
tiempo reol. Como resultodo de esto segmentocion, se obtienen uno serie de
lotogromos representotivos que son usodos posteriormente poro obtener uno
representocion compocto de los onuncios o troves del onlisis de componentes
principoles (lCA) de los histogromos color de dichos lotogromos. Ll esquemo de
segmentocion que uso se boso en el onlisis de los voriociones de color entre
lotogromos o nivel locol.
Ln este trobojo se creo uno representocion compocto y opropiodo poro
olmocenor potrones de secuencios de vldeo digitol de lormo que puedon ser
posteriormente reconocidos en un vldeo dodo. Asume que todo vldeo est
compuesto por uno secuencio de tomos de cmoro o plonos, los cuoles pueden ser
representodos por un unico lotogromo, debido o lo olto redundoncio existente en los
Lstodo del Arte 2O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
imgenes de un mismo plono. A portir de ohl, considero uno medido de lo dilerencio
que existe entre dos plonos como lo dilerencio entre sus lotogromos
representotivos. Lstos lotogromos son discriminodos usondo sus histogromos color,
los cuoles son rpidos de colculor. Aun osl, ol trobojor en tiempo reol con uno bose
de dotos que contiene gron contidod de onuncios, el tomono de los elementos que
intervienen en los comporociones debe ser reducido lo mximo posible. Usondo lo
tecnico estodlstico de onlisis de componentes principoles (lCA) [11] duronte el
proceso de oprendizoje de los onuncios, se obtiene un subespocio de bojo
dimensionolidod que copturo lo mximo voriobilidod del conjunto originol de
histogromos color. Lo distoncio entre dos histogromos color es oproximodo por lo
distoncio entre sus proyecciones en este subespocio.
Le esto monero, codo onuncio se guordo como uno secuencio de los
lotogromos representotivos de sus plonos y el proceso de reconocimiento se llevo o
cobo detectondo los tronsiciones entre los plonos del vldeo de entrodo, odquiriendo
el primer lotogromo de codo uno y buscondo si existe olguno que se le correspondo
en lo bose de dotos de onuncios que hon sido previomente olmocenodos.
Lo implementocion octuol ho sido probodo sobre emisiones reoles de conoles
de 1v esponoles, mostrondo uno toso de reconocimiento muy olto y uno gron
precision en lo estimocion de lo durocion de los onuncios.
Lstodo del Arte 21
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
1.2 5I.RE.N.A.
5l.PL.N.A. (5lstemo de PLconocimiento Numerico de Anuncios) es uno
lomilio de poquetes de soltwore dedicodos ol onlisis de lo pouto publicitorio en
senoles de 1v y rodio. Consto de vorios sistemos independientes disenodos poro
dilerentes demondos y usos. Lste poquete ho sido creodo por 1he Ligitol Vop Ltd,
un grupo que lue lundodo en 2OO3 como un poso ms en uno evolucion de lo
octividod ocodemico en inlormtico oplicodo que se desorrollobo en lo Universidod
de lo Pepublico en Uruguoy. 5u director es el Lr. lng. Corlos Lopez [12].
Como corocterlsticos comunes o todos los sistemos de 5l.PL.N.A. pueden
citorse:
operon en plotolormo Windows 98, Villenium o superior
uson hordwore estndor sobre orquitecturo lC
no requieren coloborocion del emisor de lo senol
producen un listodo de ocurrencios del onuncio, con indicocion del
instonte de comienzo y lin
operon poro onuncios grobodos, lo que descorto tronsmisiones
deportivos y otros progromos.
Lstodo del Arte 22
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
tienen bojos requerimientos de colidod de lo senol de entrodo,
requiriendose unicomente que lo mismo seo estoble.
montienen los resultodos en cuolquier bose de dotos ACCL55, 5OL
5erver, lnlormix, etc.
exporton los resultodos en lormoto XVL y l1VL.
5on dos los sistemos que ms nos intereson por el objetivo comun con este
presente proyecto:


5|rena TV-TR (te|ev|s|n en t|empo rea|)
Lste sistemo onolizo lo senol coptodo de oire o coble, y busco en lo mismo
lo ocurrencio de onuncios existentes en un bonco de dotos. Ll sistemo opero en
modo outonomo (sin operodor), y en tiempo reol, onolizondo unicomente lo senol
de vldeo e ignorondo el oudio. Ll numero de onuncios del bonco (entre 2OO y SOO)
est limitodo por lo copocidod de clculo del equipo, que trobojo con uno unico
senol que no es guordodo. Con lines de ouditorlo es posible indicorle ol sistemo
que, en coso de detector un onuncio, guorde olgunos lromes del mismo. Ls util poro
operocion remoto cuondo el conjunto de onuncios buscodo es reducido. 5u ventojo
Lstodo del Arte 23
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
principol es lo inmedioto del onlisis, produciendo inlormes segundos despues de
que el onuncio lue posodo, los que pueden ser desplegodos o troves de uno pgino
WLB dinmico. Otro corocterlstico es que requiere muy poco hordwore, y que no
tronsliere grondes volumenes de dotos. 5e requiere un lC por senol de 1v o
onolizor. Los clculos se reolizon junto o lo odquisicion, lo que requiere tronslerir
uno version comprimido del bonco de dotos, que se estimo en 1 Kb por onuncio.
5|rena TV-LR (te|ev|s|n en modo |oca| y remoto)
Lste sistemo requiere un operodor que volido los resultodos de los clculos,
do de olto nuevos onuncios, etc. 5e compone de tres modulos. Ll primero consiste
en un odquisidor7digitolizodor tlpicomente residente en un equipo dedicodo que
puede monejor uno senol por equipo, lo que se guordo en discos locoles de gron
copocidod y rpido occeso. lor rozones de seguridod, lo senol digitolizodo se
guordo en bloques de uno horo. Un segundo modulo reolizo lo compresion de lo
senol y su comporocion contro el bonco de dotos de onuncios, produciendo uno listo
de onuncios condidotos. Lstos modulos no requieren operodor permonente. Ll tercer
modulo permite ol operodor volidor los eventos estimodos outomticomente. loro
evitor lo necesidod de uno coloborocion de lo emisoro se provee tombien uno
interloz completo poro dor de olto o nuevos onuncios no existentes en el bonco.
Lste ultimo modulo tombien incluye uno rudimentorio solido del inlorme linol en
lormoto l1VL, publicoble en lo WLB. Lo senol de vldeo se guordo comprimido, en
Lstodo del Arte 24
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
dos lormotos. loro lo operocion remoto se guordo en tonos de gris, y solo o O.S
cuodros7seg. loro lo operocion locol se guordo en color o 12 cuodros7seg. Lo
deteccion se reolizo operondo sobre el oudio, y dejndose el vldeo solo poro osistir
ol operodor.
Como un desorrollo luturo se est considerondo reolizor uno deteccion
combinodo con oudio y con vldeo, lo que hobilitorlo o mejoror los niveles de error
observodos poro onuncios muy cortos (de menos de S segundos).
SPOT
Lsto es lo version existente de lo oplicocion 5lO1 ontes de lo reolizocion del
presente proyecto. lue desorrollodo por lsroel Lzequiel Codenos Vortln en lo
Lscuelo 5uperior de lngenieros de lo Universidod de 5evillo, en el deportomento de
1eorlo de lo 5enol y Comunicociones, bojo lo tutelo del Loctor Jose Pomon
Cerquides Bueno.
2.1 DE5CRIPCIN DEL 5I51EMA
5lO1 es uno oplicocion de deteccion outomtico de onuncios en 1v en
tiempo reol. Ln su desorrollo se ho creodo uno representocion compocto y
opropiodo poro olmocenor potrones de secuencios de vldeo digitol correspondientes
Lstodo del Arte 2S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
o los dilerentes onuncios de television, de lormo que puedon ser posteriormente
reconocidos en lo emision de onuncios de television.
5u metodo de luncionomiento es similor ol utilizodo en AULlCOV. Asume
que todo plono puede ser representodo por un unico lotogromo representotivo (ey
/iame). Le esto monero, se puede consideror como medido de lo dilerencio que
existe entre dos plonos lo dilerencio entre sus lotogromos representotivos. Lstos
lotogromos pueden estor corocterizodos o troves de sus histogromos de color, los
cuoles son rpidos de colculor.
Lo oplicocion desorrollodo debe distinguir con precision los combios de
plonos que se producen en los emisiones televisivos. Lo tecnico del CoIoi
Coeience VecIois (CCv) proporciono lo herromiento necesorio poro tol distincion.
5i se deseo trobojor en tiempo reol con uno bose de dotos que contiene gron
contidod de onuncios, el tomono de los elementos que intervienen en los
comporociones debe ser reducido lo mximo posible. Lo tecnico del CoIoi
Coeience VecIois (CCv) que lo oplicocion 5lO1 utilizo duronte el proceso de
oprendizoje y deteccion de onuncios es opto poro su utilizocion en lo deteccion en
tiempo reol.
Lo interloz grlico del progromo 5lO1 se desorrollo siguiendo los principios
bsicos de cloridod, sencillez y estetico que todo progromodor de soltwore debe
Lstodo del Arte 26
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
contemplor. loro el diseno e implementocion de lo interloz se utilizo el mismo
progromo que poro lo implementocion de los olgoritmos, es decir, visuol C++ 6.O.
5e hicieron dos cuodros de dilogos, uno poro lo interloz principol y otro poro el
secundorio.

Ig. 2. Cuauro ue uIogo prncpaI

Lstodo del Arte 27
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 3. Cuauro ue uIogo secunuaro
2.2 FUNCIONALIDAD
Ln esto primero version de lo oplicocion 5lO1 se consiguio olconzor el
objetivo propuesto. 5e consiguio disenor e implementor uno herromiento soltwore
copoz de detector onuncios en television en tiempo reol de lormo outomtico.
Lo herromiento se boso en lo tecnico del CCv (CoIoi Coeience VecIois)
oportondo esto un nuevo enloque en el mundo de los histogromos de color. Ll
resultodo puede considerorse como sotisloctorio teniendo en cuento, odems, que
lue lo primero vez que se obordobo el temo en lo Lscuelo 5uperior de lngenieros de
5evillo.
Lo oplicocion es oporentemente sencillo, en lo que se reliere o su estructuro,
pero oltomente elicoz como quedo potente en los pruebos reolizodos, ocercndose
Lstodo del Arte 28
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lo liobilidod ol 9O7 siempre y cuondo lo oplicocion se personolizose correctomente
o los onuncios o detector.
Lvidentemente, como todo proyecto que comienzo uno llneo de
investigocion, lo oplicocion no est exento de mejoros que se intentorn oborcor en
el presente proyecto. 5obre ello hemos trobojodo, corrigiendo errores, mejorondo lo
luncionolidod y liobilidod, el occeso del usuorio medionte lo interloz y sobre todo,
cumpliendo el objetivo lundomentol que nos movlo: hocer posible lo deteccion
multiconol.
lemos de resoltor que todos los oplicociones existentes, osl como los
trobojos de los diversos grupos de investigocion, estn orientodos ol onlisis de uno
solo senol de vldeo de lormo simultneo. loro detector los onuncios de vorios
conoles de television necesitorlon un lC por codo senol televisivo. Ll trobojo que se
pretende pues en este proyecto, es innovodor y originol y obre los puertos o un
nuevo comino poro luturos investigociones que se reolicen sobre lo moterio.


Lstudio del metodo de deteccion 29
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPTULO 3
ESTUDIO DEL MTODO DE DETECCIN
Ln este copltulo veremos el estudio que lue necesorio reolizor ontes de lo
implementocion de lo oplicocion soltwore.
Como vimos en los copltulos onteriores, poro lo reolizocion de este proyecto
portimos de uno version onterior del progromo 5lO1, siendo uno de los objetivos
lundomentoles el hocer posible lo deteccion multiconol. Lste combio nos obligor o
reolizor uno prolundo conversion del progromo existente, yo que poro poder llevorlo
o cobo hobr que remplozor el metodo de deteccion por uno nuevo, osl como los
dilerentes luncionolidodes del progromo que orropon este metodo.
Ls por tonto objetivo lundomentol de esto seccion explicor el metodo
encontrodo con todo el proceso que se siguio hosto su obtencion. lero ontes se
intentorn proporcionor unos nociones bsicos que permiton ol lector entender lo
tecnico de deteccion y el luncionomiento del progromo.
5e desorrollorn, oqul pues, los siguientes oportodos:
lrimeromente expondremos los lundomentos teoricos con los que se espero
cuolquier persono puedo seguir lo exposicion de este proyecto, sin entror demosiodo
en prolundidod, yo que no se considero necesorio poro un buen entendimiento. Nos
Lstudio del metodo de deteccion 3O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
centroremos en otorgor olgunos nociones del 5istemo lAL, del lormoto de
olmocenomientos de imgenes POB, que es el que utilizomos y del concepto de lo
division de lo imogen en plxeles o lo que es lo mismo, volores numericos, que es o
lo que se reduce esto poro el ordenodor.
Ln segundo lugor, se hor uno descripcion globol del sistemo de lormo que
sin entror todovlo en detolles se comprendo lo que queremos y cuoles hon sido los
soluciones oportodos poro su consecucion. Cobe senolor que ol tener que ir
combiondo de conol codo cierto tiempo poro poder detector los onuncios que en
ellos se exponen, hobr que redisenor el corozon de lo version onterior del
progromo y segun lo medido odoptodo se reolizor despues el metodo de deteccion.
lncluiremos tombien el diogromo de llujo de dicho sistemo, indicondo los modulos
ms signilicotivos que sern posteriormente explicodos en subsiguientes oportodos.
lor ultimo, uno vez se hoyo entendido el luncionomiento del progromo o
rosgos generoles, se describe ms detollodomente el metodo de deteccion utilizodo,
osl como el proceso que se ho seguido hosto que se probo su electividod. lrimero
expondremos lo llneo de trobojo ideodo, explicondo los puntos lundomentoles, poro
despues detollor los metodos probodos con los consiguientes resultodos de codo
uno. loro linolizor nos extenderemos ms en lo descripcion del metodo odoptodo y
en los resultodos de electividod y liobilidod obtenidos. Lste punto del copltulo es el
ms importonte del mismo, pudiendose decir tombien que es el ms importonte del
Lstudio del metodo de deteccion 31
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
proyecto, pues se olrece uno solucion novedoso o este problemo, que por otro lodo,
como vimos onteriormente, nodie hoblo nunco intentodo oborcor.
FUNDAMENTOS TERICOS
1.1 5I51EMA PAL
Ll sistemo de 1elevision usodo en nuestro sistemo de vldeo es el sistemo
lAL (lhose Alternotion Line). Lste sistemo de 1elevision en color lue desorrollodo
en los Loborotorios de 1elelunken por el Lr. Wolter Bruch, en lonnover. Ll sistemo
lAL surgio o portir del sistemo omericono N15C con lo ideo de reducir los
problemos que este ultimo presentobo. 5e odopto iniciolmente en lo Pepublico
lederol de Alemonio y el Peino Unido, extendiendose posteriormente por lo moyorlo
de polses europeos (o excepcion de lroncio que desorrollo el sistemo 5LCAV). Ln
Americo unicomente Argentino, Brosil, loroguoy y Uruguoy odoptoron el sistemo
lAL. Ln concreto, en Lspono se odopto en el ono 1973.
Aprovechondo lo lrecuencio de lo red electrico (SOlz en Luropo) como bose
poro lo generocion de impulsos de sincronismo, lo television europeo eligio mostror
imgenes o uno lrecuencio de 2S imgenes (tombien llomodos cuodros) por
segundo. Lsto nos do un tiempo de durocion de cuodro de 40 ms. Lste volor ser
Lstudio del metodo de deteccion 32
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
importonte en nuestro proyecto porque tendremos que copturor uno imogen codo
dicho intervolo de tiempo, consiguiendo osl no perder ningun cuodro de lo emision
televisivo.
Los estudios previos ocerco de lo percepcion de los colores, junto con uno
bueno dosis de ingenio, permitieron llegor o estos estndores que, o pesor de sus
delectos, siguen vigentes y sotislocen o millones de telespectodores de todo el
mundo, cincuento onos despues de que soliero o lo luz el primero.
1.2 5ENALE5 RO
Los sistemos de television en color monejon tres senoles, correspondientes o
los tres colores primorios utilizodos, esto es, rojo, verde y ozul. Lstos tres senoles
se representon por los letros P, O y B, respectivomente. Cuolquier color se puede
obtener combinondo, con distintos pesos de ponderocion, estos tres colores
primorios. Ll color visuolizodo por el ojo ser intermedio entre los tres colores,
consiguiendose de esto lormo lo obtencion de los dilerentes tonolidodes cromticos.
Lstudio del metodo de deteccion 33
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 4. Descomposcon HGE
Lstos tres senoles no son los que se envlon en uno senol de television, yo
que no se respetorlo lo compotibilidod con los receptores monocromos, que
necesiton lo senol de luminoncio Y. 5e llomo luminoncio o brillo o lo senol en blonco
y negro y lo ecuocion que lo expreso en luncion de los senoles P, O y B viene
dodo por: Y = 0,3 R + 0,59 O + 0,11 B. Cobe resoltor lo importoncio de esto
expresion poro nosotros, yo que trobojoremos con los imgenes en blonco y negro y
lo necesitoremos poro lo conversion.
lortiendo entonces del hecho de que hoy que tronsmitir lo senol de
luminoncio, se plonteo lo pregunto de que otros senoles tronsmitir junto con ello. 5i
se tronsmitieron odems los tres componentes P, O y B, se estorlo tronsmitiendo
inlormocion redundonte, yo que entre estos y lo luminoncio existe lo relocion
Lstudio del metodo de deteccion 34
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
expresodo onteriormente. 5e tronsmitirn entonces solo dos de los tres
componentes, y lo tercero se obtendr o portir de lo citodo relocion. 1ros un estudio
de compotibilidod y retrocompotibilidod poro que los televisores ontiguos (blonco y
negro) lueron copoces de ver correctomente (en blonco y negro) emisiones en color
y los televisores en color viesen correctomente emisiones en blonco y negro, lo
senol de television resulto uno combinocion de los tres componentes Y, U y v.
PAL Y U = O,493 (B Y) v = O,877 (P Y)
Ig. 5. Hecepcon ue TV en IeIevsores en E.N y en coIor
Lste conjunto de senoles YUB es el punto comun de todos los sistemos de
television en color, incluso poro los sistemos digitoles ms recientes (Y, C
R
=
O.713 (P Y), C
B
= O.S64 (B Y)) Lo senol YUB es identico en contenido o lo
senol POB, pero existe uno gron dilerencio: codo componente de lo senol POB
Lstudio del metodo de deteccion 3S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
ocupo un oncho de bondo de S Vlz, mientros que lo senol YUv requiere un menor
oncho de bondo, S Vlz poro lo Y y 1 Vlz poro codo componente U y v. lor lo
tonto, lo senol POB es ms puro y nltido, de ohl su uso en monitores inlormticos.
A nosotros nos intereso lo senol POB, pues es en ese lormoto en el que
copturoremos los imgenes de lo television.
Ln el siguiente punto explicoremos el lormoto de olmocenomiento de lo
imogen en lo computodoro.
1.3 FORMA1O DEL PIXEL
Yo hemos comentodo que el lormoto de lo imogen que copturor el
progromo es POB, pero, como se olmoceno eso imogen? Como podemos
occeder o ello? Como trobojomos con ello? loro un ordenodor, uno imogen no es
ms que un conjunto de plxeles. Los plxeles son los unidodes lundomentoles de
olmocenomiento, que representon codo uno de los puntos de lo imogen y que se
guordon en lo memorio del ordenodor de lormo independiente.
5i lo imogen es en color, codo plxel ho de guordor inlormocion sobre tres
niveles de color (Pojo, verde y Azul). loy distintos lormotos poro lo representocion
del color en los plxeles, uno de los ms utilizodos es el lormoto conocido como
POB24, que utilizo 8 bits por codo uno de los colores. Ll nombre del lormoto viene
Lstudio del metodo de deteccion 36
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
dodo por el nombre en ingles de los tres colores bsicos y el 24 de los bits que
resulton de sumor 8 bits por codo color. luesto que codo uno de los colores utilizo
un Byte (8 bits) poro ser representodo, codo plxel puede tener 2S6 niveles (2
bits
)
de luminosidod (de O o 2SS) por codo uno de los colores. Ll volor O indicor que
dicho plxel no tiene ninguno componente de ese color y el volor 2SS que tiene lo
contidod mximo. Lste lormoto tombien es llomodo IiuecoIoi o de color verdodero,
yo que con 24 bits podemos obtener 16 millones de colores. Lo precision con que
uno imogen reol puede ser reproducido con esto lormo de olmocenomiento es lo
couso de que comunmente se use el termino de color verdodero.
loro lo reolizocion del metodo de deteccion se ho trobojodo con MaIIao 6.5,
Lstudio del metodo de deteccion 37
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
que incluye un TooIoox ue FiocesamIenIo ue /mgenes. Lste 1oolbox no es ms
que uno coleccion de lunciones implementodos en Votlob que comprenden uno
extenso coleccion de operociones de trotomiento digitol de imgenes que von desde
lo representocion hosto el liltrodo, onlisis o tronslormocion de los mismos. Ln
Votlob los imgenes POB se hocen o troves de tres motrices, uno poro lo
componente rojo (P), otro poro lo verde (O) y poro lo ozul (B). Ll color poro uno
determinodo plxel en lo posicion (x, y) ser: [ P(x,y) O(x,y) B(x,y) ]. Ln
lo siguiente imogen se puede observor esto mismo:
Ig. 6. MaIrces HGE ue una magen en MaIIao
Lo liguro ilustro el concepto de los tres plonos de color seporodos, usodos en
uno imogen POB. Como vemos, el plxel [2,S] quedo determinodo por los volores
[S7 91 46], siendo lo combinocion de estos tres mognitudes lo que determinor lo
sensocion visuol de ese plxel [13].
loy que destocor que cuondo copturomos los imgenes usondo el lenguoje
C++, el orden de los colores en lo memorio es inverso. Ls decir, en vez de tener
POB, tendremos BOP y en lugor de estor en tres motrices como en Votlob, se
encuentron de lormo consecutivo. Lsto no nos supone ningun impedimento, solo
tenemos que ser conscientes cuondo trobojemos con lo imogen del lormoto de
Lstudio del metodo de deteccion 38
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
olmocenomiento, que tiene en lo memorio del ordenodor, y occeder o su contenido
o nivel de plxel. vemos lo secuencio en lo que estn ordenodos:
..... B
i
O
i
P
i
B
i
O
i
P
i
B
i
O
i
P
i
.....

5i lo imogen no es en color se denomino en escolo de grises. Lstos utilizon
un byte por codo plxel y en el se represento lo luminosidod que vo desde O (negro
o lolto de luminosidod) hosto 2SS (blonco o mximo de luminosidod).
1ombien est relocionodo con los plxeles lo que se denomino lo resolucion
de lo imogen. Lo resolucion nos indico el numero plxeles que conlormon uno
imogen y se suele dor como el oncho por el olto del lotogromo en numero de
plxeles. Lo resolucion con lo que se trobojo en el proyecto es de 32Ox24O, que
signilico que lo imogen tiene 32O plxeles de oncho y 24O de olto. Ln totol lo
imogen ocupo en memorio 768OO plxeles, un totol de 23O4OO bytes, teniendo en
cuento que codo uno ocupo 3 bytes; ol posorlo o Kbytes (KB) dividiendo entre 1O24
(1KB = 1O24 bytes) resulton 22S KB. Lste ser el tomono en memorio de lo
imogen, tonto en memorio PAV mientros corre el progromo, como en el disco duro
si lo guordomos poro uno posterior visuolizocion. Lstos dotos hoy que tenerlos en
cuento porque o lo horo de hocer copturos o tronslerencios constituyen elevodos
corgos de dotos que limiton lo copturo en tiempo reol y ocupon mucho oncho de
Lstudio del metodo de deteccion 39
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
bondo ol ser tronsleridos. Lo resolucion o numero de plxeles es tombien muy
importonte o lo horo de consideror el trobojo en tiempo reol, yo que tenemos que
recorrer lo imogen de principio o lin. Lsto nos limito lo resolucion mximo que
podemos procesor poro que podomos hocer todos los operociones necesorios en el
tiempo de 4O ms, que es el que tronscurre desde uno copturo o otro como yo
resenomos.
lor lo ontes mencionodo podemos deducir que poro uno mismo resolucion,
uno imogen en escolo de grises ocupo tres veces menos memorio que uno imogen
en color, y monejoremos tres veces menos dotos que en ese coso. Asl pues,
trobojoremos con imgenes en blonco y negro, yo que poro lo dilerenciocion de dos
imgenes es suliciente. 5i el ojo humono es copoz de dilerencior dos imgenes en
escolo de grises, es que hoy suliciente inlormocion en ellos poro que el ordenodor
seo copoz tombien de dilerenciorlos. 5olo tenemos que ser copoces de obtener un
metodo con el cuol odquirir lo inlormocion necesorio poro logror lo deteccion.
Llegodos o este punto yo disponemos de los conocimientos necesorios poro
entender como se trobojo con uno imogen digitol. Ahoro solo tenemos que encontror
como podemos dilerencior dos imgenes utilizondo eso inlormocion que tenemos.
Un combio o nivel visuol en el lotogromo se troduce en un combio del estodo de los
plxeles. Ln el coso de los imgenes en blonco y negro, codo plxel se olmoceno en
lo memorio en un byte, cuyo volor puede estor comprendido entre O y 2SS. Cuondo
Lstudio del metodo de deteccion 4O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
hoy un combio en el lotogromo, los plxeles situodos en lo zono donde se ho
producido el combio sulrirn uno voriocion en su estodo, es decir olmocenorn otro
volor. 5i se produce un combio de plono combiorn de estodo todos o cosi todos los
plxeles de lo imogen como es comprensible.
Ahoro yo sobemos como ver un combio en uno imogen solo observondo el
volor de sus plxeles. 5i olmocensemos el volor de todos los plxeles de codo
cuodro copturodo yo podrlomos sober, utilizondo olgun metodo de deteccion, si los
imgenes copturodos se encuentron en nuestro bose de dotos. lero esto solucion
es invioble por lo contidod de dotos que tendrlomos que olmocenor, y por el tiempo
que tordorlomos en procesor todos esos dotos. lor lo tonto de esos 768OO plxeles,
23O4OO dotos (bytes en lo imogen en color) que tiene codo cuodro tendremos que
obtener olguno inlormocion, pormetro o corocterlstico que nos permito identilicorlo
de entre otros imgenes, y que nos permiton trobojor con uno inlormocion menor.
Ln resumen, podemos decir que poro un ordenodor lo imogen constituye un
numero ms o menos elevodo de bytes olmocenodos en memorio. Codo byte se
corresponde en escolo de grises con un plxel y este numero de plxeles es lo que
determino lo resolucion de lo imogen. Cuonto moyor seo lo resolucion moyor es
este numero de plxeles y mejor es lo colidod visuol de lo imogen. Los plxeles
olmocenon un volor entre O y 2SS que se corresponde con los volores de menor y
moyor luminosidod respectivomente. Los combios en lo imogen constituyen combios
Lstudio del metodo de deteccion 41
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
en los niveles de los plxeles y son tonto ms ocentuodos cuonto moyor seo el
combio en lo imogen.
DESCRIPCIN DEL SISTEMA
Ll luncionomiento interno de nuestro oplicocion soltwore diliere totolmente de
lo version onterior de este progromo. Aunque o electos prcticos, los dos cumplen
lo mismo luncion (detector un onuncio que tenemos en lo bose de dotos cuondo lo
televison), en esto nuevo version hoy un combio substonciol que nos obligo o
redisenor todo el sistemo. Ahoro tenemos que elegir uno listo de conoles o observor
y el progromo debe ser copoz de detector los onuncios de lo bose de dotos en
todos esos conoles. Lsto notoble mejoro del progromo nos obligo o combior el
modo de deteccion de onuncios osl como lo lormo de olmocenor los onuncios en lo
bose de dotos.
Lo version onterior trobojobo siempre en un mismo conol y copturobo todos
los cuodros que en el se tronsmitlon, es decir, occedlo o todo lo inlormocion de lo
senol de television que se emitlo en dicho conol. Al no perder ningun lrome se
utilizobo un olgoritmo de deteccion de combios de plonos y cuondo esto sucedlo se
procedlo viendo si el nuevo plono correspondlo o olguno de los plonos de onuncios
guordodos en lo bose de dotos. Lo tecnico que utilizo es lo de lo obtencion de los
Lstudio del metodo de deteccion 42
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CCv (CoIoi CoeienIe VecIois) que no es ms que reducir uno imogen que dijimos
tenlo 23O4OO dotos o solomente 128. Ln lo bose de dotos tendremos el CCv de un
plono de imogen por codo onuncio. Obviomente en lo deteccion multiconol no se
puede usor esto tecnico, yo que ol tener que trobojor sobre todos los conoles el
progromo estor un tiempo en codo uno de ellos, perdiendo todo lo inlormocion que
mientros tonto se emite en los dems. Ls decir, perderemos muchos plonos
emitidos en los distintos conoles, con lo cuol no nos vole tener un solo plono de
codo onuncio olmocenodo en lo memorio.
Otro cuestion muy importonte o tener en cuento es el tiempo que tordo lo
oplicocion en combior de conol. Lste tiempo depender de lo torjeto de television
que tengomos instolodo en el ordenodor, luego no es un pormetro que podomos
controlor. lor eso, ontes de disenor el metodo que lbomos o utilizor poro olmocenor
los onuncios y su posterior deteccion, se hizo un estudio ocerco del tiempo que se
perdlo duronte el combio. loro ello se onodieron unos llneos de codigo en lo
version onterior del progromo, con los que consegulomos visuolizor el tiempo
tronscurrido (en milisegundos) en un cuodro de mensoje. Aunque no es objetivo de
este copltulo mostror el codigo ni lo progromocion utilizodo (ese ser el objeto del
siguiente copltulo) se muestron oqul los llneos de codigo y uno copturo de pontollo
que muestro el tiempo. locemos esto debido o que nos lue necesorio su reolizocion
poro disenor el luncionomiento de lo oplicocion y este si que es el proposito de este
Lstudio del metodo de deteccion 43
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
oportodo. Cobe destocor que el metodo que se utilizo poro ver lo dilerencio de
tiempos nos ser muy util en lo depurocion y estudio del luncionomiento del
progromo que reolizomos en lo lose de pruebo y simulocion.
loro su reolizocion hemos usodo lo luncion CueiyFei/oimanceCounIei que
devuelve el volor octuol del temporizodor de olto precision y lo luncion
CueiyFei/oimanceFieguency, que nos indicor el volor de lo lrecuencio del
temporizodor de olto precision. Asl, si tenemos uno lrecuencio de SOOOO ciclos por
segundo y los volores ontes y despues de combior de conol del temporizodor son
1SOO y 3SOO ciclos respectivomente, el tiempo tronscurrido ser: (3SOO
1SOO)7SOOOO = O.O4 segundos.


LAPGL_lN1LGLP ticksPer5econd;
LAPGL_lN1LGLP tickJ;
LAPGL_lN1LGLP tick2;
long double startmicrosegundos;
long double linishmicrosegundos;
long double tiempocambiacanal;
C5tring tiempocambia;

OueryPerlormancelrequency(&ticksPer5econd);
OueryPerlormanceCounter(&tickJ);

UpdateData(1PUL);
hr = cambiacanal (m_canal);
UpdateData(lAL5L);
Lstudio del metodo de deteccion 44
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lo llomodo UpuaIeDaIa,THUE; tronsliere los volores octuoles de los
controles o los voriobles miembro (m_canaI en este coso) y lo llomodo
UpuaIeDaIa,FALSE; do volor o los controles o portir de los voriobles miembro. Ln
lo siguiente copturo de pontollo vemos el cuodro de mensoje que se obtiene ol
combior de conol.
Ig. 7. Tempo ue camoo ue canaI
Como se ve en el cuodro de mensoje el conol se ho combiodo en
oproximodomente 1SS milisegundos. Ln dilerentes pruebos experimentoles se ho
comprobodo que el combio de conol se hoce entre 1SO y 16O milisegundos
oproximodomente. 5e pierden unos 4 o S lromes codo vez que hoy un combio de
conol. 5erlo por tonto un obsurdo copturor un solo cuodro codo vez que combiemos
Lstudio del metodo de deteccion 4S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
de conol, perderlomos muchlsimo inlormocion de los conoles y sobrecorgorlomos lo
ClU del ordenodor y lo torjeto de 1v. Lo solucion odoptodo lue permonecer en
codo conol un TIempo ue CoseivacIon duronte el cuol ir recogiendo inlormocion de
codo lotogromo que emitiesen en dicho conol. Los dotos recogidos se irlon
olmocenondo en uno motriz y ol termino del 1iempo de Observocion el progromo
mirorlo en lo bose de dotos poro de olguno lormo comprobor si lo recogido en lo
motriz se corresponde con olguno de los onuncios guordodos. Uno vez decidido
este metodo de trobojo, tenlomos que creor uno representocion compocto y
odecuodo poro olmocenor potrones de secuencios de vldeo digitol de los distintos
onuncios que nos permiton posteriormente reconocerlos dentro de uno emision de
1v en tiempo reol. Lsto lo veremos ompliomente detollodo en uno de los siguientes
oportodos, yo que el diseno de los potrones, su olmocenomiento y deteccion se hon
llevodo lo moyor porte del peso del trobojo de esto primero etopo del desorrollo del
progromo y requieren uno detenido explicocion.
Ln resumen, despues de un estudio de los objetivos requeridos y de lo
situocion de lo que portlomos se decidio que duronte un 1iempo de Observocion
nos centrorlomos en un conol, recogiendo inlormocion de los lromes copturodos que
posteriormente serlo comporodo con los onuncios de lo bose de dotos. lubo que
disenor los potrones de secuencios de vldeo digitol y el metodo de comporocion
entre los secuencios observodos y los onuncios de lo bose de dotos.
Lstudio del metodo de deteccion 46
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ln el siguiente punto se expone el diogromo de llujo del sistemo, de monero
que el lector puedo entender el luncionomiento deseodo de uno lormo globol y
sencillo.

2.1 DIAORAMA DE FLUJO DEL 5I51EMA
Con este diogromo se espero uno moyor comprension del luncionomiento de
lo oplicocion. losteriormente se proceder o su explicocion.
Lstudio del metodo de deteccion 47
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
APLICACIN
SPOT
INICIO DE LA
APLICACIN
CARGA
CONFIGURACIN
DE LOS
PARMETROS
INICIA
DRIVERS
APRENDIZAJE DETECCIN
DECISIN
USUARIO
ALMACENAR
SPOT EN BD
SALVAR
RESULTADOS
FIN APLICACIN
DECISIN
USUARIO

Ll diogromo de llujo expuesto est muy esquemotizodo resumiendo lo ms
posible el luncionomiento deseodo del progromo. Lo oplicocion, cuondo se inicio,
Lstudio del metodo de deteccion 48
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
corgo los pormetros de conligurocion del progromo, que quedon guordodos en un
lichero ol cerror el progromo. Lespues se iniciolizon los drivers de lo torjeto de 1v y
lo oplicocion permonece o lo espero de que el usuorio elijo uno de los posibles
opciones que se pueden escoger. loro simplilicor se ho puesto que se pueden
elegir los opciones de Aprendizoje y Leteccion que son los lunciones principoles y
ms elementoles del progromo. 5u luncionomiento se reolizo dentro de uno mismo
luncion uno vez progromodos, pero se exponen osl poro un moyor entendimiento.
Lxplicoremos codo uno por seporodo en los siguientes oportodos. Lespues del
oprendizoje grobomos, si queremos, el onuncio en nuestro bose de dotos, poro que
posteriormente puedo ser detectodo. Vientros tronscurre lo deteccion, estos von
oporeciendo en lo oplicocion junto con lo horo de emision y el conol donde lue
emitido. Lstos resultodos pueden ser grobodos, tombien si osl lo vemos
conveniente, en un lichero de solido.
Uno vez ejecutodos cuolquiero de los dos opciones, el usuorio podr optor
entre otros muchos. Lntre ellos solo se recogen en el diogromo de llujo los ms
signilicotivos, que resumen el luncionomiento bsico de lo oplicocion. Lstos son
empezor de nuevo el oprendizoje, lo deteccion o cerror lo oplicocion.
Lstudio del metodo de deteccion 49
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
2.1.1 APRLNDIZAJL
Ll modulo de oprendizoje es orroncodo desde lo interloz del progromo y
empiezo o procesor los imgenes (de lo television o del vldeo) que en ese instonte
corren en el progromo.
Ln primer lugor lonzor un TImei que ser llomodo codo 4O ms. Codo vez
que este 1imer seo invocodo, lo oplicocion reolizor uno serie de operociones con lo
imogen que en ese momento est en pontollo. Copturo el lotogromo, lo convierte o
escolo de grises y lo reescolo o un tomono predeterminodo, que en nuestro coso
ser 32Ox24O.
Lespues de esto obtendr lo inlormocion necesorio de eso imogen,
olmocenondo los dotos obtenidos en uno motriz que ser lo que posteriormente
guordoremos en nuestro bose de dotos.
Lste proceso se repite hosto que lo motriz llegue o un 1AV_VX (tomono
mximo delinido por nosotros poro que no se produzco un ovei/Iow o
desbordomiento de memorio) o hosto que el usuorio decido que el onuncio que est
grobondo ho llegodo o su lin.
Lstudio del metodo de deteccion SO
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lsto grobocion del onuncio se puede reolizor directomente de un onuncio
que este siendo emitido en lo 1v es ese momento o de un onuncio que previomente
hoyomos guordodo en un vldeo.
APRENDIZAJE
INICIO
START
TIMER = 40 ms
SPOT_APR >=
TAM_MAX or USUARIO
DECIDE TERMINAR
APRENDIZAJE?
FIN
SI
TIMER = 40 ms?
NO
SI
CAPTURA Y
PROCESA
IMAGEN
CAPTURA
FOTOGRAMA
CONVIERTE
FRAME A ESCALA
DE GRISES
PROCESA Y
ALMACENA DATOS
DE LA IMAGEN EN
MATRIZ SPOT_APR
CAPTURA Y
PROCESA
IMAGEN
INICIO
FIN
ESCALA
IMAGEN A
320X240

Lstudio del metodo de deteccion S1
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
2.1.2 DLTLCCIN
Ll modulo de deteccion es muy porecido ol de oprendizoje, de hecho en lo
implementocion soltwore ombos se encuentron reolizodos en lo mismo luncion. Ll
proceso CAl1UPA Y lPOCL5A lVAOLN del diogromo onterior es exoctomente
iguol o excepcion de que o lo motriz donde se olmocenon los dotos lo llomoremos
5lO1_LL1 en vez de 5lO1_AlP. A continuocion exponemos su diogromo de llujo
y explicoremos los dilerencios con respecto ol de oprendizoje.
Lstudio del metodo de deteccion S2
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
DETECCIN
INICIO
START
TIMER = 40 ms
FIN
SI
TIMER = 40 ms?
NO
SI
CAPTURA Y
PROCESA
IMAGEN
tiempo =
Tiempo_Observacion?
DETECCIN
ANUNCIO
TV?
CAMBIA CANAL
SI
NO
USUARIO DECIDE
FINALIZAR
DETECCIN?
TIEMPOS,
CONTADORES Y
VARIABLES A 0
NO

Ll principio del olgoritmo es iguol ol del oprendizoje, pero ohoro seguimos
copturondo imgenes y olmocenondo los dotos obtenidos en lo motriz 5lO1_LL1
mientros no se hoyo cumplido el TIempo_CoseivacIon. Lste tiempo, como yo hemos
comentodo, lo decide el usuorio y ser el tiempo que el progromo estor en codo
conol.
Lstudio del metodo de deteccion S3
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Uno vez que hoyo posodo el tiempo prelijodo y tengomos lo motriz
5lO1_LL1 lo oplicocion posor o ejecutor el olgoritmo de deteccion de onuncios,
que consistir en comporor lo motriz que tenemos con todos los onuncios de lo
bose de dotos. Ln el siguiente oportodo desorrolloremos ms detollodomente este
olgoritmo, por ohoro nos bosto con sober que reolizo eso luncion.
Lespues de hober lonzodo el olgoritmo de deteccion de onuncios lo
oplicocion combior de conol en coso de que estemos reproduciendo lo television, y
no reolizor occion olguno si estomos reproduciendo un vldeo. Uno vez puesto o O
todos los contodores, tiempos y voriobles que utilizomos en este modulo de
deteccion el progromo empezor desde el principio todo el proceso.
Pesenor que ounque se expone lo decision del usuorio de linolizor lo
deteccion ol linol del diogromo, esto decision se puede dor en cuolquier momento
del proceso. Lo situomos ohl por simplicidod, pero obviomente el usuorio podr
llomor, medionte lo interloz del progromo, o lo luncion que linolizo lo deteccion, en
cuolquier instonte. Lsto se debe o que lo progromocion utilizodo es de gestion de
eventos, es decir, tenemos un codigo osociodo o un evento determinodo que el
sistemo gestionor y llomor cuondo dicho evento ocurro. Ll luncionomiento del
modulo de deteccion no se ver olectodo por el instonte en que dicho evento se
produzco.
Lstudio del metodo de deteccion S4
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ln el siguiente copltulo, que es el que se ocupo de lo progromocion de lo
oplicocion, podremos ver con ms detolle el tipo de progromocion utilizodo, osl
como el codigo osociodo o los distintos modulos oqul explicodos.
2.1.3 ALOORITMO DL DLTLCCIN DL ANUNCIO5
Lste olgoritmo es el encorgodo de encontror un onuncio de nuestro bose de
dotos de entre todos los secuencios de dotos que copturomos.
DETECCIN
ANUNCIO
INICIO
FIN
QUEDAN SPOTS
SIN COMPARAR EN
BASE DE DATOS?
RES =
COMPARACIN
SPOT_DET CON
SPOT DE BD
SI
RES >=
UMBRAL_DET
SI
SPOT
ENCONTRADO
NO

Lstudio del metodo de deteccion SS
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lo que hoce este olgoritmo es comporor lo motriz obtenido duronte el tiempo
de observocion con todos los motrices contenidos en lo bose de dotos. Lo
comporocion tendr como resultodo un volor que iremos olmocenondo, junto con el
lndice del onuncio cuyo resultodo es ms olto. Cuondo yo no hoyo mos onuncios en
nuestro bose de dotos con los que comporor lo motriz 5lO1_LL1 vemos si el volor
de PL5 es moyor que un umbrol de deteccion que hoyomos conligurodo. 5i es osl
signilicor que hon emitido un onuncio que est en nuestro bose de dotos y se
indicor en lo interloz de lo oplicocion.
MTODO DE DETECCIN
Lste oportodo es el ms importonte del copltulo yo que es oqul donde se
explico el metodo de deteccion usodo y lo representocion poro olmocenor los
potrones de secuencios de vldeo digitol correspondiente o los onuncios de
television. Ls en lo reolizocion de este metodo donde ms tiempo se ho invertido en
esto primero porte de desorrollo del proyecto. Como se explicor ms odelonte,
poro su reolizocion ho sido necesorio recurrir o simulociones que en olgunos cosos
hon llegodo o duror ms de dos dlos corriendo en un ordenodor lentium 4 o 2 Olz
con un uso de lo ClU del 1OO7 de su copocidod duronte todo ese tiempo.
Lstudio del metodo de deteccion S6
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ln los oportodos onteriores hemos explicodo, esperomos que con cloridod, el
luncionomiento deseodo de lo oplicocion. lero hoy olgunos modulos que dejbomos
indicodos sin explicor como reolizobon su mision. Lstos modulos son:

Ll primero indico que uno vez escolodo y en blonco y negro lo imogen
copturodo, lo procesomos obteniendo de ello unos dotos que olmocenomos en uno
motriz. lero, como? Oue dotos olmocenomos? y por que?
Ll segundo nos muestro que de olguno lormo comporomos lo motriz
5lO1_LL1 que se ho ido conlormondo duronte el TIempo_CoseivacIon con los
motrices que tenemos en lo bose de dotos que uno vez lueron 5lO1_AlP y que
representon o onuncios. Y como resultodo de esto comporocion obtenemos un volor
que utilizoremos poro comporor con un umbrol de deteccion. Le nuevo tompoco
sobemos el como reolizomos esto comporocion ni de donde ho solido ese umbrol de
deteccion.
PROCESA Y
ALMACENA DATOS
DE LA IMAGEN EN
MATRIZ SPOT_APR
RES =
COMPARACIN
SPOT_DET CON
SPOT DE BD
Lstudio del metodo de deteccion S7
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lues bien, es ohoro el momento odecuodo de explicor los distintos metodos
utilizodos, uno vez que tenemos todos los conceptos cloros y los lundomentos
bsicos bien osentodos.
lorecerlo logico explicor primero el sistemo de obtencion de los potrones de
secuencio de vldeo (motrices 5lO1_AlP y 5lO1_LL1) poro o continuocion
desorrollor el metodo de comporocion entre estos motrices. lero el metodo de
comporocion lue lo primero que se decidio, opoyndose despues los dilerentes
lormos de olmocenomiento en este metodo, que lue comun o todos ellos. loro
overiguor lo volidez o no de los dilerentes potrones que se ibon utilizondo nos
tuvimos que bosor en el sistemo de comporocion utilizodo.
Ls por ello que primero nos centroremos en explicor el metodo de
comporocion, posondo ms torde o centrornos en lo obtencion de potrones de
secuencio de vldeo.
3.1 5I51EMA DE COMPARACIN
loro poder entender correctomente este oportodo vomos o consideror que
los onuncios se encuentron olmocenodos en motrices cuyos lilos respondern o los
dilerentes lormos de olmocenor los lromes, que veremos en el siguiente oportodo, y
cuyos columnos responden o codo imogen copturodo. lor ejemplo, si el tiempo de
Lstudio del metodo de deteccion S8
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
observocion es un segundo, ol copturor lromes codo 4O ms, tendremos un totol de
17O.O4 = 2S lromes copturodos, y por lo tonto lo motriz obtenido en ese tiempo
tendr un numero de lilos determinodo y 2S columnos. Ll numero de lilos se
corresponder con el numero de dotos que obtengomos de codo lotogromo, que
depender del metodo utilizodo, como veremos en el siguiente oportodo. Con
entender lo lormo en que los onuncios estn olmocenodos nos bosto poro poder
comprender el sistemo de comporocion que o continuocion explicoremos.
5iempre que se pretende buscor un grodo de similitud entre dos lunciones
uno de los opciones o consideror es lo Correlocion. Ln lo delinicion de correlocion
se indico que es el grodo de similitud que presenton dos senoles. Lste es el motivo
por el que se usor este metodo poro onolizor en que medido lo motriz 5lO1_LL1
se porece o olgunos de los onuncios de lo bose de dotos.
Ll grodo de similitud entre ellos se mide por el volor que nos resulto ol
correlocionorlos, cuonto ms olto seo este volor, ms porecidos sern ombos
secuencios de vldeo. loro que esto quede ms cloro veomos de lormo detollodo
cules son los lundomentos motemticos que describen lo operocion de correlocion.
Lo operocion de correlocion se deline motemticomente poro dos senoles X
e Y de lo siguiente lormo:
Lstudio del metodo de deteccion S9
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

=
+ = = = =
k k k
XY
k Y k l X k Y k l X l k Y k X l Y l X l r ) ( ) ( ) ( ) ( ) ( ) ( ) ( * ) ( ) (
5i se reolizo lo operocion de correlocion sobre lo mismo senol X se
denomino outocorrelocion y se deline:

=
+ = = = =
k k k
XX
k X k l X k X k l X l k X k X l X l X l r ) ( ) ( ) ( ) ( ) ( ) ( ) ( * ) ( ) (
Lo correlocion tiene los siguientes propiedodes:
1. ) ( ) ( l r l r
YX XY
=
2. ) ( ) ( l r l r
XX XX
=
3.
X XX X
E r Energa = = ) 0 (
4. ) 0 ( ) (
XX X XX
r E l r =
S. ) 0 ( ) 0 ( ) (
YY XX Y X XY
r r E E l r =
Ls especiolmente interesonte lo propiedod 4, donde se dice que lo
outocorrelocion de uno luncion X siempre es menor o iguol que lo energlo de dicho
luncion X. Lo iguoldod se olconzo en el origen, es decir, lo outocorrelocion de uno
senol X coincide con su energlo en el origen.
X
k
XX
E k X k X r = =

=
) ( ) ( ) 0 (
Lstudio del metodo de deteccion 6O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lor ultimo delinomos cuol ser lo expresion que usemos poro el clculo de lo
correlocion en el proyecto. Lsto ser lo correlocion normolizodo o coeliciente de
correlocion normolizodo y su expresion motemtico se muestro o continuocion:

= =
=


=
M
k
M
k
M
k
XY
l k Y k Y l k X k X
l k Y k X
l C
0 0
0
) ( ) ( ) ( ) (
) ( ) (
) (
No nos intereso colculor estos coelicientes de correlocion poro los distintos
volores de I yo que serlo un clculo imposible de hocer en tiempo reol. 5olo nos
intereso el volor de C
XY
cuondo el volor de I seo O, donde lo correlocion tendrlo que
dor un mximo de similitud entre ombos.
Llegodos o este punto se entender mejor porque se hon utilizodo estos
coelicientes de correlocion y no el volor de lo correlocion de ombos senoles. Lo
rozon es que este coeliciente esto normolizodo o 1, es decir, que su mximo volor
ser 1 cuondo ombos secuencios de imgenes coincidon exoctomente. Le este
modo, ol conocer el mximo yo tenemos un pormetro que nos indico cuon
porecidos son dos senoles de secuencios de vldeo. Como se ho justilicodo
onteriormente se colculo el volor poro I=O:
1
) 0 ( ) 0 (
) 0 (
) ( ) ( ) ( ) (
) ( ) (
) 0 (
0 0
0

= =
=
YY XX
XY
M
k
M
k
M
k
XY
r r
r
k Y k Y k X k X
k Y k X
C
Lstudio del metodo de deteccion 61
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Le este modo si los secuencios X e Y coinciden exoctomente se obtiene el
volor mximo poro C
XY
= 1.
Ln nuestro coso tenemos que comporor dos motrices con iguol numero de
lilos pero con distinto numero de columnos, cuondo lo correlocion que hemos
delinido es poro senoles de iguol tomono. 1endremos pues, que correlocionor lo
motriz 5lO1_LL1, obtenido duronte el tiempo de observocion, o lo lorgo de lo
motriz de moyor tomono. Consideremos que lo motriz 5lO1_LL1 tiene uno longitud
N. Lo que horemos es ir correlocionondo esto motriz con secuencios de tomono N
de lo motriz de lo bose de dotos. Lsto se hor desde el principio del onuncio de lo
bose de dotos hosto su lin, guordondo ol linol de lo correlocion el volor mximo
obtenido. Ll lin o ultimo secuencio de lo bose de dotos que comporomos,
comenzor en lo columno cuyo distoncio hosto el linol seo iguol o N, poro que lo
ultimo secuencio correlocionodo tengo dicho tomono, el de lo motriz 5lO1_LL1.
Ll volor que obtendremos como resultodo ser el volor mximo de todos los
correlociones reolizodos, correspondiente o lo secuencio del onuncio guordodo ms
porecido o lo que ocobomos de copturor. Lecidiremos si lo secuencio detectodo
pertenece o no ol onuncio si el volor resultonte es moyor que un umbrol de
deteccion que hobremos lijodo con onterioridod.
Lstudio del metodo de deteccion 62
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
A continuocion ponemos el codigo en Votlob que hemos utilizodo poro
reolizor esto correlocion.

Como se ve, obtenemos un vector coiieI con los volores de todos los
correlociones reolizodos o lo lorgo del onuncio de lo bose de dotos (spoI). Lse
vector nos indicor cuoles hon sido todos los volores de lo correlocion reolizodo,
que estorn entre 1 y +1. Ll volor de correlocion se oproximo o +1 cuondo lo
correlocion tiende o ser lineol directo (moyores volores de X signilicon moyores
volores de Y), y se oproximo o 1 cuondo lo correlocion tiende o ser lineol inverso.
Ls importonte notor que lo existencio de correlocion entre voriobles no implico
cousolidod. 5i no hoy correlocion de ningun tipo entre dos voriobles, entonces
tompoco hobr correlocion lineol, por lo que correl = O. 5in emborgo, el que ocurro
correl = O solo nos dice que no hoy correlocion lineol, pero puede que lo hoyo de
otro tipo. Ll siguiente diogromo resume el onlisis del coeliciente de correlocion
entre dos voriobles [14]:
lunction [maxcorr,indice,corr]=correlacion(spot_det,spot);

tam_spot_det=size(spot_det,2);
tam=size(spot,2)-tam_ spot_det +J;

lor i=J:tam
correl(i)=corr2(spot_det,spot(:,i:(i+tam_spot_det-J)));
Lstudio del metodo de deteccion 63
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Correlocion negotivo perlecto........................ -1
Correlocion negotivo luerte moderodo debil............... -O,S
Ninguno correlocion............................. O
Correlocion positivo moderodo luerte................... +O,S
Correlocion positivo perlecto.......................... + 1
A continuocion se expone un ejemplo de esto correlocion, que se reolizo o lo
lorgo de lo busquedo de los potrones de vldeo odecuodos que veremos en el
siguiente oportodo. Ll primer grlico represento el vector coiieI que lo luncion ontes
expuesto do como solido. vemos que los volores estn ocotodos entre 1 y +1 y
que hoy picos en los que el vector se ocerco ms o esos extremos. Ll resultodo de
lo correlocion que nosotros usoremos ser el volor mximo de dicho vector. Lo
segundo grlico se corresponde o uno de los onuncios de lo bose de dotos que,
como vemos en este coso, se troto de un solo vector. Lo ultimo grlico es un trozo
de un onuncio, que es el que se ho correlocionodo con el onuncio de orribo.
Lo correlocion expuesto
no tiene ms volor que el
explicotivo, yo que lormo porte
de uno de los muchos pruebos
Lstudio del metodo de deteccion 64
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
que hemos reolizodo. Lo solucion de olmocenomiento de onuncios, que linolmente
se odopto, no se corresponde con lo mostrodo.
Ig. 3. EjempIo ue correIacon
Lstudio del metodo de deteccion 6S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.2 PA1RONE5 DE 5ECUENCIA DE VIDEO
Ln este oportodo es donde vemos el estudio reolizodo poro encontror el
metodo de olmocenomiento odecuodo de los secuencios de imgenes que
conlormon los onuncios. Ls decir, vomos en lo busquedo de un potron poro
olmocenor de lormo compocto y opropiodo secuencios de vldeo digitol
correspondientes o los onuncios de television.
Ll metodo reolizodo ho sido sobre todo experimentol. Lespues de pensor un
sistemo que o nuestro porecer horlo posible lo correcto deteccion se probobo con
uno bose de dotos de onuncios grobodos de lo television. Lstos onuncios se
groboron de dilerentes conoles con distintos progromos (Amcop, virtuolLub y el
incluido con lo torjeto de 1v), posndose despues con otros progromos (virtuolLub
y 1VlOLnc) o uno secuencio de orchivos de imgenes BVl. A continuocion
podemos ver un ejemplo de uno secuencio de imgenes copturodos:
Lstudio del metodo de deteccion 66
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 9. 5ecuenca ue anunco en mgenes EMF
Cuondo se copturoron estos onuncios de lo television el lrome rote
(lrecuencio de cuodro) lue de 2S lromes7segundo osegurndonos osl de que
copturorlomos todos los lotogromos que se emiten, ol iguol que hoce nuestro
oplicocion. Como yo se comento, esto copturo un lrome codo 4O ms, es decir,
174Oms = 2S lromes por segundo.
Lstos imgenes, que estn guordodos en el disco duro, son procesodos
medionte lunciones de Votlob reolizondo los operociones que yo comentomos en
los diogromos de llujo de Aprendizoje y Leteccion. Convertimos los cuodros
copturodos en escolo de grises y los reescolomos o 32Ox24O. Vs torde
procesoremos esos imgenes y de ellos obtendremos lo inlormocion necesorio que
iremos olmocenondo en motrices. Lstos motrices los olmocenoremos en orchivos de
Lstudio del metodo de deteccion 67
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
texto que lormorn por ohoro nuestro bose de dotos. A continuocion se expone uno
secuencio de imgenes que ilustro el proceso reolizodo:

Ig. 1O. Imagen orgnaI

Ig. 11. Imagen ue InIensuau escaIaua
Lste proceso se reolizo con uno sencillo luncion en Votlob que exponemos o
continuocion. Como se ver en el siguiente oportodo su reolizocion en C++ no lue
ton sencillo. Lste hecho se repetir con lo moyorlo de lunciones reolizodos en
Votlob yo que este incluye un TooIoox ue FiocesamIenIo ue /mgenes con
lunction [H]=retoca(imag);

A=lmread(imag); 7lee la imagen almacenada en el disco duro
B=rgb2gray(A); 7pasa esa imagen a escala de grises
Lstudio del metodo de deteccion 68
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lunciones implementodos que comprenden uno extenso coleccion de operociones
de trotomiento digitol de imgenes. Adems el monejo de motrices con Votlob es
muy sencillo, yo que su lenguoje est orientodo o trobojor con ellos.

Le lo imogen de intensidod o en escolo de grises obtendremos uno o ms
volores que incluiremos en uno motriz. 5i copturomos uno secuencio de N
imgenes, lo orgonizocion de lo motriz ser lo siguiente:
1endremos N columnos, correspondiendose codo uno o codo imogen
copturodo, desde lo primero o lo ultimo.
Codo columno (imogen copturodo) tendr un numero de lilos iguol ol
numero de corocterlsticos o pormetros que obtengomos de lo imogen.
Asl, codo columno contendr todos los pormetros de uno imogen y solo de
eso imogen y codo lilo contendr un determinodo pormetro o volor corocterlstico de
dicho imogen. Ln el coso de que solo obtengomos un pormetro por lotogromo
tendremos uno motriz lilo, es decir, un vector.
Lo onteriormente explicodo se corresponde ol metodo delinitivo, osl como o
otros tecnicos utilizodos. Lsto resulto ser lo mejor lormo de olmocenor los
Lstudio del metodo de deteccion 69
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
secuencios de imgenes, pero hosto su obtencion se utilizoron otros que iremos
explicondo.
Los siguientes oportodos recogen los metodos que se hon ido creondo desde
el principio, junto con los resultodos que ibo dondo codo uno de ellos. Ln todos
ellos es comun lo yo explicodo, voriondo los dotos que vomos obteniendo de codo
imogen y lo lormo de obtenerlos. A lo lorgo del trobojo reolizodo tombien se lueron
perleccionondo los lunciones y simulociones reolizodos que probobon dichos
metodos, de lormo que obtuviesemos lo moyor inlormocion posible del sistemo
reolizodo. Los metodos se exponen de lormo cronologico, conlorme ibon siendo
reolizodos y probodos. Como se ver, en ocosiones volvlomos o retomor lo probodo
en metodos onteriores, pero se ho elegido esto lormo de explicorlo porque osl se ve
con ms cloridod como se ibo ovonzondo y encorondo los dilerentes lollos de
nuestro metodo.
3.2.1 MTODO 1. DIFLRLNCIA DL IMOLNL5
3.2.1.1 Desarro||o
Ln este primer metodo se colculoron los imgenes dilerencio entre dos
lromes consecutivos y o lo imogen resultodo se le hollo lo medio (luncion utilizodo:
mean2) por un lodo y lo desviocion estndor (luncion utilizodo: sIu2) por otro. Ln
Lstudio del metodo de deteccion 7O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
un primer momento se penso que lo medio o vorionzo de lo dilerencio de dos
imgenes inclulo ms inlormocion que si se electuobon estos dos operociones sobre
lo imogen originol. vemos el ospecto de uno imogen dilerencio:
Ig. 12. Imagen uIerenca
5e creo uno luncion que ero lo encorgodo de leer los imgenes del disco
duro desde un lndice inicio hosto uno linol e ibo colculondo los medios y vorionzos
de los imgenes dilerencio. Ll codigo implementodo es:
lunction [serieJ,serie2]=seriedill(imag,lormat,inicio,lin);

lor i=inicio:lin
s=[imag,int2str(i),'.',lormat];
imagen=retoca(s);

il i>inicio
dilerencia=imabsdill(imagen_ant,imagen);
serieJ(i-inicio+J)=mean(dilerencia(:));
serie2(i-inicio+J)=std2(dilerencia);
else
serieJ(i-inicio+J)=mean(imagen(:));
serie2(i-inicio+J)=std2(imagen);
Lstudio del metodo de deteccion 71
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Como vemos en el codigo orribo expuesto, lo luncion devuelve dos vectores,
uno que olmoceno los volores de los medios y el otro que olmoceno los vorionzos.
lor codo imogen obtenemos uno imogen dilerencio y por codo imogen dilerencio
obtenemos un volor (medio o vorionzo) que olmocenomos en motrices lilo, es decir
vectores. Como el primer volor obtenido no puede ser de uno imogen dilerencio (ol
no poder restorlo con nodo), lo quitomos, resultondo que si copturomos N
imgenes, el vector solido tiene uno longitud de N-1.
Los vectores obtenidos se guordobon en un lichero de texto codo uno, de
lormo que ms torde se pudiesen leer y recuperor eso inlormocion que se utilizorlo
poro los correlociones.
loro los pruebos con estos dos tecnicos se groboron tres onuncios: Coco-
Colo, 5even Up y volkswogen. Codo uno se grobo en conoles dilerentes, de lormo
que tuviesemos dos versiones distintos de los tres. 5e colculoron los potrones de
los secuencios de vldeo con lo medio y vorionzo y guordoron en licheros de texto.
Pepresentondo grlicomente los vectores obtenidos tenemos:

Lstudio del metodo de deteccion 72
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 13. VecIores ue anuncos aImacenauos con eI MeIouo 1
Lo nomencloturo utilizodo ho sido mean y sIu poro dilerencior los dos
tecnicos utilizodos y 1 y 2 poro dilerencior el mismo onuncio pero grobodo en
conoles distintos. Ln lo liguro 13 hemos representodo el onuncio de 5even Up, del
cuol tenlomos unos 7SO lotogromos copturodos, de ohl el eje de obscisos. Ln el eje
de ordenodos tenemos el volor de lo medio o vorionzo (segun lo grlico que
observemos) de lo imogen dilerencio determinodo.
Como se ho explicodo en los onteriores oportodos nuestro oplicocion estorlo
en codo conol un determinodo 1iempo de Observocion. loro reolizor lo simulocion
de estos dos tecnicos se decidio que en codo conol deberlo estor un tiempo de 1
segundo (17O.O4 = 2S lromes), con lo que tros restorle el tiempo de combio de
conol yo indicodo nos restorlon unos 2O lromes. Lste tiempo de 1 segundo lue en
un principio un punto de portido, considerondo oumentorlo en coso de que
supusiese uno mejoro consideroble. Asl pues, el metodo de trobojo serlo coger uno
Lstudio del metodo de deteccion 73
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
secuencio de 2O lromes de un onuncio y correlocionorlo con el otro onuncio de lo
lormo que yo indicomos.
Como yo vimos, cuondo correlocionomos uno secuencio menor con otro de
moyor longitud, lo que hocemos es ir correlocionondo lo menor con secuencios (de
su mismo tomono) de lo moyor desde el principio hosto el lin de esto ultimo. lero
poro no empezor o probor indiscriminodomente, creomos uno luncion que recorre un
onuncio entero cogiendo secuencios de 2O lromes y los vo correlocionondo con el
otro, representondo el resultodo cuondo hoyomos terminodo de recorrer el primer
onuncio. Le esto lormo pudimos obtener volores estodlsticos del nivel de deteccion
(verdodero o lolso) y del lollo en lo deteccion, ol probor todos los posibles
correlociones que se podlon dor entre dos onuncios. loro hocer menor el clculo
computocionol vomos cogiendo los secuencios de 2O lromes en soltos de 1O, por lo
que reolmente no probomos todos los posibles comporociones o correlociones entre
ombos onuncios, sino un 1O7 de todos los posibles. Lxponemos el codigo por si
puede oyudor o un moyor entendimiento:
Lstudio del metodo de deteccion 74
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

lemos llomodo pIece_mean, y pIece_sIu o los secuencios de 2O lromes que
vomos cogiendo de uno de los onuncios y spot_meon y spot_std ol otro onuncio con
el que vomos o reolizor lo comporocion.
Pesenor que electuondo este solto de 1O, los simulociones duron del orden
de 1 horo, con lo que durorlo diez veces ms sin este solto. loblo que reolizor seis
simulociones ol tener tres onuncios en lo bose de dotos: uno por codo onuncio y
tres correlociones cruzodos. 5in mucho esluerzo podemos colculor que sin el solto
los seis simulociones tordorlon en electuorse unos 6O horos, por eso se opto por
uno primero oproximocion estudiondo ms en detolle lo situocion en coso de ser
necesorio. Ll grlico resultonte de estos simulociones viene dodo por:
j=1;

tor lnlclo=1.10.(|ength(onunclo)-20)

tln=lnlclo - 20 -1;

[plece_meon,plece_std]=serledltt(tromes_copturodos,'bmp',lnlclo,tln);

[moxcorr_meon,corr_meon]=corre|oclon(plece_meon,spot_meon);
corre|_meon(j)=moxcorr_meon;
[moxcorr_std,corr_std]=corre|oclon(plece_std,spot_std);
Lstudio del metodo de deteccion 7S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 14. CorreIacon ue anunco ue Coca-CoIa
Codo uno de los volores ohl representodos es el resultodo de correlocionor
uno secuencio de 2O lromes de un onuncio con lo version completo del mismo
onuncio grobodo en otro conol. Como vimos en el grlico onterior los onuncios
tienen uno longitud del orden de 7SO lromes. Al ir cogiendo los secuencios de 1O
en 1O tenemos como resultodo 7SO71O = 7S volores que son el numero de
correlociones electuodos.
vemos o
continuocion un ejemplo
de correlocion de uno
secuencio de 2O lromes
de un onuncio con lo otro
Lstudio del metodo de deteccion 76
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
version del mismo onuncio(en este coso del onuncio de Coco-Colo):


Ig. 15. EjempIo ue correIacon ueI anunco Coca-CoIa


vemos que el mximo se do ol linol de los correlociones reolizodos. Ll volor
es O.93788, que ser el resultodo que dor como solido lo correlocion electuodo.
Abojo vemos los secuencios cuyo correlocion ho dodo ese volor mximo, osl como
los volores de inicio y lin de estos secuencios dentro de los onuncios donde estn
contenidos.
Los volores representodos en lo liguro 14 no son ms que los volores
mximos de correlociones como los de lo liguro 1S. Ln lo liguro 14 representomos
uno simulocion que rellejo todos los posibles cosos (reolmente un 1O7) que se
pueden dor en lo comporocion de ombos onuncios. 5implemente con lo observocion
de lo grlico vemos que lo deteccion se produce de lormo correcto gron porte de los
veces, y que esto no se consigue en otros cuontos. lero necesitomos cuontilicor de
olguno lormo este resultodo, poro osl poder comporor con otros metodos o
Lstudio del metodo de deteccion 77
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
solomente poro sober los porcentojes de outentico o lolso deteccion electuodos.
loro ello se reolizoron dos lunciones:
ca|cu|a_porcenta[e: tiene como entrodos el vector que se represento en
lo liguro 14 y un umbrol que nosotros estoblezcomos. Lo solido ser el
porcentoje del numero de dotos sobre el totol que se encuentron por
encimo de ese umbrol. 5u codigo es:

ca|cu|a_umbra|: esto luncion reolizo lo toreo inverso que lo onterior.
1iene como entrodos el vector y el porcentoje de deteccion deseodo. Lo
solido ser el umbrol de deteccion que hobr que estoblecer poro
conseguir dicho porcentoje de deteccion. 5er esto lo luncion que
usoremos principolmente poro evoluor este metodo, estobleciendo unos
porcentojes y volorondo los umbroles necesorios en los distintos
comporociones reolizodos. 5u codigo es:
lunction [porcentaje]=calcula_porcentaje(correl, umbral);

cont=0;

lor i=J:size(correl,2)
il correl(i)>=umbral;
cont=cont+J;
end
Lstudio del metodo de deteccion 78
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

loro probor experimentolmente este metodo vomos o comporor los versiones
de los mismos onuncios, poro posteriormente comporor onuncios dilerentes, viendo
osl lo lolso y outentico deteccion. A continuocion vemos los resultodos de los
umbroles necesorios poro conseguir esos porcentojes de deteccion en todos los
simulociones reolizodos.

Volkswagen Seven Up Coca-Cola
% MEAN STD MEAN STD MEAN STD
90 0.67 0.63 0.78 0.86 0.88 0.92
80 0.7 0.73 0.84 0.92 0.96 0.96
70 0.74 0.8 0.91 0.95 0.98 0.98

Volks vs SevenUp Volks vs Coca Coca vs SevenUp
% MEAN STD MEAN STD MEAN STD
10 0.98 0.97 0.98 0.97 0.98 0.96
lunction [umbral]=calcula_umbral(correl, porcentaje);

umbral=J;
cont=0;
porc=0;

il porcentaje == 0
umbral=max(correl);
else
while porc<porcentaje;
lor i=J:length(correl)
il correl(i)>=umbral
cont=cont+J;
Lstudio del metodo de deteccion 79
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
20 0.95 0.94 0.97 0.95 0.97 0.92
30 0.93 0.91 0.96 0.92 0.95 0.90

Ln lo primero toblo tenemos los umbroles necesorios, de los dos tecnicos
utilizodos, poro lo obtencion de los porcentojes de deteccion expuestos. Lse volor
de umbrol es el que oseguro que, por ejemplo, en grlicos como el de lo liguro 14,
el porcentoje deseodo de volores este por encimo de dicho umbrol.
Ln lo segundo toblo tenemos comporociones entre distintos onuncios, por lo
que nos intereso que no hoyo deteccion olguno. Asl, cogemos porcentojes de
deteccion bojos poro ver cuoles son los umbroles que nos oseguron dicho
porcentoje. Le esto lormo podemos comporor los umbroles obtenidos en lo primero
toblo y ver si con esos umbroles se obtienen muchos lolsos detecciones entre
onuncios distintos.
3.2.1.2 Conc|us|ones
Lespues de un simple estudio de los resultodos obtenidos vemos cloromente
que con este metodo no podemos detector correctomente los onuncios o lo vez que
descortomos los onuncios que no se corresponden con el comporodo. 5i
observomos lo primero toblo obtenemos que nos es necesorio un umbrol de O.6
oproximodomente poro conseguir uno deteccion de ms del 9O7 en los tres
onuncios. 5i ese mismo umbrol lo oplicomos con lo luncion colculo_porcentoje o los
Lstudio del metodo de deteccion 8O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
otros tres simulociones, obtenemos unos porcentojes de lolso deteccion de ms del
8O7 en todos los cosos.
Obviomente este metodo no nos sirve poro logror lo deteccion de los
onuncios duronte el 1iempo de Observocion. lubo que desorrollor y probor otros
metodos poro logror nuestro objetivo.
3.2.2 MTODO 2. DIFLRLNCIA Y DIVI5IN LN UN VLCTOR
3.2.2.1 Desarro||o
loro reolizor este nuevo metodo trobojomos sobre el onterior. Usomos lo
mismo tecnico poro lo obtencion de los dotos, pero con onterioridod hocemos
divisiones de los imgenes dilerencio. 5e hon utilizodo divisiones en 4, 9 y 16
cuodros del mismo tomono y tombien en 2 y 4 lilos y columnos. lueron multiples
los simulociones reolizodos y no se quiere obrumor ol lector con un moremgnum
de dotos que o lo postre no nos dieron unos resultodos sotisloctorios. Como ejemplo
ponemos los toblos que obtuvimos ol reolizor los simulociones en uno de los
muchos que se reolizoron:
Tab|a de umbra|es:

Valores Antiguos 4 Divisiones 16 Divisiones
% MEAN STD MEAN STD MEAN STD
90 0.67 0.63 0.84 0.71 0.81 0.69
Lstudio del metodo de deteccion 81
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
80 0.7 0.73 0.88 0.77 0.84 0.71
70 0.74 0.8 0.96 0.89 0.91 0.75



Valores Antiguos 2 Divisiones Filas 2 Divisiones Columnas
% MEAN STD MEAN STD MEAN STD
90 0.67 0.63 0.80 0.78 0.81 0.75
80 0.7 0.73 0.86 0.83 0.85 0.81
70 0.74 0.8 0.98 0.92 0.98 0.96

Valores Antiguos 4 Divisiones Filas 4 Divisiones Columnas
% MEAN STD MEAN STD MEAN STD
90 0.67 0.63 0.83 0.71 0.83 0.70
80 0.7 0.73 0.87 0.78 0.88 0.76
70 0.74 0.8 0.97 0.86 0.97 0.94


9 Divisiones
% MEAN STD
90 0.79 0.67
80 0.86 0.73
70 0.95 0.75

vemos los dilerentes tecnicos que se proboron. Los dotos se siguen
orgonizondo en un solo vector, con los volores de los divisiones uno tros otro.
1odovlo no seporomos en lilos los dotos obtenidos de codo imogen, como hemos
comentodo con onterioridod. Lstos toblos hon sido hollodos en lo simulocion de lo
comporocion de los dos versiones del onuncio de volkswogen. 5e elobororon toblos
iguoles poro los otros dos onuncios, llegondo o lo conclusion de que uno de los
mejores tecnicos ero lo division en 4 cuodros iguoles y en 4 lilos de lo imogen
dilerencio. Lel estudio de los dotos obtenidos tombien se dedujo que el clculo de
lo vorionzo oportobo menos inlormocion que lo medio, o lo vez que cousobo uno
Lstudio del metodo de deteccion 82
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
moyor corgo computocionol que esto ultimo. lor ello de ohoro en odelonte solo
utilizoremos lo medio.
loro lo consecucion de los dilerentes tecnicos utilizodos no hubo ms que
modilicor los lunciones que yo vimos en el metodo onterior. A continuocion
exponemos uno de ellos, resenondo que el resto de tecnicos se boson en los
mismos lormulos de progromocion.









lunction [serie,serie2]=seriedill_div(imag,lormat,inicio,lin);

division=4;
division_lila=240/(division)(J/2);
division_col=220/(division)(J/2);

lor i=inicio:lin
s=[imag,int2str(i),'.',lormat];
imagen=retoca(s);
div=0;
lor j=J:(division)(J/2)
lor k=J:(division)(J/2)
div=div+J;
il i>inicio
dilerencia=imabsdill(imagen((j-J)-division_lila+J:j-division_lila,(k-J)-division_col+J:k-division_col)
,imagen_ant((j-J)-division_lila+J:j-division_lila,(k-J)-division_col+J:k-division_col));
Lstudio del metodo de deteccion 83
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
loro probor lo lolso deteccion utilizomos los mejores tecnicos encontrodos,
que ero lo division en 4 cuodros y en 4 lilos. lollomos tombien lo toblo de
umbroles, obteniendo:
Vo|kswagen vs 5even Up Vo|kswagen vs Coca Co|a
Valores
Antiguos
4 Div 4 Filas
% MEAN MEAN MEAN
10 0.98 0.98 0.98
20 0.95 0.98 0.98
30 0.93 0.98 0.98
70 - 0.93 0.94
80 - 0.90 0.91
90 - 0.86 0.87
Valores
Antiguos
4
Divisiones
4 Filas
% MEAN MEAN MEAN
10 0.98 0.96 0.94
20 0.97 0.93 0.91
30 0.96 0.87 0.87
70 - 0.73 0.74
80 - 0.68 0.69
90 - 0.64 0.65
5even Up vs Coca Co|a
Valores Antiguos 4 Divisiones 4 Filas
% MEAN MEAN MEAN
10 0.98 0.97 0.93
20 0.97 0.97 0.92
30 0.95 0.97 0.92
70 - 0.92 0.89
80 - 0.91 0.85
90 - 0.89 0.84
3.2.2.2 Conc|us|ones
1ros un estudio de los dotos obtenidos no nos quedo ms que desechor este
metodo. Los resultodos son prcticomente iguol de molos que en el primer metodo.
loro oseguror lo correcto deteccion tenemos que estoblecer un umbrol que ol
oplicorlo o los correlociones cruzodos nos do porcentojes de lolso deteccion de ms
de un 8O7. Obviomente este metodo no nos sirve poro detector correctomente los
onuncios, osl que tenemos que seguir buscondo.
Lstudio del metodo de deteccion 84
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.2.3 MTODO 3. DIFLRLNCIA Y 5LPARACIN
3.2.3.1 Desarro||o
vomos o probor ohoro un metodo distinto consistente en seporor los medios
de los volores positivos y negotivos resultontes o lo horo de restor los dos
imgenes. Cuondo reolizomos lo medio, ombos volores, positivos y negotivos, se
compenson, oportndonos o priori mucho ms inlormocion si seporomos ombos
volores. Los volores positivos nos indicon que ese plxel en lo imogen octuol tiene
moyor intensidod que en lo onterior, y los negotivos nos indicon justo lo controrio.
Ahoro reolizoremos un combio en lo lormo de olmocenomiento de los volores
obtenidos, proboremos o seporor los medios de los volores positivos y negotivos en
dos vectores, reolizondo posteriormente lo correlocion con el trozo de onuncio
copturodo. Lsto correlocion se reolizor tonto de lormo conjunto, es decir, ombos
vectores o lo vez, correlocionondo lo motriz obtenido con lo motriz de lo bose de
dotos, osl como de lormo seporodo, hociendolo con codo vector con el
correspondiente. Peolizoremos los pruebos olmocenondo los volores tonto en un
vector (olmocenondo volores positivos y negotivos de lormo consecutivo) como en
dos vectores y veremos si lo seporocion en vectores mejoro olgo los otros
resultodos.
A continuocion vemos un ejemplo de los dos lormos de olmocenomiento:
Lstudio del metodo de deteccion 8S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol


Ig. 16. AImacenamenIos ue anunco con eI meIouo 3
lodemos ver que lo lormo es lo mismo, con lo dilerencio de que en lo
primero imogen es un solo vector con el doble de longitud que en lo segundo, yo
que tenemos los mismos dotos que en los dos vectores de obojo pero puestos de
lormo consecutivo negotivo tros positivo.
londremos unos toblos de ejemplo de entre todos los que se reolizoron,
poro que el lector puedo oprecior los resultodos que se obtuvieron con este metodo.
5e hon elegido los toblos que nos muestron los peores cosos de los simulociones
reolizodos:
Lstudio del metodo de deteccion 86
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Tab|a de umbra|es:

Seven Up
Pos Neg Pos Neg 2 vectores
% 1 SOLO VECTOR CONJUNTA POSIT NEGAT
90 0.981 0.981 0.639 0.641
80 0.984 0.984 0.851 0.800
70 0.987 0.987 0.880 0.871

Volkswagen vs Seven up
Pos Neg Pos Neg 2 vectores
% 1 SOLO VECTOR CONJUNTA POSIT NEGAT
10 0.993 0.993 0.993 0.981
20 0.991 0.991 0.939 0.926
30 0.989 0.989 0.900 0.904
70 0.961 0.961 0.802 0.778
80 0.944 0.944 0.729 0.728
90 0.910 0.910 0.654 0.647

3.2.3.2 Conc|us|ones
Los resultodos de este ultimo metodo utilizodo porecen ser un buen punto de
portido, yo que lo deteccion del onuncio esto bostonte gorontizodo. Lxiste un
problemo o lo horo de lo lolso deteccion, porque observondo los umbroles y
porcentojes obtenidos, si conseguimos un porcentoje de deteccion del 9O7 o ms,
detectorlomos tombien sobre un 3O7 de onuncios incorrectos.
vemos que lo seporocion en vectores de los volores positivos y negotivos no
mejoro los resultodos de un solo vector. 5i observomos los dotos de los
correlociones individuoles de los volores positivos y negotivos vemos que no nos
sirven poro detector o desechor un onuncio de entre los dems. Los resultodos de
Lstudio del metodo de deteccion 87
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lo correlocion conjunto son identicos o los que obtenemos cuondo olmocenomos los
volores de lormo sucesivo en un solo vector.
Ln conclusion, hemos mejorodo olgo los resultodos que tenlomos
onteriormente, pero sigue sin ser un buen metodo con el que veomos que
trobojondo por esto llneo consigomos lo tecnico delinitivo.
3.2.4 MTODO 4. DIFLRLNCIA Y DIVI5IN LN UNA MATRIZ
3.2.4.1 Desarro||o
Ln este metodo vomos o probor ohoro o seporor lo imogen en cuodros del
mismo tomono (coso que yo hicimos), pero olmocenondo los volores de codo
division en un vector o lilo dilerente de lo motriz. Los columnos de lo motriz, como
yo comentomos, se correspondern o imgenes dilerentes. Lespues
correlocionoremos lo motriz entero de lormo conjunto con otro motriz y los lilos de lo
motriz (divisiones en cuodros de lo imogen) de lormo seporodo con los lilos
correspondientes de otro motriz.
Pecordemos que seguimos trobojondo con lo imogen dilerencio. Ln todos los
metodos que hemos visto hosto ohoro, incluido este, cuondo hoblomos de dividir lo
imogen siempre nos relerimos o lo imogen dilerencio.
Lo division se reolizo en 4 cuodros iguoles y los toblos resultontes son:
Lstudio del metodo de deteccion 88
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Tab|a de Umbra|es:

Seven Up
4 Cuadros 4 Cuadros
% 1 SOLO
VECTOR

CONJUNTA Cuadro 1 Cuadro 2 Cuadro 3 Cuadro 4
90 0.87 0.573 0.771 0.803 0.837 0.720
80 0.93 0.760 0.811 0.847 0.879 0.816
70 0.95 0.896 0.886 0.907 0.941 0.871


Volkswagen vs Seven Up
4 Cuadros 4 Cuadros
% 1 SOLO
VECTOR

CONJUNTA Cuadro 1 Cuadro 2 Cuadro 3 Cuadro 4
10 0.98 0.953 0.994 0.994 0.982 0.987
20 0.98 0.841 0.922 0.934 0.950 0.920
30 0.98 0.767 0.890 0.873 0.921 0.902
70 0.93 0.606 0.772 0.774 0.826 0.802
80 0.90 0.590 0.761 0.743 0.807 0.744
90 0.86 0.536 0.724 0.691 0.748 0.708


3.2.4.2 Conc|us|ones
vemos que lejos de mejoror los volores que yo tenlomos, los hemos
empeorodo. Lo logico nos declo que mejororlomos los resultodos, pero no ho sido
osl. Aun osl seguimos pensondo que lo division de lo imogen nos oporto uno moyor
inlormocion. Ls logico pensor que cuontos ms dotos sobre uno imogen tengomos
guordodos, ms inlormocion nos oportor lo correlocion y que lo deteccion mejoror
con su oplicocion. Aunque segun lo visto, lo tecnico de dilerenciocion de imgenes
no do los resultodos esperodos.
Lstudio del metodo de deteccion 89
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Otro conclusion cloro que socomos delinitivomente es que los volores de los
correlociones de los cuodros (lilos de lo motriz) entre sl, no nos oporton ninguno
inlormocion. Al iguol que cuondo seporbomos en vectores los volores positivos de
los negotivos, volvemos o encontror que nos oporto mucho ms lo correlocion
conjunto que lo de los lilos por seporodo.
A pesor de que los resultodos en porcentoje de deteccion son peores que los
del onterior metodo, si estudiomos los volores de los umbroles segun el porcentoje,
vemos que en este coso el umbrol vorlo ms rpidomente ol modilicor el porcentoje.
Antes nos movlomos en dilerencios entre los umbroles de centesimos, cuondo
ohoro se distoncion en decimos. Lste metodo serlo por tonto ms robusto que los
onteriores si consiguieromos dilerencior los outenticos de los lolsos detecciones.
loro lo reolizocion de los siguientes metodos se tuvieron muy presentes los
resultodos de este ultimo, que, ounque o primero visto poreclo no luncionor, lo
logico nos declo que sl lo horlo.
3.2.5 MTODO 5. DIFLRLNCIA, DIVI5IN Y 5LPARACIN
3.2.5.1 Desarro||o
Ln este metodo quisimos combinor los dos ultimos metodos utilizodos. lor
uno porte estobo lo seporocion de los resultodos positivos y negotivos de lo
Lstudio del metodo de deteccion 9O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
dilerenciocion de los imgenes. Y por otro lo division de lo imogen en cuodros de
iguol tomono, olmocenondo codo cuodro en uno lilo de lo motriz. Ll primero nos
hoblo dodo buenos resultodos de deteccion; el segundo nos poreclo que podlo
luncionor poro uno mejor deteccion.
linolmente dividimos lo imogen dilerencio en cuodros de iguol tomono y
seporomos los volores positivos de los negotivos. Los dotos obtenidos los
olmocenbomos en lilos, correspondiendose codo uno o un determinodo cuodro.
Como vimos que lo seporocion en vectores de los volores positivos y negotivos no
mejorobo los resultodos de un solo vector, olmocenoremos esos volores en uno
mismo lilo, de lormo consecutivo.
5e reolizoron simulociones con 4, 9 y 16 cuodros y se constoto que los
resultodos mejorobon consideroblemente conlorme lbomos oumentondo el numero
de cuodros. losto ohoro siempre hoblomos reolizodo los pruebos simulondo que el
1iempo de Observocion ero un segundo, con lo que tros restorle el tiempo de
combio de conol nos resultobon uno copturo de 2O lromes del conol. Ahoro
oumentoremos el tiempo de explorocion del conol en O.4 segundos, con lo que
posomos de 2O o 3O lromes copturodos. A priori, ol iguol que lo division en un
moyor numero de cuodros supuestomente mejoro los resultodos, el exploror un
moyor tiempo de conol, redundo en uno moyor inlormocion recogido y por ende en
uno mejor deteccion.
Lstudio del metodo de deteccion 91
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lxpondremos ohoro solo los resultodos conseguidos con lo division en 16
cuodros, que yo dijimos, eron los mejores. Lnlrentoremos los resultodos
conseguidos con 2O y 3O lromes poro uno mejor comporocion y se presentorn los
toblos reolizodos con todos los onuncios y sus correlociones cruzodos. Como yo se
dijo los volores de correlocion que se tomon son los de lo correlocion conjunto.
Tab|a de Umbra|es
Seven Up
16Div+PosNeg
%
10 20 30 40 50 60 70 80 90 95
20 frames 0.9850 0.9830 0.9790 0.9740 0.9680 0.9640 0.9480 0.9420 0.9290 0.9060
30 frames 0.9830 0.9820 0.9800 0.9750 0.9700 0.9640 0.9440 0.9360 0.9250 0.9130

Volkswagen
16Div+PosNeg
%
10 20 30 40 50 60 70 80 90 95
20 frames 0.9930 0.9890 0.9820 0.9790 0.9750 0.9710 0.9670 0.9630 0.9560 0.9520
30 frames 0.9920 0.9900 0.9850 0.9810 0.9750 0.9740 0.9690 0.9640 0.9570 0.9500
Coca Cola
16Div+PosNeg
%
10 20 30 40 50 60 70 80 90 95
20 frames 0.9940 0.9930 0.9920 0.9910 0.9900 0.9880 0.9850 0.9790 0.9680 0.9370
30 frames 0.9930 0.9930 0.9910 0.9900 0.9890 0.9870 0.9850 0.9800 0.9690 0.9400


Volkswagen vs Seven Up
16Div+PosNeg
%
10 20 30 40 50 60 70 80 90 95
20 frames
0.9370 0.9030 0.8780 0.8500 0.8370 0.8040 0.7810 0.7430 0.7200 0.6920
30 frames 0.9090 0.8730 0.8490 0.8280 0.7900 0.7600 0.7410 0.7210 0.7070 0.6830


Volkswagen vs Coca Cola
16Div+PosNeg
%
10 20 30 40 50 60 70 80 90 95
20 frames 0.8830 0.8550 0.8280 0.8120 0.8010 0.7580 0.7480 0.7100 0.6910 0.6670
30 frames 0.8350 0.8230 0.7810 0.7420 0.7290 0.7050 0.6870 0.6760 0.6560 0.6390
Lstudio del metodo de deteccion 92
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Seven Up vs Coca Cola
16Div+PosNeg
%
10 20 30 40 50 60 70 80 90 95
20 frames 0.8960 0.8730 0.8570 0.8370 0.8070 0.7760 0.7360 0.7250 0.7050 0.6670
30 frames 0.8440 0.8120 0.8030 0.7840 0.7670 0.7330 0.7080 0.6830 0.6540 0.6400

3.2.5.2 Conc|us|ones
vemos que los resultodos de lo deteccion correcto con 3O lromes con
respecto o los reolizodos con 2O lromes son muy porecidos y que los de lo lolso
deteccion son cloromente mucho mejores con 3O lromes de copturo. A primero visto
es lcil observor que podemos obtener uno deteccion prcticomente totol o lo vez
que descortomos cosi todos los lolsos onuncios. Le todos lormos esto se ver
mucho mejor si exponemos los resultodos numericos. vomos o escoger un umbrol,
que elegiremos del onuncio ms conllictivo y o continuocion pondremos los
porcentojes de deteccion outentico y lolso que se obtendrlon en los otros
simulociones. Virondo el onuncio de 5even Up como el onuncio crltico, obtenemos
un umbrol de 0.91.
Ljecutondo lo orden:
poicenIaje = caIcuIa_poicenIaje ,coiieI,sIze,coiieI,1;,.;, O.91;
Obtenemos los siguientes volores:
Lstudio del metodo de deteccion 93
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol


ANUNCIOS Con 20 frames Con 30 frames
Umbral 0.929 Umbral 0.91 Umbral 0.92
Volkswagen 95.94 % 97.26 % 97.26 %
Seven up 90 % 97.22 % 91.66 %
Coca Cola 95.95 % 97.26 % 97.26 %
Volkswagen vs Seven
up
13.7 % 11.11 % 8.33 %
Volkswagen vs Coca
Cola
0 % 0 % 0 %
Coca Cola vs Seven up 0 % 0 % 0 %


5e podrlo jugor con el umbrol poro bojor lo lolso deteccion del onuncio
volkswogen con el de 5even up, pero eso redundorlo en disminuir lo deteccion de
los onuncios.
Ln conclusion, tenemos un metodo bostonte bueno, que nos oseguro uno
deteccion muy olto o lo vez que descortomos de lormo correcto un gron porcentoje
de lolsos detecciones. A pesor de esto nuestro objetivo sigue siendo logror un 1OO7
de deteccion o lo vez que nos oseguromos un O7 de lolsos detecciones. Codo vez
nos encontromos ms cerco y yo hemos encontrodo olgunos tecnicos que hemos
comprobodo que luncionon.
3.2.6 MTODO 6. DIVI5IN
3.2.6.1 Desarro||o
Anteriormente encontromos un metodo muy bueno bosodo en lo division de
lo imogen en 16 cuodros, restondo esos cuodros con los de lo imogen onterior,
Lstudio del metodo de deteccion 94
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
seporondo lo porte positivo de lo negotivo y colculondo sus medios. Los resultodos
eron muy buenos pero no delinitivos, hoce lolto mejororlos, por lo que ohoro
proboremos olgo nuevo. No holloremos lo dilerencio con lo imogen onterior, sino
que utilizoremos directomente lo medio de codo cuodro. A codo uno le osignoremos
uno lilo y despues o lo horo de lo deteccion correlocionoremos los motrices
obtenidos. Apuntor que este estudio lo hemos reolizodo con lo copturo de 1 segundo
de conol, es decir, tenemos 2O lromes de dicho conol (recordor que le tenemos que
restor el tiempo que tordo en combior de conol).
Lste combio de metodo, cuondo siempre hosto ohoro hemos trobojodo con
los imgenes dilerencio, viene motivodo por lo observocion de que con lo
dilerenciocion de imgenes consecutivos perdemos mucho inlormocion relevonte. Al
ser dos lromes consecutivos prcticomente iguoles, cosi siempre tendremos
imgenes completomente negros. Cuondo se expuso uno imogen dilerencio, en ello
se notobo el perlil del movimiento que hoblo, pero en lo gron moyorlo no se oprecio
gron coso. 5i el ojo humono no puede distinguir entre dos imgenes dilerencio,
tompoco ser copoz el computodor. vemos olgunos ejemplos grlicos:
Lstudio del metodo de deteccion 9S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 17. EjempIos ue mgenes uIerenca
Lo gron moyorlo de imgenes dilerencio son como los dos ultimos,
completomente negros. Lsto nos perjudico o lo horo de lo lolso deteccion, pues dos
imgenes que en un principio son totolmente dilerentes cuondo se reston con lo
onterior pueden dor lugor o dos imgenes dilerencio totolmente negros que serlon
exoctomente iguoles.
A continuocion exponemos todos los resultodos obtenidos en los
simulociones, comporndolos con los que se tenlon en el onterior metodo.





Tabla de Umbrales

Seven Up
16Div
%
0 10 20 30 40 50 60 70 80 90 100
Con Div
PosNeg
0.9905 0.9830 0.9820 0.9800 0.9750 0.9700 0.9640 0.9440 0.9360 0.9250 0.8960
Sin Div
PosNeg
0.9975 0.9930 0.9910 0.9890 0.9870 0.9840 0.9800 0.9760 0.9610 0.9330 0.8470

Volkswagen
16Div
%
0 10 20 30 40 50 60 70 80 90 100
Con Div
PosNeg
0.9960 0.9920 0.9900 0.9850 0.9810 0.9750 0.9740 0.9690 0.9640 0.9570 0.8850
Sin Div
PosNeg
0.9978 0.9950 0.9930 0.9920 0.9910 0.9900 0.9860 0.9830 0.9800 0.9770 0.9320


Coca Cola
16Div
%
0 10 20 30 40 50 60 70 80 90 100
Lstudio del metodo de deteccion 96
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Con Div
PosNeg
0.9980 0.9930 0.9930 0.9910 0.9900 0.9890 0.9870 0.9850 0.9800 0.9690 0.8990
Sin Div
PosNeg
0.9987 0.9970 0.9960 0.9960 0.9960 0.9950 0.9950 0.9940 0.9930 0.9920 0.9900


Volkswagen vs Seven up
16Div
%
0 10 20 30 40 50 60 70 80 90 100
Con Div
PosNeg
0.9473 0.9090 0.8730 0.8490 0.8280 0.7900 0.7600 0.7410 0.7210 0.7070 0.6110
Sin Div
PosNeg
0.7230 0.5200 0.4300 0.4030 0.3820 0.3530 0.3250 0.2890 0.2500 0.2050 0.1430


Volkswagen vs Coca Cola
16Div
%
0 10 20 30 40 50 60 70 80 90 100
Con Div
PosNeg
0.8833 0.8350 0.8230 0.7810 0.7420 0.7290 0.7050 0.6870 0.6760 0.6560 0.5220
Sin Div
PosNeg
0.8570 0.7960 0.7740 0.7150 0.6980 0.6800 0.6500 0.6350 0.6000 0.5610 0.4330



Coca Cola vs Seven Up
16Div
%
0 10 20 30 40 50 60 70 80 90 100
Con Div
PosNeg
0.8769 0.8440 0.8120 0.8030 0.7840 0.7670 0.7330 0.7080 0.6830 0.6540 0.6250
Sin Div
PosNeg
0.7864 0.6230 0.5840 0.5240 0.4820 0.4040 0.3220 0.0850 0.0680 0.0280 -0.0390


RL5UMLN DATO5 OBTLNIDO5

Volks 7up Coca Volks vs 7up Volks vs Coca Coca vs 7up
Umbral de 100% de
deteccin
Umbral de 0% de deteccin
0.932 0.847 0.99 0.723 0.857 0.7864

Lstudio del metodo de deteccion 97
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.2.6.2 Conc|us|ones
Ahoro si que porece que hemos encontrodo el metodo delinitivo. A primero
visto se ve que poniendo el mximo umbrol con el que se detecton correctomente
todos los onuncios ( en el onuncio de 5even up) no hoy nodo ms que uno
pequeno lolso deteccion en el coso del onuncio Vo|kswagen vs Coca Co|a.
lodemos jugor con el umbrol de lormo que obtengomos el 1OO7 de onuncios
detectodos correctomente o el O7 de onuncios detectodos incorrectomente. A
continuocion se exponen unos ejemplos:

ANUNCIOS Con Div PosNeg Sin Div PosNeg
Umbral 0.847 Umbral 0.9
Volkswagen 95.94 % 100 % 100 %
Seven up 90 % 100 % 98.63 %
Coca Cola 95.95 % 100 % 100 %
Volkswagen vs Seven
up
13.7 % 0 % 0 %
Volkswagen vs Coca
Cola
0 % 2.70 % 0 %
Coca Cola vs Seven up 0 % 0 % 0 %


Ls importonte observor que los porcentojes de 98.63 y 2.7O son con
respecto o 73 o 74 muestros, yo que o lo horo de reolizor el estudio se ho probodo
lo correlocion de 1O en 1O lromes poro obtener uno menor corgo computocionol. Ls
decir, su signilicodo es que solo en un coso o dos del totol no ho luncionodo. Ln
estudios sucesivos se probor con un poso menor y veremos cuol es el verdodero
porcentoje.
Lstudio del metodo de deteccion 98
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
loy que destocor que este estudio lo hemos hecho con 2O lromes.
Pecordemos que ol posor de 2O o 3O lromes en el onterior metodo obtuvimos uno
mejoro consideroble. lor lo tonto es de esperor que ol oumentor los lromes el
resultodo seo prcticomente perlecto. 1ombien mejorobon los resultodos ol
oumentor los cuodros, osl que ese puede ser un pormetro que podemos combior
tombien.
Ln delinitivo, trobojondo con este metodo porece que encontroremos lo
tecnico delinitivo con lo que detector correctomente todos los onuncios, teniendo
odems uno lolso deteccion nulo. Le esto lormo no necesitoremos usor ningun otro
procedimiento despues de este, ohorrondo en corgo computocionol.
Ln el siguiente oportodo nos centroremos en este metodo y entroremos ms
en detolle. veremos todos los simulociones reolizodos poro comprobor su correcto
luncionomiento y se reolizorn nuevos estudios poro ver como, voriondo
determinodos pormetros como el 1iempo de Observocion, mejoron los resultodos.
3.3 ME1ODO DE DIVI5IN DE IMOENE5
3.3.1 INTRODUCCIN
Lste es el metodo delinitivo que usoremos poro olmocenor los potrones de
secuencio de vldeo digitol. Lespues del estudio onterior se reolizoron otros muchos
Lstudio del metodo de deteccion 99
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
simulociones y se obtuvieron unos resultodos ms concluyentes. lor ello, por ser el
metodo que usoremos delinitivomente en nuestro oplicocion de deteccion de
onuncios y por constituir el corozon de nuestro progromo, nos detendremos un poco
ms poro su explicocion, empezondo por detollor poso o poso los operociones
reolizodos poro su obtencion.
Ll progromo copturo uno imogen codo 4Oms (o lo mismo lrecuencio que lo
television dispone los imgenes), lo proceso y olmoceno los dotos obtenidos. Ll
procesomiento reolizodo consiste en lo conversion en blonco y negro de lo imogen,
redimensionomiento de esto, division en cuodros del mismo tomono y en el clculo
de lo medio de lo intensidod de codo cuodro. A continuocion se expone lo explicodo
de uno lormo visuol.
Lstudio del metodo de deteccion 1OO
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 13. VaIores ue InIensuau ue Ia Imagen

Ig. 19. Imagen uvuua y numeracon Ig. 2O. VaIores meuos ue nIensuau ue
caua cuauro
Los dotos se von olmocenondo en uno motriz en lo que codo lilo
corresponde o un cuodro de lo division y codo columno o uno imogen. Ln el
Lstudio del metodo de deteccion 1O1
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
ejemplo tendremos uno motriz de 2S lilos con numero de columnos iguol ol numero
de lromes copturodos. Ln lo bose de dotos tendremos lo motriz correspondiente o
un onuncio entero (que se hon obtenido en el modulo de oprendizoje), hollondo el
progromo en el modulo de deteccion motrices de los secuencios de television
procesodos, que sern correlocionodos con todos los onuncios de lo bose de dotos,
comprobondo si dicho secuencio pertenece o ese onuncio o no. loro ello
estobleceremos un umbrol que ser el que determine si pertenece o no.
lemos probodo exhoustivomente este metodo, voriondo todos los posibles
pormetros medionte los cuoles conseguir un 1OO7 de electividod. loro ello se ho
modilicodo el numero de lromes de lo secuencio copturodo entre 2O y 4S (lromes
resultontes de lo observocion entre 1 y 2 segundos, ol quitorle 2OOms que tordo el
progromo en combior de conol). 1ombien hemos oumentodo lo bose de dotos
conlorme lbomos ovonzondo el estudio. Y, por ultimo, se ho comprobodo lo
outenticidod de lo deteccion, es decir que si cuondo el progromo detecto uno
secuencio como perteneciente o un onuncio est detectondo lo secuencio correcto o
no.
Aqul queremos hocer un inciso en que los simulociones reolizodos segulon
electundose con correlociones que tomobon lo secuencio o comporor de 1O en 1O
lromes. Ls decir, de todo el espocio muestrol que se podrlo procesor solo se ho
usodo un 1O7 poro los simulociones. Cuondo obtenemos un 1OO7 de detecciones,
Lstudio del metodo de deteccion 1O2
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
este 1OO7 esto relerido ol 1O7 del espocio muestrol que hemos considerodo.
Creemos que los resultodos se ojuston o lo reolidod o pesor de estor oproximodos.
Lsto es necesorio debido o lo que yo comentomos, o lo durocion excesivo de estos
simulociones. Los ultimos simulociones reolizodos en este estudio duroron olrededor
de dos dlos con lo ClU del ordenodor ol 1OO7 de uso duronte todo ese tiempo. 5i
ussemos un 1OO7 del espocio muestrol el tiempo que durosen esos simulociones
se verlo multiplicodo por 1O, es decir, codo uno de los simulociones tordorlo en
linolizor 2O dlosllll Lespues de explicor esto es comprensible el por que de
nuestro oproximocion.
A continuocion se expone todo el proceso reolizodo, lo evolucion de los
resultodos y por ultimo lo conclusion linol.
3.3.2 DL5ARROLLO
Ln el onterior estudio probbomos con uno division en 16 cuodros y un
estudio del conol de 1 segundo, es decir, 2O lromes copturodos. Los porcentojes de
deteccion lueron:

ANUNCIOS Div 16 cuadros
Umbral 0.847 Umbral 0.9
Volkswagen 100 % 100 %
Seven up 100 % 98.63 %
Coca Cola 100 % 100 %
Volkswagen vs Seven
up
0 % 0 %
Volkswagen vs Coca 2.70 % 0 %
Lstudio del metodo de deteccion 1O3
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Cola
Coca Cola vs Seven up 0 % 0 %


Lespues de obtener estos resultodos probomos si oumentondo los lromes
copturodos se obtiene uno mejorlo sustonciol. Asl reolizomos uno simulocion con 16
cuodros y 3O lromes copturodos (1.4 segundos de observocion).


Volks 7up CocaCola Volks vs 7up Volks vs Coca Coca vs 7up
Umbral de 100% de deteccin Umbral de 0% de deteccin
0.933 0.915 0.99 0.72619 0.84568 0.78545
Deteccin con Umbral 0.9
100 % 100 % 100 % 0 % 0 % 0 %


5e observo que si estoblecemos como umbrol cuolquier volor entre O.84S68
y O.91S obtendremos los mismos resultodos que los que hemos puesto orribo, es
decir, un 1OO 7 de correcto deteccion y un O7 de lolso deteccion. Lsto es lo que
siempre hemos estodo buscondo, por lo tonto lo que horemos o portir de ohoro es
probor este metodo todo lo que podomos, osegurondo su electividod en todos los
cosos.
Como con uno division de 16 cuodros conseguimos uno electividod del 1OO
7 proboremos tombien con 9 cuodros y con 2S, viendo si los resultodos obtenidos
son iguolmente sotisloctorios. Ln los siguientes simulociones se reolizor un borrido
entre 2O y 4S lromes colculondo en codo coso el porcentoje de deteccion, el
outentico porcentoje de deteccion y lo dilerencio entre el menor umbrol de 1OO7 y
Lstudio del metodo de deteccion 1O4
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
el moyor umbrol de O7 de los simulociones. Lsto dilerencio entre umbroles es el
doto ms signilicotivo, yo que siempre que seo positivo obtendremos un resultodo
perlecto, y cuonto ms gronde seo su volor mejor ser lo discriminocion de los
lolsos detecciones.
Antes de empezor o exponer los dotos vomos o explicor un poco ms en que
consisten los simulociones reolizodos. Codo uno de los simulociones consistir en
uno comporocion de todos los onuncios que tengomos en lo bose de dotos entre sl.
Al hocer un borrido de 2O o 4S lromes, electuoremos por tonto 26 simulociones de
los que iremos olmocenondo los dotos obtenidos. Cuondo hoblomos de verdodero
deteccion, nos relerimos o si ol detector uno secuencio como perteneciente o un
onuncio, estomos detectondo reolmente eso secuencio u otro. Lsto en onuncios es
muy normol, debido ol porecido que hoy entre distintos secuencios dentro de un
mismo onuncio. Lo lormo de ver lo outentico deteccion es olmocenodo los lndices
de lo secuencio o comporor y los de lo secuencio que detectomos como ms
porecido. Lespues simplemente comporomos estos lndices, y colculomos el
porcentoje de deteccion correcto que se ho producido.
lor ultimo y ms importonte, tendremos que explicor que ser poro nosotros
lo dilerencio de umbroles. Ln codo uno de los 26 simulociones reolizodos
guordoremos el umbrol necesorio poro detector correctomente todos los onuncios en
los outo-comporociones que hemos reolizodo (umbrol mlnimo de deteccion del
Lstudio del metodo de deteccion 1OS
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
1OO7), y el umbrol obligodo poro que no detectemos incorrectomente ningun
onuncio en cuolquiero de los muchos comporociones cruzodos reolizodos (umbrol
mximo de deteccion del O7). Pestoremos en codo uno de estos cosos el umbrol
del 1OO7 menos el del O7 y el resultodo lo guordoremos en un vector que ser el
que representemos y que llomoremos dilerencio de umbroles. 5i los volores de este
vector son positivos querr decir que en todos los cosos conseguimos uno deteccion
del 1OO7 y uno nulo lolso deteccion.

D|v|s|n en 9 cuadros:
A continuocion vemos uno grlico que muestro lo dilerencio de umbroles. lor
encimo de lo llneo rojo se situon los volores positivos y que por tonto oseguron uno
deteccion perlecto.
Lstudio del metodo de deteccion 1O6
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol


Ig. 21. DIerenca ue umoraIes con uvson en 9 cuauros
5e ve que solo hoy unos cuontos cosos en los que lunciono el metodo. Lsto
se compruebo en los siguientes toblos, que muestron los porcentojes de deteccion
en todos los cosos. loro colculor esos porcentojes se ho usodo lo dilerencio entre
umbroles, sumndole ol mximo volor de deteccion del O7, lo mitod del volor
obsoluto de lo dilerencio de umbroles.




PORCENTAJE DE DETECCIN

FRAMES CAPTURADOS
30 31 32 33 34 35 36 37 38
Volks 100 100 100 100 100 100 100 100 100
7up 90,28 98,61 100 100 100 100 98,61 98,61 94,44
Coca 100 100 100 100 100 100 100 100 100
Volks vs
7up
0 0 0 0 0 0 0 0 0
Volks vs
Coca
0 0 0 0 0 0 0 0 0
Coca vs
7up
0 0 0 0 0 0 0 0 0
Lstudio del metodo de deteccion 1O7
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
PORCENTAJE DE AUTNTICA DETECCIN

FRAMES CAPTURADOS
30 31 32 33 34 35 36 37 38 39 40
Volks 68.49 70.83 70.83 73.61 73.61 75.00 77.78 79.17 79.17 80.56 79.17
7up 87.50 88.89 88.89 88.89 88.89 88.89 88.89 87.50 88.89 90.28 91.55
Coca 100 100 100 100 100 100 100 100 100 100 100


5olo hemos puesto uno porcion de los resultodos, que en reolidod von, como
sobemos, desde los 2O o los 4S lromes, yo que con los expuestos nos es suliciente
poro estudior los resultodos. Ln lo primero toblo vemos que solo cuondo copturomos
32, 33, 34 y 3S lromes obtenemos unos porcentojes perlectos, hecho que se
corresponde con lo liguro 21. Ln lo segundo toblo se observo que, ounque
detectemos como perteneciente o un onuncio uno secuencio de dicho onuncio, no
siempre detecto lo secuencio correcto. Lestocor que el porcentoje de outentico
deteccion es creciente con los lromes copturodos. Le ohoro en odelonte esto toblo
no lo expondremos ms, solo dejor constoncio de su reolizocion en todos los cosos
y del hecho de que siempre con el oumento del numero de lromes y con el oumento
del numero de divisiones oumenton los porcentojes de outentico deteccion.



Lstudio del metodo de deteccion 1O8
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
D|v|s|n en 16 cuadros:

Ig. 22. DIerenca ue umoraIes con uvson en 16 cuauros

lodemos percibir como hon mejorodo los resultodos. 5iempre que
copturemos ms de 21 lromes obtenemos un resultodo de deteccion perlecto.

D|v|s|n en 25 cuadros:
Lstudio del metodo de deteccion 1O9
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 23. DIerenca ue umoraIes con uvson en 25 cuauros
Los porcentojes de deteccion son perlectos. lorece ser que con lo division
en 2S cuodros hemos encontrodo el metodo delinitivo. lero todovlo nos resto hocer
ms pruebos. loro poder probor con ms gorontlos este metodo tendremos que
oumentor lo bose de dotos y ver si siguen cumpliendose estos resultodos.
Aumento de la Base de Datos
1ros los simulociones onteriores debemos probor ms el metodo utilizodo,
ounque con los 3 onuncios con los que trobojbomos hosto ohoro lunciono
perlectomente. loro ello omplioremos lo bose de dotos incluyendo S onuncios ms,
oumentondo por lo tonto en 1O los entrodos de nuestro bose de dotos (2 por codo
onuncio). Los simulociones que reolizoremos sern onlogos o los que venlomos
Lstudio del metodo de deteccion 11O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
reolizondo hosto ohoro, yo que con los dotos que obtenlomos nos es ms que
suliciente poro comporor metodos y comprobor su buen luncionomiento.
Como el metodo delinitivo que obtenlomos ero el de lo division en 2S
cuodros, empezoremos por reolizor uno simulocion con esto tecnico con lo nuevo
bose de dotos. Lsto bose de dotos estor compuesto por 8 onuncios:
volkswogen, 5even Up, Coco Colo, AquoBono, Audi- A3, 5peciol Kops, 5on
Viguel y 5unsilk
Cuyos obrevioturos son:
volks, 7up, Coco, Aquo, Audi, Kops, 5onV, 5uns
Lo simulocion se hor como hoclomos ontes, correlocionondo los onuncios
consigo mismos y todos los correlociones posibles entre ellos. lociendo clculos
nos solen 36 correlociones (8 entre si mismos y 28 cruzodos). lor el excesivo
tomono de lo toblo de porcentojes los correlociones cruzodos en los que todos los
volores seon O se omitirn (sino todos por lo menos si olgunos), osl como tombien
omitiremos volores de lo escolo de lromes copturodos.
Lstudio del metodo de deteccion 111
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 24. DIerenca ue umoraIes con uvson en 25 cuauros con 3 anuncos

PORCENTAJE DE DETECCIN

FRAMES CAPTURADOS
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
Volks 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
7up 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Coca 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Aqua 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Audi 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Kaps 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
SanM 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Suns 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Volks 7up 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Volks Audi 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Coca 7up 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Coca Aqua 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Coca Audi 7,06 7,06 5,88 2,35 0 0 0 5,95 7,14 7,14 7,14 7,14 7,14 5,95 5,95
Coca Kaps 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Coca SanM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Coca Suns 13,7 11,11 9,72 6,94 5,56 5,56 5,56 13,89 18,06 30,56 25 19,72 16,9 16,9 14,08
7up Aqua 1,37 0 0 0 0 0 0 4,17 8,33 9,72 9,72 9,86 9,86 8,45 7,04
7up Audi 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7up Kaps 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Audi SanM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Audi Suns 0 0 0 0 0 0 0 0 0 2,78 2,78 0 0 0 0
SanM Suns 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Lstudio del metodo de deteccion 112
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

PORCENTAJE AUTNTICO DE DETECCIN
FRAMES CAPTURADOS
33 34 35 36 37 38 39 40 41 42 43 44 45
Volks 86,11 87,5 87,5 86,11 88,89 90,28 90,28 90,28 90,28 91,55 91,55 91,55 91,55
7up 93,06 93,06 93,06 93,06 93,06 91,67 91,67 93,06 97,18 97,18 97,18 97,18 97,18
Coca 100 100 100 100 100 100 100 100 100 100 100 100 100
Aqua 98,61 98,61 98,61 98,61 98,61 98,61 98,61 98,61 98,59 98,59 98,59 100 100
Audi 94,12 94,12 94,12 94,05 94,05 94,05 94,05 94,05 94,05 95,24 95,24 95,24 95,24
Kaps 100 100 100 100 100 100 100 100 100 100 100 100 100
SanM 100 100 100 100 100 100 100 100 100 100 100 100 100
Suns 100 100 100 100 100 100 100 100 100 100 100 100 100
5e observo que tros el oumento de lo bose de dotos lo tecnico utilizodo no
es del todo delinitivo. Cuondo copturomos 3S, 36 o 37 lromes conseguimos unos
resultodos cosi perlectos, pero en uno de los comporociones cruzodos (entre
onuncios distintos) hoy uno lolso deteccion que debemos eliminor. 1ombien nos
domos cuento de olgo que tombien posobo en los metodos onteriores, y es que es
logico suponer que con el oumento de los lromes copturodos se oumente
monotonomente lo dilerencio de umbroles, hociendolo iguolmente los porcentojes.
lero esto
no es osl,
en todos
los
Lstudio del metodo de deteccion 113
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
simulociones reolizodos hosto el momento se observo uno luerte bojodo que es lo
cousonte de que no luncione correctomente el metodo. Uno vez que notomos esto
representomos los umbroles de 1OO7 de deteccion de los 8 onuncios y obtenemos
lo siguiente:

Ig. 25. UmoraIes ue 1OO, ue ueIeccon con uvson en 25 cuauros y con 3 anuncos
lorece ser que el problemo se encuentro en el onuncio de 5even Up. 1ros
un estudio del por que de tonto dilerencio con respecto ol resto de onuncios se llego
o uno primero conclusion: lo molo grobocion, que hoce que ounque uno imogen seo
lo mismo en ombos onuncios su correlocion seo bostonte bojo. Lo grobocion
reolizodo en dos conoles dilerentes con dos progromos tombien dilerentes, hoblo
dodo lugor o uno gron dilerencio de los colores y luminosidod de lo imogen. vemos
un ejemplo de por que pensomos que ese podlo ser el motivo de lo distoncio de los
resultodos con respecto o los otros onuncios:

Ig. 26. Msmas mgenes ueI anunco 7up graoauas en canaIes uIerenIes
Lstudio del metodo de deteccion 114
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Como se ve los imgenes dilieren bostonte. 5i el problemo luero solo uno
dilerencio de color o intensidod de lo imogen esto no olectorlo ol metodo, yo que ol
utilizor los medios y posteriormente lo correlocion como metodo de comporocion, no
nos importo el volor sino lo proporcion lineol o no entre secuencio de volores. Ll
problemo oqul es que lo segundo imogen est soturodo, perdiendose inlormocion de
los colores. Lsto se oprecio mejor ol posorlos o escolo de grises, que es lo que
utilizoremos nosotros:
Ig. 27. Msmas mgenes ueI anunco 7up graoauas en canaIes uIerenIes, en oIanco-negro
Lsto lue lo primero conclusion, pero tros un estudio ms exhoustivo se
oprecio que hoblo uno couso de moyor peso que lo onterior, ounque, sin dudo, esto
tombien inllulo en gron medido. Lsto couso es uno importonte dilerencio que se
Lstudio del metodo de deteccion 11S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
encontro en el numero de lromes que tenlomos de los dos onuncios. Lstudiomos
todos los plonos incluidos en ombos onuncios, contondo el numero de lromes que
contenlon y se oprecio que hoblo uno importonte dilerencio en el primer plono. Ln
uno version el primer plono tenlo 34 lromes y en lo otro 39. loltobon imgenes,
que no hoblon sido emitidos en lo television, lo cuol hoclo que en los simulociones,
siempre lo primero correlocion, nos diero un volor muy bojo. vemos los primero y
ultimo imgenes del primer plono de ombos onuncios.
Ig. 23. Frmer y uIImo Irame ueI prmer pIano en eI anunco ue 5even Up en Ias uos versones
guaruauas
vemos como lo primero version empiezo ms torde que lo segundo. 5i se
observo detenidomente, se ver como en lo primero imogen de lo version 1, lo chico
del onuncio yo tiene lo mono levontodo, mientros que en lo otro version lo tiene
opoyodo todovlo en el suelo. Ll ultimo lrome es exoctomente el mismo, por lo que lo
dilerencio de S lromes se encuentro en el principio.
Lstudiomos los resultodos individuoles de los 26 simulociones reolizodos
poro recorrer distintos volores de lromes copturodos, y se oprecio que siempre ero
lo primero correlocion el volor que se tomobo en el coso del onuncio de 5even Up.
Al comporor lo segundo version (que tenlo S lotogromos ms) con lo primero y no
ol reves, lo correlocion lollobo debido o esto no concordoncio con los imgenes.
vemos lo grlico de uno de estos correlociones:
Lstudio del metodo de deteccion 116
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 29. CorreIacon ue una secuenca ue un anunco ue 5even Up con Ia oIra verson ueI msmo
anunco.
vemos que el primer volor se encuentro muy por debojo del resto, siendo en
los 26 cosos osl. Como es precisomente el mlnimo volor el que cogemos, esto hoce
que los resultodos no seon verldicos. Ln lo grolico onterior vemos uno bojodo, esto
si ser motivodo por lo dilerencio de intensidod de imgenes que yo vimos, ounque
se oprecio que no es ton determinonte como lo otro couso.
Lo bojodo que vemos en lo liguro 2S, en lo simulocion del onuncio de 5even
Up, oproximodomente sobre el poso de 37 o 4O lromes, est cousodo precisomente
por lo dilerencio de lromes del primer plono. Al comporor uno secuencio de 37
lromes de un mismo plono con uno secuencio de imgenes que solo contiene 34
lromes de ese mismo plono (es decir, cogemos 3 imgenes de otro plono), lo
correlocion lollo, rellejndose eso en los resultodos.
lor todo esto, o portir de ohoro no consideroremos este onuncio poro los
comporociones outenticos, ounque sl poro los correlociones cruzodos. A
continuocion se exponen los resultodos que se obtienen sin tener en cuento dicho
onuncio:
Lstudio del metodo de deteccion 117
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 3O. DIerenca ue umoraIes con uvson en 25 cuauros, con 3 anuncos, sn eI anunco ue
7up
5in tener en cuento el onuncio de 5even Up o portir de los 34 lromes
obtenemos un resultodo perlecto. Y odems lo dilerencio de umbroles es
prcticomente monotono creciente, que es como o priori pensbomos por logico
que deblo ser. A portir de ohoro expondremos simplemente los grlicos resultontes
de todos los simulociones que se hon ido hociendo oumentondo el numero de
cuodros:

D|v|s|n en 64 cuadros:
Lstudio del metodo de deteccion 118
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 31. DIerenca ue umoraIes con uvson
en 64 cuauros con 3 anuncos
Ig. 32. 5n eI anunco ue 7up
D|v|s|n en 100 cuadros:
Ig. 33. DIerenca ue umoraIes con uvson
en 1OO cuauros con 3 anuncos
Ig. 34. 5n eI anunco ue 7up

D|v|s|n en 256 cuadros:
Ig. 35. DIerenca ue umoraIes con uvson en
256 cuauros con 3 anuncos
Ig. 36. 5n eI anunco ue 7up
Lstudio del metodo de deteccion 119
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

3.3.3 CONCLU5IONL5
linolmente hemos conseguido encontror un metodo delinitivo. A portir de uno
division de 1OO cuodros tenemos que entre 32 y 36 lromes copturodos
conseguimos detector correctomente todos los onuncios (inclusive el de 5even Up)
con uno lolso deteccion del O7. 5in consideror el onuncio de 5even Up, debido o lo
no correspondencio en el primer plono, el metodo con division en 100 cuodros es
electivo en todos los cosos.
Ll estudio reolizodo nos indico que con uno division de 1OO cuodros nos
serlo ms que suliciente, ounque siempre que oumentemos este pormetro los
resultodos sern mucho mejores ol seporor ms los umbroles de lolso y outentico
deteccion.
1ros observor los resultodos creemos conveniente copturor entre 3S y 4O
lromes de codo conol, o lo que es lo mismo, entre 1,4 y 1,6 segundos, o los que
hoy que sumor 2OOms de combio de conol. Cobe destocor tombien que siempre
que oumentemos el 1iempo de Observocion y por tonto el numero de lromes
copturodos, mejororemos los resultodos que se obtienen. Como se observo, los
grlicos son monotonos crecientes y posteriores simulociones entre 46 y 63 (2 y
2,S segundos) siguen mostrondo esto corocterlstico. Al trotorse de tiempos de
Lstudio del metodo de deteccion 12O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
estoncio en conol perdemos lotogromos de otros conoles y, por tonto, tendremos
que llegor o uno solucion de compromiso, hociendo un estudio de los onuncios que
queremos detector y cul es el tiempo mximo de estoncio en conol que podemos
tomor. lobrlo que colculor el tiempo que tordo el progromo delinitivo en reolizor
este olgoritmo de deteccion que sumodo o los tiempos onteriores serlo el tiempo de
estoncio reol del progromo en codo conol.
Ll umbrol optimo depender del numero de divisiones elegido, osl como del
1iempo de Observocion que tomemos, pero un buen primer volor ser el de 0.9. Ln
Lebido ol buen resultodo de esto tecnico no nos hoce lolto utilizor un
posterior olgoritmo de deteccion, con lo que no hobrlo que sumor ms tiempo o lo
estoncio por conol y ohorrorlomos tombien en corgo computocionol.
5olo nos resto pues, probor este metodo en tiempo reol, que ser el objetivo
del proximo copltulo en el que se explico lo implementocion de lo oplicocion en
lenguoje C++.




Lesorrollo soltwore de lo oplicocion 121
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPTULO 4
DESARROLLO SOFTWARE DE LA APLICACIN
Como se ho explicodo en los copltulos onteriores, el objetivo linol de este
proyecto es lo reolizocion de uno oplicocion soltwore que corro bojo sistemos
operotivos Windows. losto ohoro hemos desorrollodo los lundomentos motemticos
y tecnicos que lundomentorn lo bose de los olgoritmos que vomos o implementor
en un determinodo lenguoje de progromocion.
5obemos como tiene que luncionor nuestro progromo y cules son los
olgoritmos que tenemos que desorrollor poro el luncionomiento del mismo. Algunos
de ellos los hemos reolizodo en el lenguoje de progromocion de Votlob, pero ohoro
tendremos que odecuorlos ol progromo que reolicemos, escribiendolos en el
lenguoje usodo poro su progromocion.
Ln el primer oportodo de este copltulo nos centroremos en el estudio del
entorno hordwore necesorio poro que luncione nuestro progromo y podomos reolizor
lo deteccion de onuncios.
Ln el segundo oportodo veremos cuol ho sido el soltwore utilizodo poro
implementor el progromo. Lxplicoremos el entorno necesorio, que en este coso ser
el 5istemo Operotivo Windows y el LirectX, osl como lo metodologlo de
Lesorrollo soltwore de lo oplicocion 122
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
progromocion utilizodo. Como yo vimos, existlo uno version onterior de esto
oplicocion, osl que hubo que reolizor un importonte trobojo de estudio del codigo yo
escrito. loro poder hocer ese trobojo, primero se prolundizo en lo lrogromocion
Orientodo o Objetos y otros ospectos lundomentoles de lo progromocion, como son
lo gestion de eventos y lo progromocion de lo interloz grlico. loro oyudor ol
entendimiento del lector y sobre todo ol posible progromodor luturo que desee
ovonzor y desorrollor uno version mejorodo de lo presente oplicocion, se incluyen en
este oportodo uno introduccion y nociones bsicos o lo progromocion utilizodo. 5e
pretende osl que, poro el simple entendimiento del trobojo reolizodo, no hogo lolto
un extenso conocimiento de progromocion y que despues de su lecturo, el lector se
encuentre mejor preporodo poro odentrorse ms prolundomente en lo progromocion,
si osl lo deseo.
Ll ultimo oportodo de este copltulo se centror en lo progromocion reolizodo
poro incluir los novedodes en lo oplicocion. Lescribiremos todos los combios
reolizodos, incluyendo en olgunos ocosiones lrogmentos de codigo, segun se veo
necesorio.
Lesorrollo soltwore de lo oplicocion 123
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
ARQUITECTURA HARDWARE
loro el luncionomiento de nuestro oplicocion son necesorios dilerentes
dispositivos:
Ordenador. 1ombien llomodo lC o Computodor lersonol. Ls lo bose de
todos los oplicociones comercioles de hoy en dlo. Ll progromo reolizodo
se ho desorrollodo en un AVL Athlon 22OO+, cuyo velocidod de micro es
de 18OO Vlz. Lsto velocidod es muy importonte, porque de ello
dependen los tiempos de durocion de los olgoritmos que se desorrolloron.
Ln el siguiente copltulo veremos cules son estos tiempos, en ejecuciones
del progromo en ordenodores con ClUs de dilerentes velocidodes.
Otro corocterlstico muy importonte del lC donde corro nuestro progromo
es lo memorio PAV. Lo oplicocion 5lO1 consume oproximodomente 3O
VB de memorio PAV, por lo tonto nuestro ordenodor deber tener como
mlnimo dicho contidod, siendo recomendoble el doble ol menos.
Tar[eta de TV. Lo torjeto que se ho usodo en este proyecto ho sido lo
AverVedio 1v 5tudio 1O3. Nuestro oplicocion luncionor
independientemente de lo morco de lo torjeto utilizodo, siendo necesorio
unicomente que esto tengo el chip B1878. Lste es el chip ms extendido,
teniendolo octuolmente todos los torjetos de nuevo lobricocion.
Lesorrollo soltwore de lo oplicocion 124
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lste dispositivo se encorgo de tronslormor los senoles onologicos que le
llegon o troves de uno de sus entrodos (VIueo Tunei /n, VIueo SVIueo
/n, VIueo ComposIIe /n) en senoles digitoles poro su trotomiento posterior.
Los senoles digitoles sern tronsmitidos o troves del Bus lCl del
ordenodor gorontizondo osl lo ropidez de lo copturo.
Ig. 37. TarjeIa ue IeIevson AverMeua TV 5Iuuo 1O3
Ll montoje linol necesorio ser por tonto:
Lesorrollo soltwore de lo oplicocion 12S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 33. MonIaje naruware necesaro para Ia reaI2acon ueI proyecIo
ARQUITECTURA SOFTWARE
Ll sistemo operotivo es el corozon de cuolquier ordenodor personol, pues de
el depende lo ejecucion de los dilerentes progromos que el usuorio quiero utilizor.
Ln nuestro coso se eligio el sistemo operotivo W|ndows XP Protes|ona|, ounque
serlo iguolmente vlido cuolquier otro version de Windows elegido.
Lo necesidod de uno de dichos sistemos operotivos y no de otros, recoe en
que el progromo necesito de lo utilizocion de los llomodos controlodores WLV poro
lo torjeto de television (seo cuol seo esto), o los que podremos occeder o troves de
LirectX.
Windows es un producto introducido por Vicrosolt en 198S y es hoy en dlo el
entorno ms populor de interloz grlico de usuorio (OUl). loro el usuorio, Windows
es un entorno multitoreo bosodo en ventonos que se corresponden con progromos.
Lsto signilico que permite ejecutor concurrentemente progromos especiolmente
escritos poro dicho entorno y tombien progromos escritos poro V5-LO5 [1S].
loro el desorrollo de progromos, Windows provee rutinos que permiten
utilizor componentes como menus, cuodros de dilogo y borros de desplozomiento
entre otros. Asl mismo, el progromodor puede monipulor el roton, el teclodo, el
Lesorrollo soltwore de lo oplicocion 126
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
monitor, lo impresoro, los puertos de comunicociones, el reloj del sistemo y otros
dispositivos perilericos, como en nuestro coso, lo torjeto de 1v [1S].
Windows tiene lo ventojo de ser lcil poro el usuorio y el inconveniente de
ser dillcil poro el progromodor. Lo progromocion en Windows es uno lrogromocion
Orientodo o Objetos y es conveniente por tonto poro el luturo desorrollodor de lo
presente oplicocion el tener unos conocimientos bsicos de esto progromocion.
2.1 PROORAMACIN ORIEN1ADA A OJE1O5
Lo lrogromocion Orientodo o Objetos (lOO u OOl segun siglos en ingles)
es uno metodologlo de diseno de soltwore y un porodigmo de progromocion que
deline los progromos en terminos de closes de objetos. Objetos que son
entidodes que combinon estodo (es decir, dotos) y comportomiento (esto es,
procedimientos o metodos). Lo progromocion orientodo o objetos expreso un
progromo como un conjunto de estos objetos, que se comunicon entre ellos poro
reolizor toreos. Lsto diliere de los lenguojes secuencioles trodicionoles, en los que
los dotos y los procedimientos estn seporodos y sin relocion. Lstos metodos estn
pensodos poro hocer los progromos y modulos ms lciles de escribir, montener y
reutilizor [16].
5e incluyen en esto progromocion dos nuevos conceptos lundomentoles:
Lesorrollo soltwore de lo oplicocion 127
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ob[etos: entidodes complejos provistos de dotos (propiedodes,
otributos) y comportomiento (luncionolidod, progromos, metodos).
Corresponden o los objetos reoles del mundo que nos rodeo.
C|ases: conjuntos de objetos que comporten propiedodes y
comportomiento. Ls un contenedor de uno o ms dotos (voriobles o
propiedodes miembro) junto o los operociones de monipulocion de
dichos dotos (lunciones7metodos). Los closes pueden delinirse
como estructuros (struct), uniones (union) o closes (closs) pudiendo
existir dilerencios entre codo uno de los deliniciones segun el
lenguoje.
Otro monero en que esto es expresodo o menudo, es que lo progromocion
orientodo o objetos onimo ol progromodor o pensor en los progromos principolmente
en terminos de tipos de dotos, y en segundo lugor en los operociones (metodos)
especllicos o esos tipos de dotos. Los lenguojes secuencioles onimon ol
progromodor o pensor sobre todo en terminos de procedimientos, y en segundo
lugor en los dotos que esos procedimientos monejon.
Los progromodores que empleon lenguojes secuencioles, escriben lunciones
y despues les poson dotos. Los progromodores que empleon lenguojes orientodos o
Lesorrollo soltwore de lo oplicocion 128
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
objetos delinen objetos con dotos y metodos y despues envlon mensojes o los
objetos diciendo que reolicen esos metodos en sl mismos.
loy un cierto desocuerdo sobre exoctomente que corocterlsticos de un
metodo de progromocion o lenguoje le colilicon como orientodo o objetos, pero
hoy un consenso generol en que los corocterlsticos siguientes son los ms
importontes:
Abstracc|n: Codo objeto en el sistemo sirve como modelo de un
ogente obstrocto que puede reolizor trobojo, inlormor y combior su
estodo, y comunicorse con otros objetos en el sistemo sin revelor como
se implementon estos corocterlsticos. Los procesos, los lunciones o los
metodos pueden tombien ser obstroldos y cuondo lo estn, uno voriedod
de tecnicos son requeridos poro omplior uno obstroccion.
Lncapsu|am|ento: 1ombien llomodo ocultocion de lo inlormocion, esto
oseguro que los objetos no pueden combior el estodo interno de otros
objetos de moneros inesperodos; solomente los propios metodos internos
del objeto pueden occeder o su estodo. Codo tipo de objeto expone uno
interloz o otros objetos que especilico como otros objetos pueden
interoctuor con el. Algunos lenguojes relojon esto, permitiendo un occeso
Lesorrollo soltwore de lo oplicocion 129
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
directo o los dotos internos del objeto de uno monero controlodo y
limitondo el grodo de obstroccion.
Po||mort|smo: Los relerencios y los colecciones de objetos pueden
contener objetos de dilerentes tipos, y lo invococion de un comportomiento
en uno relerencio producir el comportomiento correcto poro el tipo reol
del relerente. Cuondo esto ocurre en tiempo de ejecucion, esto ultimo
corocterlstico se llomo osignocion tordlo o osignocion dinmico. Algunos
lenguojes proporcionon medios ms estticos (en tiempo de
compilocion) de polimorlismo, toles como los plontillos y lo sobrecorgo de
operodores.
Herenc|a: Orgonizo y locilito el polimorlismo y lo encopsulocion
permitiendo o los objetos ser delinidos y creodos como tipos
especiolizodos de objetos preexistentes. Lstos pueden comportir (y
extender) su comportomiento sin tener que reimplementor su
comportomiento. Lsto suele hocerse hobituolmente ogrupondo los objetos
en closes y los closes en rboles o enrejodos que rellejon un
comportomiento comun.
Lesorrollo soltwore de lo oplicocion 13O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
2.2 OE51IN DE EVEN1O5
1rodicionolmente lo progromocion ho sido secuenciol, es decir, los
progromos estobon compuestos por uno sucesion de instrucciones en memorio que
se ejecutobon segun el orden secuenciol que morcobo el hilo de ejecucion principol
de dicho progromo. Ln estos progromos secuencioles, cuondo ero necesorio lo
interoccion de vorios procesos o del proceso con el usuorio poro solido o entrodo de
dotos, ero necesorio que existiese un bucle inlinito esperondo que esto interoccion
tuviese lugor. Lsto hoclo que el progromo estuviese consumiendo recursos de lo
ClU sin dorles ninguno utilidod ol estor dentro de un bucle de espero [1S].
Comienzo Fin Funcin 1 Funcin 3 Funcin 4 Funcin 2

Ig. 39. EjempIo ue programacon secuencaI
Lo gestion de eventos ho venido o solucionor este problemo y consiste en
que cierto porte del codigo solo se ejecuto si ho tenido lugor cierto evento que el
sistemo es copoz de reconocer y gestionor medionte dicho porte del codigo. Lste es
el sistemo de luncionomiento que hoy en Windows, yo que como dijimos
onteriormente, este presentobo uno progromocion orientodo o objetos y lo gestion
de eventos es porte de esto progromocion.
Uno oplicocion poro Windows presento todos los opciones posibles en uno o
ms ventonos poro que el usuorio elijo uno de ellos. Lsto interloz se diseno poro
Lesorrollo soltwore de lo oplicocion 131
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
permitir ol usuorio reolizor tonto operociones L75 como poro poner en morcho los
distintos operociones poro los que est progromodo lo oplicocion. Lo oplicocion es
responsoble de creor lo ventono y comporte lo monipulocion de lo mismo con
Windows. Lsto lormo de luncionomiento do lugor o uno nuevo lormo de pensor y
progromor. Lo secuencio en que von o ejecutorse los sentencios que estn
progromodos no puede ser previsto por el progromodor, por lo tonto hoy que escribir
codigo seporodo poro codo objeto, quedondo lo oplicocion dividido en pequenos
lunciones, conducido codo uno de ellos por un suceso. Un suceso es uno occion
reconocido por un objeto (ventono o control). Ll suceso puede ser cousodo por el
usuorio (por ejemplo, cuondo pulso uno teclo), por el sistemo (por ejemplo,
tronscurrio un determinodo tiempo), o indirectomente por el codigo (por ejemplo,
cuondo el codigo corgo uno ventono). Cuondo ocurre uno de estos sucesos,
Windows envlo un mensoje ol objeto poro identilicor y ejecutor lo luncion osociodo
con el objeto poro ese suceso.
Un mensoje es uno notilicocion que Windows envlo o uno oplicocion en
ejecucion poro indicorle que ho ocurrido un suceso. Lo oplicocion responder ol
suceso ocurrido con uno occion especllico determinodo por lo ejecucion del codigo
de uno luncion. Lsto quiere decir que mondor un mensoje equivole o ejecutor uno
luncion dentro de lo oplicocion. Ll sistemo de mensojes de Windows hoce posible
que distintos toreos comporton el procesodor, corocterlstico que deline un sistemo
Lesorrollo soltwore de lo oplicocion 132
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
multitoreo. Lsto es, se lormo uno colo con los mensojes que se producen y los
distribuye o los oplicociones correspondientes. Codo oplicocion que recibe un
mensoje, simplemente tiene que ejecutor el proceso osociodo. Lo ClU olternor de
uno oplicocion o otro en muy cortos espocios de tiempo, lo que se conoce como
tiempo comportido (multiprogromocion).
Lo ventono de uno oplicocion generolmente contiene un tltulo que se
corresponde con el tltulo de lo oplicocion, un menu, bordes de tomono y borros de
desplozomiento cuondo seon necesorios. A su vez, esto ventono puede desplegor
otros ventonos odicionoles denominodos cuodros o cojos de dilogo, que contienen
controles como botones, cojos de texto, etiquetos, etc., denominodos tombien
ventonos lilioles o ventonos hijos.
Codo close de ventono creodo por uno oplicocion tiene osociodo un
pioceuImIenIo ue venIana. Lste procedimiento es uno luncion incluido en lo propio
oplicocion o en uno biblioteco dinmico que recibe y proceso mensojes. Uno vez
procesodo el mensoje, el control es devuelto o Windows. ventonos dilerentes
pueden reoccionor de lormo distinto onte mensojes del mismo tipo, y poro monejor
codo tipo de mensoje es necesorio uno rutino. Codo ventono tendr por tonto su
propio conjunto de rutinos. Lstos rutinos ogrupodos lormon el pioceuImIenIo ue
venIana. Un procedimiento de ventono siempre esto osociodo con uno close
porticulor de ventonos.
Lesorrollo soltwore de lo oplicocion 133
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
loro que Windows montengo el control de lo multitoreo, tiene que estor entre
lo oplicocion y el hordwore. 5olo osl puede interceptor cuolquier entrodo del usuorio
y envior el mensoje correspondiente o lo oplicocion opropiodo. Lsto quiere decir que
todo contocto que nuestro oplicocion tengo con el hordwore ho de ser o troves de
Windows. Uno oplicocion poro occeder ol hordwore requerido no occede
directomente o el, sino que utilizo los rutinos opropiodos del KII ue DesaiioIIo ue
So/Iwaie (5LK) poro hocerlo. Ln nuestro coso, el 5LK que utilizoremos ser el
Vicrosolt D|rectX 5DK, que es uno compilocion de librerlos, orchivos de cobecero,
herromientos de diognostico, utilitorios, ejemplos en visuol Bosic y en C7C++, y
uno extenso documentocion que nos permitir el desorrollo de oplicociones que
utilicen LirectX. 1ombien, incluye o LirectX propiomente dicho. 5er el LirectX el
que se encorgue de hocer de puente entre nuestro oplicocion y lo torjeto de 1v, osl
como con otros drivers que nos sern necesorios utilizor poro lo representocion
multimedio que reolizomos.
2.3 DIREC1X
Vicrosolt LirectX es un conjunto ovonzodo de interloces de oplicocion o lo
progromocion multimedio (All, Applicotion lrogromming lnterloce) desorrollodos
expresomente poro los sistemos operotivos Vicrosolt Windows. LirectX proporciono
uno plotolormo de desorrollo estndor poro los lCs bosodos en Windows, poro que
Lesorrollo soltwore de lo oplicocion 134
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
los disenodores de soltwore puedon occeder o corocterlsticos concretos del
hordwore sin tener que escribir codigo especllico. Lsto tecnologlo lue introducido
por primero vez en 199S y es un estndor reconocido poro el desorrollo de
oplicociones multimedio dentro del entorno Windows [17]. Ln el presente proyecto
hemos utilizodo lo ultimo version disponible: Vicrosolt LirectX 9.Oc.
Le lormo muy simple, podrlomos decir que DirectX es uno tecnologlo
Windows que permite el trotomiento y representocion de grlicos y sonido, usodo
muy lrecuentemente cuondo se estn ejecutondo juegos o cuondo se est viendo
vldeo en el lC.
Ln el nucleo del DirectX estn sus interloces de oplicocion o lo
progromocion, o Alls. Los Alls octuon como un tipo de puente entre el hordwore
y el soltwore poro hoblor entre ellos. Los Alls DirectX don o los oplicociones
multimedio occeso o los corocterlsticos ovonzodos del hordwore de olto nivel, tol
como chips de ocelerocion de grlicos tridimensionoles y torjetos de sonido o como
es en nuestro coso o torjetos de 1v. Controlon odems los lunciones de bojo nivel,
incluyendo lo ocelerocion de grlicos dimensionoles; don soporte o los dispositivos
de entrodo, como el joystick, teclodo y microlono; y controlon odems el trotomiento
del sonido y su solido. Orocios ol DirectX el trobojo con los grlicos 3-L y lo
creocion de electos de musico y oudio son mucho ms lciles y productivos [17].
Lesorrollo soltwore de lo oplicocion 13S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Vicrosolt LirectX est compuesto por los siguientes componentes:
D|rectX Oraph|cs combino los componentes LirectLrow y Lirect3L de
versiones onteriores dentro de uno unico interloz de oplicocion o lo
progromocion (All) que puede usorse poro todo lo porte de progromocion
con grlicos. Lste componente incluye lo librerlo Lirect3LX que simplilico
los toreos de progromocion con grlicos.
D|rectX Aud|o combino los componentes Lirect5ound y LirectVusic de
versiones onteriores dentro de uno unico All que puede usorse poro todo
lo porte de progromocion con oudio.
D|rectInput proporciono soporte poro uno gron voriedod de dispositivos de
entrodo, incluyendo soporte totol poro lo tecnologlo lorce-leedbock.
D|rectP|ay proporciono soporte poro lo progromocion de juegos
multijugodor en red.
D|rect5how nos permite copturor oudio y vldeo con uno gron colidod,
odems de reproduccion de orchivos multimedio.
D|rect5etup es un All simple que proporciono lo instolocion de todos los
componentes LirectX de uno solo vez.
Lesorrollo soltwore de lo oplicocion 136
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ln lo liguro 4O podemos ver de lormo grlico codo uno de los componentes
de lo tecnologlo LirectX.

Ig. 4O. ComponenIes ueI DrecIX
2.3.1 DIRLCT5HOW
Lirect5how es de entre todos los componentes el que utilizoremos nosotros y
por tonto el que nos intereso estudior. Vicrosolt Lirect5how es uno orquitecturo,
incluido dentro del grupo del LirectX, que se creo poro oyudor o lo monipulocion de
orchivos multimedio dentro de lo plotolormo Windows. Lirect5how proporciono
lunciones poro lo copturo de multimedio con bueno colidod, odems de
reproduccion de streoms multimedio (yo seon oudio, vldeo,...). 5oporto gron
voriedod de lormotos, incluyendo A5l (Advonced 5treoming lormot), VlLO
(Votion licture Lxperts Oroup), Avl (Audio-video lnterleoved), Vl3 (VlLO Audio
Loyer-3 ), y orchivos WAv. 5oporto tombien lo copturo usondo los dispositivos
Lesorrollo soltwore de lo oplicocion 137
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
WDM (Windows Lriver Vodel) o incluso los ms viejos dispositivos de video lor
Windows. Lo lormo de trobojor de esto orquitecturo es utilizondo el hordwore de
ocelerocion de vldeo y oudio, cuondo detecto que est disponible, ounque tombien
existe lo posibilidod de trobojor sin estos dispositivos [17].
Lirect5how simplilico todos los toreos de trotomiento de multimedio,
proporcionondo occeso o lo orquitecturo de control de streoms, poro que los
oplicociones puedon creor sus propios soluciones propietorios, como por ejemplo el
oplicor electos sonoros o orchivos de oudio, o dor soporte o cuolquier nuevo lormoto
de orchivo.
Algunos ejemplos de los tipos de oplicociones que podemos escribir con el
Lirect5how incluyen reproductores de LvL, oplicociones de edicion de vldeo,
conversores de Avl o A5l, reproductores de Vl3, o oplicociones de copturo de
vldeo digitol.
Lo orquitecturo Lirect5how deline como controlor y procesor los streoms de
dotos multimedio, usondo componentes modulores llomodos liltros. Los liltros tienen
pins de entrodo, pins de solido o ombos, y estn conectodos entre ellos en uno
conligurocion llomodo grlico de liltros. Un grlico de liltros completo est
compuesto de un cierto numero de liltros, unidos en uno sucesion logico desde lo
luente de dotos hosto el reproductor. Los oplicociones uson odministrodor de grlico
Lesorrollo soltwore de lo oplicocion 138
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
de liltros poro ensomblor los liltros dentro del grlico y mover los dotos o troves del
mismo. lor delecto, el odministrodor de grlico de liltros troto los dotos
outomticomente; por ejemplo, si queremos reproducir un vldeo, el mismo se
encorgo de insertor outomticomente el codec odecuodo, si es que es necesorio, e
inmediotomente conecto lo solido de dicho codec o un liltro tronslormodor, que
odoptor los dotos poro posorlos o un liltro reproductor, que linolmente reproducir
el vldeo que querlomos, y todo ello de lormo outomtico, sin tener que dor nosotros
ninguno orden en especiol.
lor supuesto, si queremos, podremos especilicor los liltros que queremos
que use y los conexiones que deseemos, si es que no queremos usor lo
conligurocion por delecto que nos presento el Lirect5how.
Como yo comentomos, utilizbomos LirectX debido o lo necesidod de
monejor los controlodores WLV que como hemos visto nos es posible grocios o
Lirect5how. A continuocion se ilustro lo orquitecturo WLV de un sistemo de copturo
de vldeo.
Lesorrollo soltwore de lo oplicocion 139
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 41. ArquIecIura WDM
Los liltros TV Tunei, Ciossoai y KeineI SIieamIng Fioxy son todos portes de
Lirect5how. Ls importonte resoltor que todos los liltros luncionon en modo usuorio y
no tienen occeso directo o lo close SIieam o ol minidriver de copturo de vldeo. Ll
liltro KeineI SIeamIng Fioxy solo monejo el occeso o lo close SIieam WLV y lo
close SIieam WLV solo se comunico con el minidriver de copturo de vldeo. Lsto
orquitecturo unico evito que cuolquier liltro de Lirect5how tengo occeso ol minidriver
directomente. Los perilericos de vldeo onologico toles como lo copturodoro de vldeo
lCl y los sintonizodores de 1v7lV son soportodos o troves de lo orquitecturo WLV
[18].
Lo liguro 41 ilustro el Vinidriver de copturo de vldeo como un driver
monolltico; sin emborgo, esto no es lo unico conligurocion posible. 1ombien es
Lesorrollo soltwore de lo oplicocion 14O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
posible tener minidrivers seporodos poro el dispositivo de copturo, TV Tuneis, y
componentes Ciossoai. Ln este coso, multiples orchivos .sys se comunicorn con el
SIieam CIass. Lo ventojo de seporor el driver monolltico en componentes ms
pequenos es que es ms lcil personolizor los drivers poro soportor vorios
conligurociones de hordwore. loro ello, los desorrollodores lueron requeridos poro
escribir soltwore poro el control de los perilericos de vldeo. Con WLV, Vicrosolt
delinio interloces genericos o troves de Lirect5how poro sintonizodores onologicos
de 1v7lV y multiplexodores A7v.
2.4 LENOUAJE DE PROORAMACIN
Uno vez conocidos los requerimientos de lo oplicocion o reolizor y el entorno
donde esto se ejecutorlo, se eligio C++ como el lenguoje de nuestro oplicocion, ol
ser el optimo poro nuestros necesidodes o lo vez que un potente motor de
progromocion. Lo plotolormo que se uso es el MIcioso/I VIsuaI C-- 6.O, que es un
entorno de desorrollo disenodo especiolmente poro creor oplicociones grlicos
orientodos o objetos. loro creor uno oplicocion se creon ventonos, sobre ellos se
dibujon controles y o continuocion se escribe el codigo luente relocionodo con codo
objeto, que permonece inoctivo hosto que se de el suceso que lo octivo (por
ejemplo un clic del roton) [1S].
Lesorrollo soltwore de lo oplicocion 141
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Vicrosolt visuol C++ es un entorno de progromocion en el que se combinon
lo progromocion orientodo o objetos (C++) y el sistemo de desorrollo disenodo
especiolmente poro creor oplicociones grlicos poro Windows (5LK).
Aunque los oplicociones Windows son sencillos de utilizor, el desorrollo de
los mismos no es toreo lcil. lor ello, poro hocer ms osequible esto toreo, visuol
C++ incluye, odems de vorios herromientos que lo convierten en un generodor de
progromos C++, un conjunto completo de closes (MIcioso/I FounuaIIon CIass,
VlC) que permiten creor de uno lormo intuitivo los oplicociones poro Windows y
monejor los componentes de Windows segun su noturolezo de objetos. Lsto es,
VlC es uno biblioteco de closes que encopsulo los lunciones de lo All de
Windows, poro creor y monipulor objetos Windows.
Windows lue creodo mucho ontes que el populor lenguoje C++. lor este
motivo, hosto que oporecio C++, prcticomente lo totolidod de oplicociones poro
Windows se desorrollobon utilizondo el lenguoje C y lo biblioteco de lunciones de lo
All de Windows. No obstonte, estos oplicociones lueron construidos pensondo en
objetos, por tonto, un lenguoje orientodo o objetos como C++ es lo ms idoneo poro
construir uno interloz noturol poro desorrollor este tipo de oplicociones.
Lo biblioteco VlC, constituye verdoderomente uno interloz orientodo o
objetos poro Windows, que permite desorrollor oplicociones poro este sistemo
Lesorrollo soltwore de lo oplicocion 142
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
operotivo de uno lormo ms intuitivo que lo lormo trodicionol. Uno oplicocion
desorrollodo utilizondo los VlC comporodo con uno version de lo mismo en el
sistemo trodicionol, contiene menos codigo, tiene uno velocidod de ejecucion
comporoble y tombien, permite llomodos o los lunciones del lenguoje de C y de lo
All de Windows.
Los VlC en ningun momento troton de remplozor o los lunciones de lo All
de Windows. Uno luncion de Windows es cubierto por uno luncion miembro de uno
close solo si hocerlo supone uno cloro ventojo. Lsto signilico que en olgunos
ocosiones tendremos que hocer llomodos o los lunciones notivos de Windows.
Los VlC nos locilitorn mucho lo progromocion de lo interloz de lo
oplicocion, yo que estn estrechomente ligodos con objetos toles como ventonos,
menus, contextos de dispositivos (pontollo, impresoros, etc.) y objetos grlicos
generolmente utilizodos en el diseno de uno oplicocion Windows.
lor todo lo onterior, este proyecto no puede ser migrodo o ningun otro
sistemo operotivo sin combior lo bose mismo del proyecto como es el LirectX o lo
utilizocion de los VlC. Al estor este conjunto de lunciones (Alls) desorrollodos
expllcitomente poro sistemos operotivos Windows no podemos migror directomente
este proyecto.
Lesorrollo soltwore de lo oplicocion 143
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
PROGRAMACIN DE SPOT
Ln este copltulo nos centroremos en el trobojo de progromocion reolizodo
poro llevor o cobo lo linolizocion de lo oplicocion con los nuevos olgoritmos de
deteccion disenodos. veremos los combios que hemos reolizodo y los mejoros que
estos combios onoden o lo oplicocion.
3.1 EMPEZANDO A PROORAMAR
Lste primer oportodo vo directomente dirigido ol luturo progromodor que
quiero lormor porte de esto llneo de investigocion obierto en lo Universidod de
5ervillo. Oueremos con esto locilitor en lo medido de lo posible el siempre orduo
trobojo que hoy que reolizor cuondo nos enlrentomos con un progromo que otro
persono ho escrito. Ln un principio, se supone que todo luncionor correctomente y
que solo tendremos que compilor y empezor o reolizor los combios, pero o lo postre
esto toreo puede troer complicociones. Como lo persono que en un luturo retome
este proyecto puede estor inicindose en lo progromocion orientodo o objetos, como
lue nuestro coso, o simplemente en lo utilizocion del Vicrosolt visuol C++, se
pretende con esto locilitor su comienzo y que el tiempo que le dedique seo
solomente en los nuevos mejoros y no en conseguir hocer correr el progromo.
Lesorrollo soltwore de lo oplicocion 144
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lo version onterior de esto oplicocion se desorrollo con el visuol C++ 6.O y
con los LirectX 8.1. Ln un principio se decidio utilizor poro el desorrollo de lo nuevo
version los LirectX ms recientes (LirectX 9.Oc) y el visuol C++ .NL1, que es uno
nuevo version de este progromo. Vigror el progromo de lo version 6.O o lo .NL1
resulto un trobojo demosiodo duro poro estor en los comienzos del oprendizoje de
este lenguoje. loblo que reolizor tontos combios y ton complejos que, en si solo,
este trobojo podrlo ocupor el tiempo normol de reolizocion de un proyecto. lor tonto
so opto por continuor con lo ontiguo version del progromo, pero oqul tombien se
holloron problemos. Lo nuevo version de los LirectX utilizobo tipos de dotos que no
venlon recogidos en los licheros IncIuue del visuol C++ 6.O. Lsto dobo lugor o
numerosos errores que o priori desbordobon ol progromodor, cuyo desconocimiento
de este hecho lo dejobo desconcertodo onte lo imposibilidod de hocer compilor un
progromo que sin dudo el onterior desorrollodor compilobo sin problemos.
Uno vez que se locolizo lo proveniencio del problemo, se locolizo un lichero
en el que venlon los deliniciones de estos nuevos dotos. Lste lichero es el
EaseTsu. y se encontro en lo instolocion del visuol C++ .NL1 ounque sin dudo se
puede encontror en lnternet del mismo modo. Lo unico que hoblo que hocer es
sustituir este lichero por lo ontiguo version del visuol C++ 6.O que se encuentro en
lo ruto ..\Vicrosolt visuol 5tudio\vC98\lnclude
Lesorrollo soltwore de lo oplicocion 14S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lsto solo no es suliciente poro poder compilor lo oplicocion. Ls tombien
necesorio incluir en los Opciones de lerromientos (1ools) los siguientes directorios:

1ombien es necesorio incluir en los ojustes (5ettings) del proyecto los
siguientes librerlos y opciones en los opciones del proyecto de lo pestono Link:

Otro combio en los ojustes del proyecto que se ho reolizodo es el uso de los
VlC como librerlos estticos. Lsto incluye los VlC en el ejecutoble del progromo.
Aumentor el tomono de dicho ejecutoble pero o combio obtenemos uno gron
ventojo: onteriormente estobo reolizodo con librerlos dinmicos y por lo tonto hoblo
que incluirlos monuolmente, ol no hober ejecutoble de instolocion del progromo, en
los directorios de sistemo de Windows; ohoro, ol estor incluidos en el ejecutoble,
luncionor sin instolocion en cuolquier ordenodor, simplemente con copiorlo en el
Include Files

C:\Archivos de programa\Vicrosolt DirectX 3.0 5DK (October 2004)\lnclude
C:\Archivos de programa\Vicrosolt visual 5tudio\vC38\lNCLUDL
C:\Archivos de programa\Vicrosolt visual 5tudio\vC38\VlC\lNCLUDL
C:\Archivos de programa\Vicrosolt visual 5tudio\vC38\A1L\lNCLUDL

Library Files
quartz.lib winmm.lib msacm22.lib olepro22.lib strmiids.lib /nologo
/subsystem:windows /incremental:yes /pdb:Debug/5PO1.pdb /debug
/machine:l286 /out:Debug/5PO1.exe /pdbtype:sept
Lesorrollo soltwore de lo oplicocion 146
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
disco duro y ejecutor el progromo. Lsto le do ol progromo uno moyor llexibilidod y
locilidod de monejo, debido o que cuolquier persono, sin necesidod de conocer que
son los librerlos dinmicos y como se monejon, podr ejecutor lcilmente nuestro
oplicocion.
Ahoro yo, creemos que el luturo desorrollodor del progromo tiene lo
suliciente inlormocion poro poder empezor o progromor sin dilicultodes. A
continuocion empezoremos o relotor y explicor los dilerentes combios que se hon
reolizodo en lo oplicocion 5lO1.
3.2 CAMIO5 EN LA IN1ERFAZ DE U5UARIO
Aunque los combios en lo interloz principol no lueron los que se reolizoron
en primer lugor, los comentomos primero poro locilitor ol lector o que tengo uno
vision globol del progromo. Aprovechoremos oqul poro explicor el luncionomiento de
lo oplicocion, de lormo que tonto el simple usuorio como el luturo desorrollodor
puedon utilizor el progromo sin ninguno dudo o dilicultod.
Yo explicomos lo onterior version existente, osl que ohoro nos limitoremos o
detollor los combios. loro ello, nodo mejor que visuolizor los dilerencios entre
ombos interloces:
Lesorrollo soltwore de lo oplicocion 147
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Ig. 42. InIerIa2 orgnaI ue 5FCT
Lesorrollo soltwore de lo oplicocion 148
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 43. InIerIa2 ue Ia nueva verson ue 5FCT
5e exponen ombos interloces o tomono reol, poro que se oprecien mejor los
dilerencios entre ombos. Ln sucesivos representociones puede ser que no se
conserve el tomono reol por un simple temo de espocio. A simple visto se oprecio
que lo nuevo version incluye como novedod: un Venu, dos botones Vs y Venos,
un boton Limpio Pesultodos y un moyor tomono. Ll menu ser explicodo ms
Lesorrollo soltwore de lo oplicocion 149
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
odelonte, los otros combios los explicoremos conlorme vomos explicondo el
luncionomiento del progromo o continuocion.
Ll progromo comienzo por delecto con lo reproduccion de lo television, pero
nosotros podremos elegir lo luente de lo senol (1v o vldeo) que queromos. Uno
vez que dicho luente de senol est siendo reproducido podremos optor por octivor
dos de los principoles lunciones del progromo: Leteccion o Aprendizoje.
Pecordemos que yo hemos explicodo el luncionomiento del progromo y de estos
dos modulos en los oportodos 2.1, 2.1.1 y 2.1.2. Ll codigo implementodo y
luncionomiento de estos dos ultimos modulos ser objeto del proximo oportodo, yo
que es lo puesto en prctico de todo lo disenodo en el onterior copltulo y el motor
principol de nuestro oplicocion, teniendo por tonto uno gron importoncio en nuestro
proyecto. loro el entendimiento del luncionomiento de lo oplicocion, solo nos hoce
lolto sober que cuondo seleccionomos Aprendizoje, el progromo empezor o
procesor los imgenes que se esten reproduciendo y olmocenor en uno motriz los
volores obtenidos de codo imogen, segun lo yo explicodo en el onterior copltulo.
Uno vez que poremos lo deteccion, podremos grobor lo motriz en nuestro bose de
dotos simplemente pulsondo el boton lichos, ol que tombien podemos occeder por
el menu, introduciendo el nombre deseodo en Nombre 5pot: y pulsondo Orobor o
LN1LP.
Lesorrollo soltwore de lo oplicocion 1SO
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 44. Cuauro ue uIogo. FICHA5
Uno vez que yo tengomos en nuestro bose de dotos los onuncios que
queromos, lo unico que debemos hocer es seleccionor lo senol luente deseodo y
empezor lo Leteccion. Yo dijimos que esto es distinto, seo lo senol luente lo
television (se combio de conol cuondo termino lo comporocion despues del 1iempo
de Observocion) o el vldeo (cuondo termino lo comporocion simplemente vuelve o
empezor). Bsicomente duronte el 1iempo de Observocion se reolizo el mismo
procedimiento que en el Aprendizoje. Cuondo termino ese tiempo, se procede o
ejecutor el olgoritmo de deteccion (veose oportodo 2.1.3), viendo si lo secuencio de
vldeo procesodo pertenece o uno de los onuncios de lo bose de dotos. Ln coso de
que se detecte olgun onuncio, se escuchor uno senol ocustico y se mostror en
Pesultodos el nombre del onuncio detectodo, lo horo o lo que se emitio y el conol
donde se emitlo. 5i lo senol que se reproduclo ero lo del vldeo el conol ser el KO.
Ln el coso de que se detecte un onuncio se ho incluido uno nuevo mejoro y es que
se guordor en el disco duro el lotogromo intermedio de lo secuencio procesodo
Lesorrollo soltwore de lo oplicocion 1S1
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
duronte el 1iempo de Observocion. Le esto lormo se podr oseguror,
posteriormente o lo deteccion, si esto ho sido bien reolizodo. veremos esto ms
odelonte.
Uno vez que esten los resultodos en pontollo, el usuorio puede elegir 5olvor
Pesultodos, medionte lo cuol guordor en memorio en un lichero de texto, cuyo
nombre y ruto elijo, todos los resultodos, o puede elegir Limpior Pesultodos. Lste
ultimo boton es nuevo y no hoce ms que borror de lo pontollo todos los resultodos
que hubiese. Ll codigo que lo implemento es muy sencillo:

Lo vorioble m_sPesultodo es lo vorioble que esto osociodo ol cuodro de texto
Pesultodo. Al dorle ese volor borromos todo lo que contenlo y octuolizomos el
cuodro con lo orden UpdoteLoto(lAL5L).
No se ho comentodo que en el cuodro principol se ven inoctivos los botones
o lo derecho de los que don comienzo ol Aprendizoje y lo Leteccion. Lsto es osl
porque no tiene sentido detener olgo que todovlo no ho comenzodo. Lsto lilosollo
se seguir en lo reolizocion de todo el progromo, tonto en los botones como en el
void C5PO1Dlg::OnLimpia()
{
m_sPesultado = ;
UpdateData(lAL5L); // Update the dialog
Lesorrollo soltwore de lo oplicocion 1S2
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
menu. No se permitir octivor ninguno luncion que en ese momento no tengo
sentido o que puedo desestobilizor el progromo.
Lo unico que en este momento quedo sin explicor de lo interloz principol es
el grupo de botones que hoy olrededor de Conol. Ll cuodro de texto que hoy sirve
poro incluir el numero de conol deseodo, que combior ol pulsor el mondo o
distoncio o pulsor LN1LP. Lsto en olgunos momentos es muy pesodo, osl que por
comodidod se incluyeron los botones Vs y Venos o izquierdo y derecho del cuodro
de texto. Lstos botones incrementon o decrementorn el numero del conol que en
ese momento se este emitiendo. Ll codigo osociodo o estos botones es:

Lsto es lo luncion poro el boton Vs. Lo luncion poro el Venos se deline
como void C5lO1Llg::OnVenos() y es iguol excepto que decrementomos lo
vorioble m_conol, que ser de tipo long y es lo que esto osociodo ol cuodro de texto
de Conol.
void C5PO1Dlg::OnVas()
{
UpdateData(1PUL);
m_canal++;
hr = cambiacanal(m_canal);
Lesorrollo soltwore de lo oplicocion 1S3
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ln esto interloz no tenemos ms novedodes, sin emborgo si elegimos lo
luente de senol de vldeo combior lo interloz y oporecern nuevos botones, entre
los cuoles olgunos son onodidos. vemos de nuevo ombos interloces mientros
reproducen un vldeo poro ver los combios:
Ig. 45. InIerIa2 orgnaI menIras reprouuce un vIueo
Lesorrollo soltwore de lo oplicocion 1S4
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 46. InIerIa2 ue Ia nueva verson menIras reprouuce un vIueo
vemos que en lo nuevo version se hon incluido tres botones que nos lociliton
el monejo de lo reproduccion de orchivos multimedio, como son el lloy, louse y
5top. Lsto nos locilitor el uso del progromo. 5e incluyeron ol echorlos en lolto en el
uso diorio del progromo y su inclusion ocerco el progromo o un reproductor
multimedio cuolquiero que corro sobre Windows. Cuondo se octivon los modulos de
Leteccion o Aprendizoje no se podr octivor ninguno de estos botones y como
vemos en lo imogen, si el orchivo esto siendo reproducido, el ploy no nos ser de
utilidod y por tonto estor desoctivodo. Codo boton tendr uno luncion osociodo que
vienen dodos por:
Lesorrollo soltwore de lo oplicocion 1SS
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
void C5lO1Llg::Onlloy() que en su codigo utilizo lo instruccion:
hr = gcop.pControl->Pun();
void C5lO1Llg::Onlouse() que en su codigo utilizo lo instruccion:
hr = gcop.pControl->louse();
void C5lO1Llg::On5top() que en su codigo utilizo lo instruccion:
hr = gcop.pControl->5topWhenPeody();
Lstos instrucciones von ocomponodos de olgunos otros, entre los que se
encuentron los que hobiliton o deshobiliton los botones de reproduccion segun se
veo necesorio.
3.3 CAMIO5 EN EL MDULO DE DE1ECCIN
Ln este oportodo veremos como hemos implementodo el modulo de
deteccion reolizodo en el onterior copltulo. veremos que lo que ontes en Votlob
hoclomos con un por de instrucciones se complico o lo horo de progromorlo en
C++, debido o que el lenguoje de Votlob est orientodo o los motrices y en
porticulor tiene un 1oolbox poro el monejo de imgenes. loro un mejor
entendimiento de este oportodo se recomiendo releer los oportodos 2.1, 2.1.1 y
2.1.2, lijndose en los diogromos de llujo que se exponen.
Lesorrollo soltwore de lo oplicocion 1S6
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ambos modulos, Aprendizoje y Leteccion, llomon o lo mismo luncion: void
C5lO1Llg::stort(), despues de hober preporodo convenientemente codo uno de
ellos en otros dos lunciones (void C5lO1Llg::OnBoprender() y void
C5lO1Llg::OnLmpezor() respectivomente) los botones que estorn hobilitodos o
no. Usoremos uno vorioble booleono: boprender, que nos dir en que modulo nos
encontromos. Ln lo luncion stort() orroncoremos el 1imer que yo comentomos,
dependiendo de si existe lo bose de dotos o de si estomos en el Aprendizoje, yo
que si osl luero nos dorlo iguol que no existiese porque lo creorlomos o posteriori.
Peolmente no solo nos bosto con que existo lo bose de dotos, sino que tombien, en
el coso de estor en Leteccion, hor lolto que hoyo olgun onuncio en ello. Ln coso
de que no se cumplon dichos condiciones ser: o porque no hoy ninguno bose de
dotos o porque no hoy ningun 5pot en ello si estomos detectondo. Ln esos cosos
se mostrorn los siguientes mensojes por pontollo:
Ig. 47. Mensajes ue auverIenca aI no cumpIrse Ias conucones
Ln coso de que se cumplo lo condicion que hemos comentodo, que se
recoge en lo llneo de codigo:
start1imer = (baprender {{ (inlile.is_open() && lbaprender && spots.GetNoOl5pots() l= 0));
Lesorrollo soltwore de lo oplicocion 1S7
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
llomoremos ol 1imer, iniciolizndolo o 4O ms, con lo instruccion:


Codo vez que se cumplo el 1imer, es decir, codo 4O ms, se llomor o lo
siguiente luncion:
Ls en lo luncion OnCopturor en donde se reolizor todo el proceso del
Aprendizoje y de Leteccion. Ll contodor cont_lromes nos indicor en que lugor de
lo secuencio de imgenes estomos. 5e inicio o O luero de esto luncion. vomos o ir
viendo todo el proceso por portes, tol y como se desgloso en los diogromos de llujo.
5e comento que lo primero occion ero lo de copturor lo imogen, que se reolizo con
el codigo:
Ll buller hobr sido iniciolizodo onteriormente luero de lo luncion
OnCopturor, de lormo que no se produzco lo reservo de memorio poro uno imogen
codo 4O ms, lo cuol en poco tiempo ogotorlo lo memorio PAV del ordenodor. Lsto
5et1imer(lD_CLOCK_1lVLP_J, 40, NULL);
void C5PO1Dlg::On1imer(UlN1 nlDLvent)
{
OnCapturar();
cont_lrames++;
// Copy the image into the buller.
long size = 0;
gcap.pGrabber->GetCurrentBuller(&size,NULL);
Lesorrollo soltwore de lo oplicocion 1S8
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
no se reolizobo en lo ontiguo version, siendo por tonto oltomente inestoble, yo que
consumlo memorio PAV de lormo lineol y el progromo se cerrobo ol poco tiempo de
empezor lo Leteccion. veremos como nos dimos cuento del motivo de esto en el
copltulo dedicodo o los resultodos experimentoles. loro orreglorlo se iniciolizoron
todos los voriobles posibles luero de lo luncion OnCopturor, deliniendolos como
publicos en lo close C5lO1Llg, que es lo del cuodro principol de lo oplicocion. Le
esto lormo podemos occeder o ellos desde cuolquier luncion perteneciente o esto
close. Lsto iniciolizocion se reolizo en lo siguiente luncion:
Uno vez copturodo lo imogen deblomos convertirlo o escolo de grises,
escolorlo o 32Ox24O y por ultimo procesor eso imogen poro olmocenor los dotos en
void C5PO1Dlg::lnitCapturar()
{
ZeroVemory(&Vedia1ype,sizeol(Vedia1ype));
gcap.pGrabber->GetConnectedVedia1ype(&Vedia1ype);

// Get a pointer to the video header.
pvideoHeader = (vlDLOlNlOHLADLP-)Vedia1ype.pblormat;
il (pvideoHeader == NULL)
{
AlxVessageBox(pvideoHeader == NULL);
}
// 1he video header contains the bitmap inlormation.
// Copy it into a Bl1VAPlNlO structure.
ZeroVemory(&Bitmaplnlo, sizeol(Bitmaplnlo));
CopyVemory(&Bitmaplnlo.bmiHeader, &(pvideoHeader->bmiHeader),
sizeol(Bl1VAPlNlOHLADLP));

// Create a DlB lrom the bitmap header, and get a pointer to the buller.
Lesorrollo soltwore de lo oplicocion 1S9
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lo motriz que yo delinimos. Lste es el orden que segulomos en Votlob, pero tros
implementorlo en C++ vimos lo imposibilidod de hocerlo iguol en este lenguoje.
Como veremos en el siguiente copltulo lo luncion que escolobo lo imogen durobo
por si solo ms de 4O ms, cuondo el 1imer se tenlo que dor codo este tiempo poro
el correcto luncionomiento del progromo. Lste problemo venlo tombien de lo version
onterior, pero debido ol metodo de deteccion utilizodo no ero ton importonte y no se
notobo poro el correcto luncionomiento de lo oplicocion. Ln nuestro coso lo copturo
de todos los lotogromos codo exoctomente 4O ms es sumomente importonte y por
lo tonto el escolodo de lo imogen nos ero invioble. Lsto se soluciono reolizondo lo
copturo de lo imogen de 1v directomente con uno resolucion de 32Ox24O,
quitndonos de esto monero lo necesidod del escolodo. Ll problemo que esto
conllevo es que los vldeos que debemos usor deben tener esto resolucion,
tendremos que reolizor el escolodo con otros progromos ontes de su utilizocion con
nuestro oplicocion.
Lesorrollo soltwore de lo oplicocion 16O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Uno vez solucionodo esto, se opto por reolizor el procesodo de lo imogen ol
mismo tiempo que lo conversion en escolo de grises. A continuocion vemos el
codigo implementodo:
Como vemos creomos un puntero o Byte que opuntomos o lo imogen
olmocenodo. Lespues creomos un puntero uint8 (unsigned chor) por codo color, y
recorremos lo imogen entero sumondo los volores en blonco y negro de los plxeles
en el vector medios segun el cuodro en donde nos encontremos. lor ultimo
LPBY1L p5rc;
p5rc= (LPBY1L)buller;
lrame.reallocate(2, Height, Width);
uint8 -red = lrame.bandArrayPtr[0][0];
uint8 -green = lrame.bandArrayPtr[J][0];
uint8 -blue = lrame.bandArrayPtr[2][0];

npixels = wWidth-wHeight;
int divisiones = NumCuadros;
int division_lil = wHeight/(sqrt(divisiones));
int division_col = wWidth/(sqrt(divisiones));
int lil=J;
int col=J;
int cuadro=J;
int cuad_lila=J;
double -medias;
medias = (double -)calloc( divisiones, sizeol( double ) );

lor (int i=0 ; i<npixels ; i++)
{
medias[cuadro-J]=medias[cuadro-J]+
(0.2-(-red)+0.S3-(-green)+0.JJ-(-blue));
il ((lil7division_lil==0) && (lil>=division_lil) && (col==J)){
cuad_lila++;
}
Lesorrollo soltwore de lo oplicocion 161
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
dividimos todos los dotos de este vector por el numero de plxeles de codo cuodro y
yo tenemos un vector que olmoceno los medios de codo cuodro de lo division de lo
imogen. Ln lo close C5lO1Llg, que es lo close del cuodro de dilogo principol,
hemos delinido un 5pot medionte lo close C5pot con lo instruccion: CSpoI
-IempSpoI1; como un miembro publico. Y dentro de esto close se ho delinido lo
motriz donde ir el onuncio, junto ol numero de lilos y columnos que tiene dicho
motriz:
Lo unico que tendremos que hocer dentro de OnCopturor ser olmocenor el
vector medios que tenemos en lo columno correspondiente de lo motriz medios de
lo close C5pot.
Lo columno viene dodo por cont_lromes, que yo hemos comentodo que nos
indico el numero de lo presente imogen dentro de lo secuencio.
3.3.1 APRLNDIZAJL Y DLTLCCIN
int lilas;
int columnas;
lor (int i=0;i<NumCuadros;i++)
{
temp5potJ->medias[i][cont_lrames]=medias[i];
Lesorrollo soltwore de lo oplicocion 162
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ln el coso del Aprendizoje se sigue reolizondo el proceso onterior hosto que
el usuorio decido o hosto que se llego o un tomono mximo, lo cuol nos oseguro
que no existir un desbordomiento de memorio. Ln el coso de lo Leteccion cuondo
de llego ol 1iempo de Observocion se reolizo el olgoritmo de deteccion (ver
oportodo 2.1.3), que vemos en el siguiente codigo:
5i corr es moyor que el umbrol delinido por el usuorio, en el coso de que lo
vez onterior no se hubiese detectodo yo en ese conol ese onuncio, se proceder o
presentor el resultodo por pontollo y o guordor el lotogromo, de lo mitod de lo
secuencio procesodo, en el disco duro. loro hocer esto se ho usodo uno luncion
bojodo de lnternet delinido por [2O]:
A esto luncion le posomos el nombre que deseemos y el lbitmop donde
esto olojodo lo imogen que onteriormente hemos guordodo. Lsto provee ol
progromo de uno gron potenciolidod, yo que nos permite corroboror si lo deteccion
reolizodo es correcto. Ll simple guordodo de un lrome de lo secuencio detectodo en
lor (int i=J; (i <= spots.GetNoOl5pots()) ; i++)
{
temp5pot2 = spots.Get(i);
corr2=CalculaCorr(-temp5potJ,-temp5pot2);
il (corr2>corr)
{
corr=corr2;
BOOL 5aveBitmap(char -name,HBl1VAP bitmap)
Lesorrollo soltwore de lo oplicocion 163
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
el disco duro doto ol progromo de lo posibilidod de uno supervision posterior, que
locilito lo toreo tonto de los desorrollodores del progromo como de los usuorios que
este tengo. Los imgenes que se guorden tendrn como nombre el nombre del spot
detectodo, lo horo de deteccion y el conol donde se ho detectodo, de iguol lormo
que los resultodos que oporecen por pontollo de lormo que se puedo observor o
simple visto lo verocidod de lo deteccion.
3.3.2 CORRLLACIN
loro reolizor lo que en Votlob ero ton sencillo hemos tenido que reolizor dos
lunciones, osemejndose uno de ellos o lo que reolizomos en ese otro lenguoje.
lero poro lo reolizor lo correlocion, que en Votlob ero ton simple como llomor o lo
luncion corr2, hemos necesitodo delinir lo luncion correlo2. A continuocion se
presenton los codigos de ombos lunciones:

double C5PO1Dlg::CalculaCorr(C5pot &Piece,C5pot &5pot)
{
double rJ,r2;
int tam_piece = Piece.columnas;
int tam = 5pot.columnas - tam_piece + J;

lor (int i=0;i<tam;i++)
{
rJ=correla2(Piece.medias,5pot.medias,i);
Lesorrollo soltwore de lo oplicocion 164
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

loro lo reolizocion de estos lunciones se ho tenido mucho cuidodo en
optimizor todo lo posible el codigo, de lormo que se minimizose el tiempo de
ejecucion. Asl, intentomos minimizor en lo medido de lo posible los bucles
existentes, incluyendo todos los instrucciones posibles dentro de estos. Aun osl, ol
monejor estos lunciones motrices de elevodo tomono, sern un limitonte en nuestro
oplicocion. veremos en el copltulo de resultodos experimentoles cul es el tiempo
que tordo el progromo en lo ejecucion de esto luncion y como dicho tiempo nos
limito el numero de 5pots de nuestro bose de dotos.
double C5PO1Dlg::correla2(double a[][1AV_VAX],double b[][1AV_VAX],int inicio)
{
double auxJ, aux2, aux2, aux4, auxS;
int i,j;
auxJ=0;
aux2=0;

lor (i=0; i<NumCuadros; i++)
{
lor (j=0; j<1iempo_Observacion;j++)
{
auxJ=auxJ+a[i][j];
aux2=aux2+b[i][j+inicio];
}
}

auxJ= (auxJ/(NumCuadros-1iempo_Observacion));
aux2= (aux2/(NumCuadros-1iempo_Observacion));
aux2=0;aux4=0;auxS=0;
double Piece_AUX=0;
double 5pot_AUX=0;
Lesorrollo soltwore de lo oplicocion 16S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.4 CAMIO5 EN EL CUADRO DE DILOOO FICHA5
Yo vimos este cuodro de dilogos onteriormente, pero no se comento lo
mejoro que en el hemos reolizodo. Lo version onterior de este progromo inclulo un
boton poro el grobodo de spots nuevos, pero no se inclulo el borrodo de dichos
spots. Lste proceso deblo reolizorse o mono, obriendo el lichero de lo bose de
dotos en modo texto. Lsto no lo podlo hocer, por tonto, nodie que no conociese de
ontemono lo estructuro de dicho lichero, lo que limitobo ol posible usuorio en lo
utilizocion del progromo. Adems de esto, uno vez grobodo el nuevo onuncio, no se
velo rellejodo en lo bose de dotos que monejobo el progromo en lo Leteccion, es
decir, si ontes de grobor un onuncio, tenlomos 3 en lo bose de dotos, poro el
modulo de deteccion, despues del grobodo, segulon existiendo solo 3 onuncios.
Ln lo nuevo version hemos hecho unos determinodos combios de lormo que
podomos borror los onuncios de lo bose de dotos y que los combios reolizodos en
dicho bose de dotos se veon rellejodos en lo utilizocion del resto del progromo
como puede ser lo Leteccion. Ll que los combios electuodos se recojon en el resto
del progromo es lcil, solo hubo que incluir lo siguiente llneo cuondo el cuodro de
dilogo llClA5 devuelve el control ol cuodro de dilogo principol:
Lesorrollo soltwore de lo oplicocion 166
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Le esto lormo spots, que pertenece o lo close CListo5pots, se octuolizo,
posndole lo nuevo listo que se ho creodo en el cuodro de dilogo llClA5.
Conseguir borror los onuncios no lue ton sencillo, yo que hubo que trostocor
ms el codigo y creor nuevos lunciones. lonemos el codigo de lo principol luncion
reolizodo:

A esto luncion se le llomor desde otro luncion cuondo occionemos el boton
de borrodo, que vemos en lo siguiente imogen:
spots=m_dlichaDlg.spots;
int CLista5pots::Delete5pot(int N)
{
il (Array[N-J])
{
int i;
lor (i=N-J;i<NoOl5pots-J;i++)
{
Array[i]=Array[i+J];
Array[i]->5etNumber(i);
}
Lesorrollo soltwore de lo oplicocion 167
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 43. Cuauro ue uIogo FICHA5 en eI que se ve eI nuevo ooIon Eorrar
Lsto luncion es: void ClichoLlg::OnBorror() y en ello se llomo o lo luncion
onterior, octuolizondo el numero de spots de lo bose de dotos y grobondo despues
esto bose de dotos llsicomente en el disco duro.
3.5 INDEPENDENCIA DE RU1A
Aqul explicomos uno interesonte novedod que se le ho onodido o nuestro
oplicocion. Originolmente el progromo 5lO1 necesitobo de lo existencio de lo ruto
c:\video\ en el disco duro de nuestro ordenodor y olll deberlo estor el orchivo de lo
bose de dotos spotbd.dot. Al no existir un instoloble que creose dicho directorio y
ubicoro lo oplicocion en el directorio deseodo, instolondo odems los librerlos
dinmicos en los directorios de sistemo de Windows, lo oplicocion no podlo ser
utilizodo por un usuorio inexperto. 5e deblon tener ciertos conocimientos poro poder
reolizor estos occiones, lo cuol incumpllo nuestro iniciol proposito de sencillez.
Lesorrollo soltwore de lo oplicocion 168
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ll problemo de los librerlos dinmicos yo hemos comentodo como se
soluciono: en vez de optor por que luesen dinmicos se combioron o librerlos
estticos, de lormo que, oun o costo de oumentor el tomono del ejecutoble, se
gonobo en lo locilidod de hocer luncionor lo oplicocion en cuolquier ordenodor, en
cuolquier corpeto, sin necesidod de instolocion ni outomtico ni monuol.
lero todovlo tenlomos un problemo, codo vez que se probose lo oplicocion
en un nuevo ordenodor, hoblo que creor lo corpeto c:\video\ e introducir en ello lo
bose de dotos. Lsto es sencillo pero en ocosiones molesto y poro un usuorio
inexperto podrlo ocosionor un problemo. Asl que se decidio y consiguio introducir
uno mejoro en el luncionomiento del progromo, de lormo que no necesitose de esto
corpeto en c:\ y que se pudiese mover libremente por los directorios del ordenodor.
Ln lo iniciolizocion del progromo se obtenlo lo ruto en donde estobo corriendo lo
oplicocion y o portir de esto ruto bose yo podlomos occeder o cuolquier corpeto o
orchivo, siempre que estuviesen tombien en ese directorio. Le esto lormo solo hoblo
que ocomponor el ejecutoble de los orchivos o directorios necesorios y colocorlos
siempre o su lodo. Utilizorlomos, por ejemplo, un simple orchivo comprimido que
contuviese todo eso. 5olo tendrlomos que descomprimirlo en lo corpeto que
//get application start directory
har buller[430];
::GetVodulelileName(0, buller, 430);
LP151P pszlileName = _tcsrchr(buller, '\\') + J;
-pszlileName = '\0';
Lesorrollo soltwore de lo oplicocion 169
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
quisiesemos y el progromo yo luncionorlo. 1ombien podrlomos simplemente copior y
pegor todo junto en otro corpeto y el progromo seguirlo luncionondo. Lsto nos serlo
muy util o lo horo de hocerlo correr en otro lC o de hocer dilerentes pruebos en un
mismo ordenodor. Los instrucciones que nos permiten reolizor esto son:
Appdir es un C5tring que olmoceno lo ruto donde est situodo lo oplicocion y
est delinido como uno vorioble publico en lo close principol de nuestro oplicocion.
lodremos occeder o Appdir desde cuolquier modulo de nuestro oplicocion y por
tonto cuolquier orchivo o directorio que se encuentre en esto ruto ser occesible por
el progromo.
loro mejoror lo sencillez y occesibilidod de lo oplicocion se hon incluido dos
corpetos que estorn en lo mismo ruto que el ejecutoble. Lstos corpetos sern
5potLB\, donde se olmocenoron los orchivos de lo bose de dotos y Copturos\,
donde guordoremos los lotogromos intermedios de los secuencios detectodos.
Acomponondo ol ejecutoble hobr un lichero llomodo Conlig.dot, donde
guordoremos olgunos pormetros de conligurocion del progromo que yo veremos
ms odelonte. Ln lo imogen vemos los orchivos y corpetos necesorios poro lo
ejecucion y luncionomiento de 5lO1.
Lesorrollo soltwore de lo oplicocion 17O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 49. 5FCT en eI usco uuro
3.6 MENU DE LA APLICACIN
Como yo se ho comentodo, se ho pretendido disenor un entorno poro
nuestro oplicocion lo ms porecido posible o los oplicociones que corren sobre
Windows. loro ello, se ho incluido en esto nuevo version un menu con diversos
entrodos, medionte los cuoles podemos occeder o los lunciones que yo occedlomos
con los botones de lo interloz y sobre todo y ms importonte, medionte los cuoles
podemos occeder o nuevos pormetros de conligurocion de lo oplicocion. Lste
menu complementor perlectomente lo luncionolidod del entorno de usuorio,
permitiendo conliguror nuevos opciones que iremos viendo conlorme voyomos
explicondo los dilerentes entrodos.
A continuocion se posor o explicor codo uno de esos entrodos y en oquellos
cosos que veomos conveniente se explicorn los distintos dilogos o los que dicho
entrodo llome.
Lesorrollo soltwore de lo oplicocion 171
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.6.1 MLNU ARCHIVO
Lste menu se ho disenodo emulondo o lo moyorlo de progromos que se
uson en Windows, en el cuol se suele poder occeder o lo operturo y cerrodo de
orchivos y ol guordodo de otros orchivos. vemos cuoles hon sido los entrodos
elegidos en nuestro coso:


Ig. 5O. Menu Arcnvo
Lesorrollo soltwore de lo oplicocion 172
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Como se oprecio en lo liguro SO el menu Archivo cuento con cinco entrodos,
estondo los dos primeros desoctivos. Lsto se debe o que en este momento lo
oplicocion tiene como luente lo 1v y estos dos entrodos solo tienen utilidod cuondo
se est en el modo vldeo. Le esto lormo, sin tener que usor mensojes de oviso que
nos impidon occionor dichos botones, quitomos eso posibilidod porque nos ser
llsicomente imposible el occionorlos. Lsto, como yo se ho comentodo, estor
presente en todos los entrodos del menu que osl lo necesiten. Asl nos libromos de
inestobilidodes del progromo, es decir, de los vulgormente llomodos cuelgues del
sistemo, que se producen cuondo en lo progromocion no se tienen en cuento todos
los posibles secuencios de eventos que pueden dorse en lo ejecucion normol del
progromo.
A continuocion explicomos codo uno de los entrodos del menu Archivo:
3.6.1.1 Abr|r...
A esto entrodo solo podremos occeder cuondo lo senol luente seo el vldeo.
5u luncion es lo mismo que tiene el boton Archivo que podemos ver en lo liguro SS.
Cuondo lo pulsemos se permitir lo eleccion de un orchivo de vldeo que podemos
escoger novegondo por nuestro ordenodor. Uno vez elegido el orchivo, este
empezor outomticomente o reproducirse. Los tipos de orchivos que se pueden
reproducir son: -.mpg; -.mpeg; -.ovi; -.mov; -.qt, ounque, segun que codecs
Lesorrollo soltwore de lo oplicocion 173
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
utilicen los orchivos reproducidos, podrn o no ser utilizodos poro el Aprendizoje o
Leteccion.
Ig. 51. EIeccon ue arcnvo
3.6.1.2 Cerrar
Lsto entrodo llomo o uno luncion, de nuevo ejecucion, que reolizo lo luncion
opuesto o lo onterior. Lo dilerencio con respecto o 5top es que cierro el orchivo por
completo, teniendo que obrir otro de nuevo si queremos reproducirlo. Ln el coso de
5top podremos volver o reproducirlo simplemente pulsondo lloy.
Lo luncion que reolizo esto occion es void C5lO1Llg::OnVcerror() y ser
llomodo cuondo el usuorio pulse dicho entrodo.
3.6.1.3 F|chas, 5a|var y 5a||r
Lstos tres entrodos llomon o los mismos lunciones que los botones, del
mismo nombre, que se encuentron lo interloz. Los dos primeros yo hon sido
Lesorrollo soltwore de lo oplicocion 174
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
ompliomente comentodos. 5olir no lo hemos comentodo, pero como es obvio lo
luncion que reolizor ser lo de cerror el progromo.
3.6.2 MLNU CANALL5
Lsto entrodo del menu nos introduce en uno novedod muy importonte de
esto version. Al llomor o este menu podremos occeder o unos lunciones que doton
de uno notoble moyor potencio ol progromo. Como su nombre indico, estor
lntimomente relocionodo con lo reproduccion televisivo.
Ln lo siguiente liguro vemos que presento cinco entrodos:
Ig. 52. Menu CanaIes
Lesorrollo soltwore de lo oplicocion 17S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Los dos ultimos entrodos: Conol Vs y Conol Venos, se corresponden con
los slmbolos ms y menos de lo interloz que yo explicomos. Lebido o esto no sern
objeto de nuestro explicocion en este oportodo. A continuocion explicomos los otros
tres.
3.6.2.1 L|sta de Cana|es
Lsto entrodo nos llevo o un nuevo cuodro de dilogo en el que podremos
conliguror lo listo de conoles poro lo deteccion. Le esto lormo el propio usuorio ser
el que puedo conliguror los conoles en los que se hor lo deteccion y no ser un
pormetro inolconzoble que tengo que ser conligurodo por el progromodor. Lo
luncion que llomo ol nuevo cuodro de dilogo es:
5olo hemos expuesto los instrucciones que llomon ol nuevo diologo, pero
ontes tendremos que posorle o este cuodro de dilogo lo listo de conoles octuol y
cuondo este devuelvo el control se copior lo listo modilicodo. loro el nuevo dilogo
se ho creodo uno close llomodo CListConolLlg, poro lo que se hon creodo los
lunciones:
void C5PO1Dlg::OnVlistacanales()
{

il (m_dListCanalDlg.DoVodal () ==lDOK)
{
UpdateData(1PUL);
UpdateData(lAL5L);
BOOL OnlnitDialog();
void OnOK();
void OnPasacanal();
Lesorrollo soltwore de lo oplicocion 176
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lo primero luncion iniciolizo el cuodro de dilogo cuondo este es llomodo.
Los otros tres estn osociodos o los botones que podemos oprecior en lo liguro:

Ig. 53. LsIa ue CanaIes


1endremos uno vorioble int llomodo
m_conoles osociodo ol cuodro de texto Conol, de lormo que lo usor lo luncion
Onlosoconol poro introducir el numero introducido en lo listo de lo derecho. Lsto
luncion estor osociodo ol boton que opunto o lo derecho, mientros que lo luncion
OnLliminoconol (que borro el conol de lo listo que hoyomos seleccionodo) est
osociodo ol boton que opunto o lo izquierdo. loro lo listo hemos creodo uno
vorioble CListBox llomodo m_lstconol que ser lo que contengo lo listo de conoles.
lemos delinido esto listo de lormo que siempre tengo un conol como mlnimo
y 6 como mximo, oporeciendo un mensoje de odvertencio en coso controrio
cuondo se pulso OK:

Lesorrollo soltwore de lo oplicocion 177
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol


Ig. 54. Mensaje ue IsIa ncorrecIa
Al devolver el control este dilogo ol cuodro de dilogo principol, este ultimo
copio poro su uso lo listo de conoles, pero que poso cuondo cerromos el progromo
y volvemos o obrir, lo listo seguir guordodo? loro resolver este problemo se
creoron dos lunciones: LeeConlig() y OuordoConlig(). Lo primero lee todos los
pormetros de conligurocion utilizodos por el progromo cuondo se inicio el mismo.
Lstos pormetros estn en el lichero Conlig.dot y son guordodos por lo luncion
OuordoConlig(), que se llomor cuondo se octuolice en lo oplicocion cuolquiero de
los pormetros de conligurocion que en el lichero se olmocenon. Ln este coso el
lichero se volver o guordor ol termino de lo octuolizocion de lo listo de conoles,
pero como veremos ms odelonte tombien se guordor cuondo modiliquemos otros
pormetros.
Le todos los novedodes reolizodos, esto es lo que incluye uno moyor
luncionolidod ol progromo y que ms le provee de uno luerte interoccion entre el
usuorio y lo oplicocion. Lsto mejoro nos permite cumplir plenomente el objetivo de
llexibilidod que nos hicimos ol comienzo de este proyecto.
Lesorrollo soltwore de lo oplicocion 178
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
A continuocion ponemos el codigo, o porte de el, de ombos lunciones:
vemos que en el coso de que no existo el lichero Conlig.dot estoblecemos
unos dotos por delecto y creomos un nuevo lichero. Lsto nos permite que el
progromo no lolle en el coso de que no existo dicho orchivo de conligurocion.
3.6.2.2 Memor|a Arr|ba y Memor|a Aba[o
Lstos dos entrodos nos permitirn llomor o dos lunciones que reolizon un
combio de conol dentro de lo listo de conoles que hoy en memorio. 5i elegimos
Vemorio Arribo, combior ol siguiente conol que se encuentro en lo listo de conoles
void C5PO1Dlg::GuardaConlig()
{
llLL -lich;
lich = lopen(Appdir + Conlig.dat,wb);
lwrite ( &umbral_det, sizeol(double), J, lich);
lwrite ( &NumCuadros, sizeol(int), J, lich);
lwrite ( &1iempo_Observacion, sizeol(int), J, lich);
void C5PO1Dlg::LeeConlig()
{
llLL -lich;
il ((lich = lopen(Appdir + Conlig.dat,rb))l= NULL)
{
lread ( &umbral_det, sizeol(double), J, lich);
lread ( &NumCuadros, sizeol(int), J, lich);
lread ( &1iempo_Observacion, sizeol(int), J, lich);
lread ( &NumCanales, sizeol(int), J, lich);
lread ( canales, sizeol(int), NumCanales, lich);
lclose(lich);
}
Lesorrollo soltwore de lo oplicocion 179
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
y ol controrio si elegimos Vemorio Abojo. Ln el coso de que el conol octuol no se
encuentre dentro de lo listo de conoles se combior ol primer o ol ultimo conol de lo
listo, segun elijomos Vemorio Arribo o Vemorio Abojo.

lonemos el codigo de lo luncion Vemorio Arribo por ejemplo:

Lo otro luncion est delinido por void C5lO1Llg::OnVemdown() y su
luncionomiento ser onlogo ol de lo orribo expuesto.
void C5PO1Dlg::OnVemup()
{
UpdateData(1PUL);
int canal;
bool enc = lalse;
lor (int i=0;i<NumCanales;i++)
{
il(canales[i]==m_canal)
{
il(i==NumCanales-J)
{
canal=canales[0];
enc = true;
}
else
{
canal=canales[i+J];
Lesorrollo soltwore de lo oplicocion 18O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.6.3 MLNU RLPRODUCIR
Lste menu nos permite el occeso o tres lunciones que yo hemos comentodo
onteriormente, como son: lloy, louse y 5top. Lstos tres entrodos solo sern
occesibles si lo senol luente es lo de vldeo, poro evitor inestobilidodes del sistemo,
como yo se comento.
Ln lo siguiente liguro se observo lo oporiencio de lo oplicocion cuondo esto
se dispone o reproducir un vldeo. vemos el boton de Archivo que hosto ohoro no
hoblomos visto, debido o que este solo oporece cuondo no se est reproduciendo
ningun vldeo y lo oplicocion no tiene lo television como senol de entrodo.
Ig. 55. Menu Heprouucr
Lesorrollo soltwore de lo oplicocion 181
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.6.4 MLNU DLTLCCIN
Lste menu tendr seis entrodos que se corresponden con los botones de lo
interloz principol que combion lo senol luente y empiezon o terminon el Aprendizoje
o lo Leteccion. Yo sobemos el luncionomiento del progromo cuondo son
occionodos, osl que simplemente enumeroremos los lunciones osociodos o codo
entrodo:
1v: void C5lO1Llg::On1v()
vldeo: void C5lO1Llg::Onvideo()
Lmpezor Aprendizoje: void C5lO1Llg::OnBoprender()
1erminor Aprendizoje: void C5lO1Llg::OnBlinoprender()
Lmpezor Leteccion: void C5lO1Llg::OnLmpezor()
1erminor Leteccion: void C5lO1Llg::On1erminor()
A continuocion veremos estos entrodos de lormo grlico:
Lesorrollo soltwore de lo oplicocion 182
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 56. Menu DeIeccon
3.6.5 MLNU CONFIOURACIN
Lste menu junto con el de Listo de Conoles son los ms importontes, yo que
juntos nos permiten occeder como usuorios o los pormetros internos de lo
oplicocion y modilicorlos. Lesde este menu podremos occeder y modilicor tres
pormetros de lo conligurocion del olgoritmo de deteccion de onuncios:
Livisiones de lo lmogen
1iempo de Observocion
Umbrol de Leteccion
Lesorrollo soltwore de lo oplicocion 183
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lsto constituye uno de los puntos luertes de lo oplicocion, yo que nuestro
oplicocion no ser olgo rlgido, que en coso de no luncionor correctomente el usuorio
se veo incopoz de orreglor. 5e podr de lormo sencillo y dinmico modilicor los
pormetros lundomentoles de lo deteccion, hosto que el usuorio este conlorme con
el luncionomiento de lo oplicocion. Le hecho lo oplicocion luncionor mucho mejor
si se odecuon estos pormetros ol numero de onuncios que hoyo en lo bose de
dotos, osl como o lo durocion de estos onuncios. vemos los cuotro entrodos de este
menu:
Ig. 57. Menu ConIguracon
Lesorrollo soltwore de lo oplicocion 184
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
5e hon copturodo estos entrodos mientros se ejecutobo el modulo de
Leteccion, poro observor como, mientros corre dicho modulo, los tres ultimos
entrodos se encuentron deshobilitodos, de lormo que no podomos combior los
pormetros de conligurocion de deteccion mientros esto ultimo est corriendo.
A continuocion explicomos los cuotro entrodos.
3.6.5.1 Cont|gurac|n Actua|
Lsto entrodo nos muestro un cuodro de dilogo con los volores octuoles de
los pormetros de conligurocion. Ls muy util poro ver, uno vez obierto el progromo,
cul es lo ultimo conligurocion utilizodo o poro, en el coso de que estemos hociendo
muchos combios en lo conligurocion, sober en todo momento cules son los volores
de los pormetros de conligurocion.
Cuondo pulsomos esto entrodo llomomos o lo siguiente luncion:

void C5PO1Dlg::OnVinlo()
{
m_dlnloDlg.tempdetec = 1iempo_Observacion-0.04;
m_dlnloDlg.umbraldet = umbral_det;
m_dlnloDlg.numdivis = NumCuadros;

il (m_dlnloDlg.DoVodal () ==lDOK)
{
Lesorrollo soltwore de lo oplicocion 18S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Antes de llomor ol cuodro de dilogo le enviomos los volores octuoles de los
pormetros de conligurocion. Lespues se llomo ol dilogo, mostrndose:
Ig. 53. ConIguracon AcIuaI
lemos creodo uno close llomodo ClnloLlg poro este cuodro de dilogo.
Cuondo se iniciolizo corgomos el monejodor del cuodro de texto lnlo y despues
utilizomos este monejodor poro corgor en el lo inlormocion de conligurocion.
Los pormetros de conligurocion son:
Nmero de D|v|s|ones: es el numero de cuodros en que dividimos lo
imogen copturodo.
T|empo de Detecc|n: ol que tombien hemos llomodo 1iempo de
Observocion, ser el tiempo que estoremos en codo conol.
CWnd -lnlo;
lnlo=GetDlgltem(lDC_lNlO);

Lesorrollo soltwore de lo oplicocion 186
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Umbra| de Detecc|n: umbrol poro decidir si un onuncio pertenece o no o
lo secuencio de vldeo procesodo.
3.6.5.2 D|v|s|ones Imagen
Con esto entrodo occedemos o un cuodro de dilogo en el que podremos
elegir el numero de divisiones que queremos tomor por imogen copturodo. 5e don o
elegir entre los que se ho considerodo oportuno tros los simulociones teoricos
reolizodos. Cuondo pulsomos esto opcion se occede o lo luncion void
C5lO1Llg::OnVcuodros() que ser lo que llome ol cuodro de dilogo, poro el que
tombien hemos creodo uno close, llomodo CLivisionesLlg. 5u oporiencio es:
Ig. 59. Numero ue Dvsones
lor delecto oporecer seleccionodo lo opcion de 1OO cuodros. Cuondo
pulsemos Aceptor y devolvomos el control ol dilogo principol, se corgor lo nuevo
Lesorrollo soltwore de lo oplicocion 187
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
conligurocion y como yo dijimos ontes, se octuolizor el orchivo Conlig.dot en el que
se guordo lo conligurocion de lo oplicocion.
Ante lo posibilidod de luncionomiento del progromo con dilerente numero de
divisiones y lo importoncio que tiene esto en nuestro bose de dotos, yo que este
numero condicionor lo contidod de lilos de los motrices que guordemos en ello,
nos vimos en lo necesidod de monejor uno bose de dotos por codo uno de los
dilerentes opciones que podemos escoger. Lsto disminuye el peso de los boses de
dotos, ol existir uno por codo posible numero de divisiones y nos permite tombien
tener olmocenodos dilerentes onuncios en codo uno de ellos. lor estor lntimomente
ligodos este pormetro de conligurocion con lo bose de dotos que se este utilizondo
en el momento octuol, cuondo modiliquemos dicho pormetro, ol devolver el control
ol dilogo principol volveremos o corgor los onuncios de lo nuevo bose de dotos en
lo listo spots, que yo lue comentodo en el oportodo 3.6.2.1.
Los nombres de los boses de dotos que tendremos segun el volor del
numero de divisiones sern spotdb + N Livisiones + .dot. Asl, podremos usor
hosto 6 boses de dotos dilerentes, llomodos:
spotdb16.dot, spotdb2S.dot, spotdb64.dot, spotdb1OO.dot,
spotdb2S6.dot, spotdb4OO.dot,
Lesorrollo soltwore de lo oplicocion 188
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.6.5.3 T|empo de Detecc|n
Lsto opcion nos obre un cuodro de dilogo en el que modilicoremos el
1iempo de Leteccion o 1iempo de Observocion como lo hemos llomodo hosto
ohoro. Lo luncion o lo que se occede cuondo se elije dicho opcion es:
vemos que ontes de llomor ol nuevo dilogo multiplicomos por O.O4 y que
cuondo este devuelve el control dividimos por O.O4. Lsto es debido o que el tiempo
que nosotros introduciremos estor en segundos pero el progromo monejo el tiempo
como numero de lromes dentro de lo secuencio. 5i recordomos que un lrome tiene
uno lrecuencio de 2S codo segundo resulto que su durocion es de 4O ms, o dicho
de otro modo, codo 4O ms se presento un nuevo lrome por pontollo. Al multiplicor o
dividir por O.O4 lo unico que estomos hociendo es reolizor lo conversion.
Al termino de lo luncion se llomo o OuordoConlig, que ser lo encorgodo de
octuolizor y guordor el nuevo lichero Conlig.dot.
void C5PO1Dlg::OnVtiempodeteccion()
{
m_d1iempoDetecDlg.m_tempdetec = 1iempo_Observacion-0.04;
il (m_d1iempoDetecDlg.DoVodal () ==lDOK)
{
UpdateData(1PUL);
UpdateData(lAL5L);
Lesorrollo soltwore de lo oplicocion 189
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ll dilogo ol que llomomos tombien tiene osociodo uno close, llomodo
C1iempoLetecLlg. Como vemos en lo siguiente liguro, hoy un cuodro de texto en
donde introduciremos el volor del tiempo deseodo. Lste cuodro de texto tiene
osociodo uno vorioble del tipo double cuyo nombre es m_tempdetec.
Ig. 6O. Tempo ue Coservacon
Ll tiempo que introduzcomos deber estor entre 1 y 7 segundos y en coso
controrio oporecer el siguiente mensoje de oviso:
Ig. 61. Tempo IncorrecIo
Lesorrollo soltwore de lo oplicocion 19O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
3.6.5.4 Umbra|
Con esto ultimo entrodo del menu de conligurocion occedemos o un dilogo
muy porecido ol onterior, donde introduciremos el umbrol de deteccion que
deseemos. Lo luncion que llomomos se deline por void C5lO1Llg::OnVumbrol() y
es prcticomente iguol que lo onterior exceptuondo los conversiones de tiempo.
1ombien se llomo o OuordoConlig poro olmocenor el nuevo volor del umbrol
deseodo.
Lo close del nuevo diologo se llomor CUmbrolLlg y en el tombien hobr un
cuodro de texto con uno vorioble del tipo double osociodo, que en este coso se
llomor m_Umbrol. Ln ese cuodro introduciremos el volor deseodo del umbrol.
Ig. 62. UmoraI ue DeIeccon
Ll umbrol que introduzcomos deber estor entre O.7 y 1. Lstos volores se
Lesorrollo soltwore de lo oplicocion 191
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
hon escogido por un lodo porque moyor que uno nunco podr ser lo correlocion y
por el otro porque un volor menor de O.7 no nos indico un gron porecido y no nos
serlo util poro lo correcto deteccion. Ln coso controrio de introducir un volor entre
estos llmites oporecer el siguiente mensoje de oviso:
Ig. 63. UmoraI IncorrecIo

3.6.6 MLNU ACLRCA DL...
lulsondo esto ultimo y unico entrodo de este menu se presento un dilogo
con inlormocion sobre el proyecto y sobre el outor del mismo. A continuocion se
muestro el cuodro de dilogo que oporece en pontollo cuondo seleccionomos esto
opcion:
Lesorrollo soltwore de lo oplicocion 192
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 64. DIogo Acerca ue





Pesultodos Lxperimentoles 193
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPTULO 5
RESULTADOS EXPERIMENTALES
Uno vez linolizodo el progromo hoblo que proborlo en el moyor numero de
escenorios posibles, de lormo que pudiesemos comprobor su estobilidod y robustez.
Leblomos osegurornos de que el progromo corrlo sin problemos en dilerentes
sistemos operotivos Windows y despues tenlomos que estoblecer dilerentes
pruebos, de lormo que conlirmsemos si los porcentojes teoricos de deteccion,
hollodos en el copltulo 3, se cumpllon. 5e reolizorn, por tonto, dilerentes
simulociones que muestren lo copocidod de deteccion de nuestro oplicocion en
dilerentes escenorios.
CARGA COMPUTACIONAL DEL SISTEMA
Ll conseguir el consumo mlnimo de recursos del sistemo ho sido en todo
momento uno de los metos que se tenlon presentes duronte el desorrollo soltwore
de lo oplicocion. Como resultodo de lo busquedo de lo consecucion de este objetivo,
se eligio en lo primero version el lenguoje C++ como plotolormo de progromocion,
por ser el lenguoje ms rpido y el que permitlo ol progromodor occeder o los
recursos del sistemo de lormo ms elicoz y con moyor libertod. Lo eleccion de este
lenguoje trolo consigo los ventojos yo mencionodos, pero tombien el inconveniente
Pesultodos Lxperimentoles 194
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
de lo dilicultod de progromocion, odems del dilicultoso oprendizoje del monejo de
los Alls de Windows.
Uno vez terminodo lo oplicocion, deblomos probor si se hoblo cumplido el
objetivo buscodo y poro ello dejomos correr el progromo mientros observbomos el
porcentoje de ClU usodo por el progromo y lo memorio PAV que consumlo. Lsto lo
horemos medionte lo visuolizocion de lo corgo computocionol del odministrodor de
toreos de Windows.
Ln un principio cuondo pensbomos que yo hoblo terminodo nuestro trobojo
de progromocion y poreclo que todo luncionobo o lo perleccion, se detecto que si se
dejobo el progromo encendido duronte lorgo tiempo, este terminobo por opogorse
sin motivo oporente. Nodo poreclo ser incorrecto y sin emborgo siempre terminobo
por opogorse si dejbomos lo oplicocion en el modo Leteccion. Ll estudio de lo
utilizocion de los recursos del sistemo nos permitiero dor con lo clove, yo que se
locolizo un oumento lineol del consumo de lo memorio PAV del ordenodor.
Pesultodos Lxperimentoles 19S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Cuondo se implemento el nuevo metodo de deteccion se osumio que el
ontiguo luncionobo correctomente, y por lo tonto no se toco nodo del codigo que se
encorgobo de lo copturo de los imgenes en lo luncion OnCopturor. lero ol reolizor
uno pruebo visuolizondo el uso de los recursos del sistemo de lo version onterior se
obtuvo lo siguiente:
Ig. 65. Uso CFU y Memora HAM ue Ia verson anIeror
5e observo un oumento lineol del consumo de memorio PAV (en lo liguro
ll o orchivo de pgino) y un uso de lo ClU del 1OO7, lo cuol represento un
comportomiento del progromo obsolutomente indeseoble. Ll sistemo presento un
llmite de memorio PAV, obtenido de lo sumo de lo memorio reol instolodo en
Pesultodos Lxperimentoles 196
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
nuestro equipo ms uno memorio virtuol o orchivo de poginocion, que es un reo
del disco duro que Windows utilizo como si luero PAV. Cuondo se olconzo dicho
llmite lo oplicocion se cerror, ol no poder el sistemo otorgorle ms recursos. vemos
en lo siguiente imogen lo contidod de recursos que lo oplicocion ocoporor y como,
cuondo lo cerromos, se libero todo lo memorio PAV ocumulodo.
Ig. 66. Loeracon ue recursos cuanuo cerramos Ia apIcacon orgnaI
Uno vez que se vio que lo oplicocion que hoblomos desorrollodo hoblo
heredodo este problemo de lo ontiguo version y que se dedujo que el problemo
estobo en lo reservo de memorio, sin ser posteriormente liberodo, en lo luncion
OnCopturor, se estudio el codigo poro solucionor el problemo. Lo solucion yo se ho
Pesultodos Lxperimentoles 197
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
comentodo: se creo uno luncion, llomodo lnitCopturor, que reservobo todo lo
memorio necesorio que despues se utilizorlo en OnCopturor. Le esto lormo se
consiguio que el progromo no reservose memorio codo 4O ms, sin que luese
liberodo ol solir de lo luncion.
lero medionte lo observocion de lo corgo computocionol del sistemo no solo
odvertimos el problemo del uso lineol de memorio PAV, sino que tombien vimos
que lo oplicocion usobo el 1OO7 de lo ClU duronte todo el tiempo que estobo en el
modulo de Leteccion. Lsto ero inodmisible y nos indicobo que olgo en el progromo
originol estobo mol disenodo. Lsto corocterlstico tombien lue heredodo en un
principio por lo nuevo version, pero poro poder solucionorlo hubo que recurrir o un
estudio ms en prolundidod de los tiempos de ejecucion de todos los modulos y
lunciones internos de lo oplicocion. Lsto se ver con todos los detolles en el
siguiente oportodo. Ahoro solo diremos que conseguimos orreglor el problemo,
quedondo el uso de recursos del sistemo de lo siguiente monero:
Pesultodos Lxperimentoles 198
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 67. Uso CFU y Memora HAM ue Ia nueva verson
5e puede oprecior como el uso de memorio PAV es constonte y como el
consumo de lo ClU se encuentro entorno o un 3O74O7. Le todos lormos el uso de
lo ClU es siempre oproximodo, yo que en el sistemo en el mismo instonte que
corre nuestro oplicocion hoy otros muchos procesos que tombien consumen
recursos y los tiempos de tronsoccion de uno o otro no pueden ser otribuidos o
ningun proceso en concreto.
loy que senolor que el consumo de lo ClU recogido ho sido con 1 onuncio
en lo bose de dotos y con 1 segundo como 1iempo de Leteccion. 5i voriomos
cuolquiero de estos dos opciones, el ospecto del consumo de lo ClU ser
totolmente dilerente. Al oumentor el 1iempo de Leteccion se producen ms
oscilociones, yo que duronte el tiempo que se proceso lo secuencio de imgenes, lo
corgo computocionol es menor. Asl si ponemos 3 segundos, duronte este tiempo el
uso de lo ClU ser menor, pero cuondo pose este tiempo se producirn picos de
uso correspondientes ol proceso de correlocion. Ll oumento de los onuncios en lo
bose de dotos conllevo que los picos de consumo de lo ClU comentodos seon
moyores, es decir, llegorn o un nivel de moyor porcentoje de uso. Lependiendo del
1iempo de Leteccion conligurodo, el ospecto ser dilerente. 5i se elije 1 segundo,
prcticomente se montendr olrededor del nivel mximo de estos picos, mientros
que si elegimos 6 segundos el ospecto se osemejor ol de volles y montonos.
Pesultodos Lxperimentoles 199
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 63. Uso CFU ue Ia nueva verson con 3 anuncos y 1 segunuo ue Tempo ue DeIeccon
Ig. 69. Uso CFU ue Ia nueva verson con 3 anuncos y 7 segunuos ue Tempo ue DeIeccon
linolmente logromos orreglor los problemos que ocorrebomos de lo version
onterior y yo tenlomos uno version estoble y luncionol. lero hosto ohoro solo hoblo
sido probodo en uno mquino, por lo que probomos su luncionomiento en dilerentes
lCs con distintos torjetos de 1v:
AVL Athlon Xl 22OO+ 1.8 Olz, 768 de PAV, 1orjeto de 1v AverVedio
1v 5tudio, 5.O. Windows Xl
AVL Athlon Xl 1.2O Olz, 2S6 de PAV, 1orjeto de 1v linnocle lC1v,
5.O. Windows Xl
Pesultodos Lxperimentoles 2OO
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
AVL Athlon Xl 18OO+ 1.S3 Olz, S12 de PAV, 1orjeto de 1v AverVedio,
5.O. Windows 98
lentium 4 2.4 Olz, S12 de PAV, 1orjeto de 1v Losy 1v, 5.O. Windows
2OOO
Lstos lueron los dilerentes equipos en los que se probo el progromo. loro
hocer simulociones se ver que tombien se hon usodo otros equipos que no tenlon
instolodos torjetos de 1v, pero que podlon servirnos seleccionondo como senol
luente el vldeo. Ln todos ellos el progromo lunciono, ounque se detectoron ciertos
inestobilidodes relocionodos con lo reproduccion de lo television. Al posor de 1v o
vldeo y ol reves, o veces el progromo se cerrobo sin motivo y en un equipo ero
necesorio lo onterior iniciolizocion de lo torjeto de 1v con el soltwore que
ocomponobo o esto, poro empezor o utilizor nuestro progromo. Lste problemo en
olgunos cosos se podlo deber o unos drivers mol instolodos, yo que el mismo
problemo se detectobo con otros progromos comercioles. Lsto tombien ero
heredodo de lo version onterior, pero no lue nuestro objetivo entror en prolundidod
en el monejo de los drivers de lo torjeto de 1v y del diseno medionte el LirectX.
Lsto mejoro se propondr, por tonto, poro luturos desorrollodores.
Pesultodos Lxperimentoles 2O1
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
SIMULACIONES
Ln este oportodo reolizoremos dilerentes simulociones de nuestro oplicocion.
Los recogidos en el primer oportodo estn dirigidos ol estudio interno de lo
oplicocion de coro o perleccionor su luncionomiento y los contenidos en el segundo
oportodo tienen como objetivo comprobor si se cumplen los porcentojes de
deteccion del copltulo 3.
2.1 5IMULACIONE5 PARA OP1IMIZAR LA APLICACIN
Cuondo explicomos lo corgo computocionol del sistemo, vimos que, en un
principio, el uso de lo ClU ero del 1OO7 duronte todo el tiempo que durose lo
deteccion. Ln su momento dijimos que se soluciono pero no se comento ni como se
detecto el error, ni cul lue lo solucion odoptodo. Ln este oportodo nos centroremos
en explicor esto, odems de ver el luncionomiento linol de nuestro oplicocion en
terminos de tiempos de ejecucion. Ls decir, estudioremos el luncionomiento interno
del progromo, viendo cules son los tiempos que tordon en ejecutorse los dilerentes
modulos del mismo.
Ln ol oportodo 2 del copltulo 3 yo se explico como se estudiobo lo durocion
de uno luncion o proceso dentro de lo oplicocion. Lxpusimos el codigo necesorio y
lo explicomos, de lormo que ohoro yo tenemos los conocimientos necesorios poro
Pesultodos Lxperimentoles 2O2
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
entender lo que vomos o reolizor en los simulociones. 5eguiremos usondo los
lunciones CueiyFei/oimanceCounIei y CueiyFei/oimanceFieguency medionte los
cuoles podremos sober cuol es lo durocion exocto de cuolquier luncion o porcion de
codigo de nuestro progromo.
loro empezor, estudiomos por que en lo version originol el uso de lo ClU es
del 1OO7 duronte todo el proceso de Leteccion. Obtuvimos los tiempos de
ejecucion de lo luncion OnCopturor y los resultodos lueron que estos estobon en
torno o los 18O ms. Lxponemos uno muestro de lo que obtenlomos:
Pecordemos que lo luncion OnCopturor ero llomodo codo 4O ms por el 1imer
que usbomos en nuestro oplicocion. lor lo tonto, ol estor en luncionomiento lo
luncion OnCopturor cuondo se llomo ol 1imer, este no puede ser llomodo,
quedndose o lo espero y ejecutndose en cuonto se solgo de dicho luncion. lor
tonto, el sistemo estor ejecutondo continuomente lo luncion OnCopturor de nuestro
oplicocion, de ohl el 1OO7 de uso de lo ClU. Ll excesivo tiempo que se tordobo en
eso luncion ocorreobo otro grove problemo, y es que duronte todo ese tiempo no
estbomos copturondo los lotogromos que se estobon emitiendo. Ln terminos de
1iempo que est en OnCapturar = J78.04J622 milisegundos
1iempo que est en OnCapturar = 20S.S6607J milisegundos
1iempo que est en OnCapturar = J7S.200473 milisegundos
1iempo que est en OnCapturar = J74.2JS7J7 milisegundos
1iempo que est en OnCapturar = J7J.442S77 milisegundos
1iempo que est en OnCapturar = J73.7632J6 milisegundos
Pesultodos Lxperimentoles 2O3
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
lromes, podrlomos decir que estbomos dejondo de copturor entre 4 y 6
lotogromos.
Lsto mismo simulocion lo electuomos en lo nuevo version, encontrndose
que dichos tiempos estobon en torno o los 12O ms. Ln nuestro version, lo perdido
de lromes resulto inodmisible, porque todo lo bose de nuestro metodo de deteccion
est sobre el supuesto de que copturomos todos los lotogromos que se emiten en
un determinodo conol duronte el 1iempo de Observocion. Un estudio del codigo
interno de lo luncion OnCopturor nos indico que este tiempo se perdlo
prcticomente en todo su totolidod en los lunciones que electuobon el reescolodo de
lo imogen. lor ello, como yo comentomos con onterioridod, tuvimos que prescindir
de dichos lunciones, o pesor de su gron utilidod. Ll problemo se consiguio sorteor,
ol reolizor lo copturo de los imgenes televisivos directomente con lo resolucion
deseodo, de lormo que no nos hiciese lolto su redimensionomiento. Lsto no
solucionobo el problemo con los vldeos, pero ol ser orchivos que tenemos yo
olmocenodos, podemos monipulorlos y reescolorlos ontes de usorlos en el
progromo, por lo que no resulto ton grove poro nuestro oplicocion.
Uno vez que nuestro progromo yo luncionobo correctomente, se reolizoron
simulociones en los que intentomos estudior todos los tiempos posibles de
ejecucion. loro ello tomomos lo siguiente conligurocion: 1OO cuodros, 2 segundos
Pesultodos Lxperimentoles 2O4
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
como tiempo de deteccion y un umbrol de O.9. 5e estudioron dilerentes tiempos en
dos equipos dilerentes, de lormo que viesemos lo importoncio de lo velocidod de lo
ClU en lo durocion de los lunciones desorrollodos:


Lqu|po 1: AMD Ath|on XP 2200+ 1.80 OHz, 768 MB RAM
Los tiempos que estobo en OnCapturar eron en torno o los 8 ms.
1eniendo en cuento que esto luncion se llomobo codo 4O ms, el
resultodo obtenido ero sotisloctorio.

5e detecto que reolmente el T|mer no se llomobo exoctomente codo
4O ms, sino oproximodomente codo uno medio de 48 ms y sin
ninguno precision.

1iempo que esta en OnCapturar = 7.3J0222 milisegundos
1iempo que esta en OnCapturar = 7.743S88 milisegundos
1iempo que esta en OnCapturar = 7.304077 milisegundos
1iempo en entrar de una vez a otra en On1imer = 43.3608J3
1iempo en entrar de una vez a otra en On1imer = 47.S46S46
1iempo en entrar de una vez a otra en On1imer = 4J.2S44J8
1iempo en entrar de una vez a otra en On1imer = S4.3J3SS0
Pesultodos Lxperimentoles 2OS
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Cuondo se termino el 1iempo de Observocion y se reolizon los
corre|ac|ones, los tiempos de ejecucion de estos son muy elevodos,
lo que redundo en un gosto olto de lo ClU. A continuocion ponemos
los tiempos de correlocion con codo uno de los 8 onuncios de
nuestro bose de dotos:

Asl, cuondo pose el 1iempo de Observocion y reolicemos los
comporociones, lo luncion OnCopturor no se ejecutor en los tiempos
que onteriormente comentbomos sino que tordor:

Oue es oproximodomente el resultodo de sumor los tiempos
onteriores de los 8 onuncios ms los 8 milisegundos que tordobo sin
reolizor los correlociones.
Lebido ol punto onterior sumodo o que lo luncion no es lonzodo
1iempo que esta en CalculaCorr = JS6.373443
1iempo que esta en CalculaCorr = 200.J34337
1iempo que esta en CalculaCorr = J62.333208
1iempo que esta en CalculaCorr = JJ2.4666S6
1iempo que esta en CalculaCorr = JJ2.7S4SS4
1iempo que esta en CalculaCorr = J64.0J442J
1iempo que esta en OnCapturar J208.886744 milisegundos
1iempo que esta POP DL1LCClON = 2602.248302 milisegundos
Pesultodos Lxperimentoles 2O6
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
reolmente codo 4O ms, el tiempo reol que esto por conol es de:
Lste tiempo es oproximodo y depende del numero de onuncios que
tengomos en lo bose de dotos, osl como de lo durocion de estos y
por supuesto del volor del pormetro de 1iempo de Leteccion que
hoyomos estoblecido.

Lqu|po 2: Pent|um 4 3.40 OHz, 1,00 OB RAM
Los tiempos que estobo en OnCapturar eron en torno o los S ms. lo
bojodo con respecto ol onterior equipo unos 3 ms.

Ll T|mer sigue llomndose codo 48 ms oproximodomente.

Con el equipo onterior obtenlomos uno medio de correlocion por
onuncio de 162.621 milisegundos. Ahoro lo medio ser de 114.698
milisegundos.
1iempo que esta en OnCapturar = S.J8J672 milisegundos
1iempo que esta en OnCapturar = 4.27286J milisegundos
1iempo que esta en OnCapturar = 4.4S0JS2 milisegundos
1iempo en entrar de una vez a otra en On1imer = 48.88660J
1iempo en entrar de una vez a otra en On1imer = 46.6342J2
1iempo en entrar de una vez a otra en On1imer = 47.832282
Pesultodos Lxperimentoles 2O7
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol

Asl, lo luncion OnCopturor se ejecutor en:

Oue es oproximodomente el resultodo de sumor los tiempos
onteriores de los 8 onuncios ms los S milisegundos que tordobo sin
reolizor los correlociones.
Ll tiempo reol que esto por conol es de:
Lste tiempo es 4OO milisegundos menor que en el equipo onterior.
vemos que o moyor velocidod de reloj de nuestro ClU mejor
luncionomiento.
2.1.1 CONCLU5IONL5
Lespues de estudior el luncionomiento interno de nuestro progromo vemos
como el uso de un ordenodor con uno ClU de moyor lrecuencio mejoro los tiempos
1iempo que esta en CalculaCorr = J22.S76883
1iempo que esta en CalculaCorr = J20.J30S23
1iempo que esta en CalculaCorr = J22.820072
1iempo que esta en CalculaCorr = 80.33S2S2
1iempo que esta en CalculaCorr = 80.206876
1iempo que esta en CalculaCorr = J2J.JS2J68
1iempo que esta en OnCapturar = 322.6J0488 milisegundos
1iempo que esta POP DL1LCClON = 22J8.2037SS milisegundos
Pesultodos Lxperimentoles 2O8
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
de ejecucion de lo oplicocion. lero lo ms importonte que podemos observor es que
el tiempo en el que el 1imer lonzo lo luncion OnCopturor no es de 4O ms, lo cuol es
un grove problemo poro nuestro oplicocion. Nuestro trobojo se ho bosodo en lo
precision de este tiempo, yo que necesitomos copturor exoctomente codo 4O ms los
lromes que se esten emitiendo. Ll hecho de que no seo osl provoco que:
lerdomos olgun lrome que otro, yo que en 1 segundo hocemos (tomondo
48 ms de medio) 2O.83 copturos, cuondo reolmente se hon emitido 2S
lromes. lor lo tonto perdemos 4.17 lromes.
Al ser oleotorio (en torno o un volor medio) dicho tiempo, lo motriz
recogido en nuestro bose de dotos puede dilerir de lo que obtengomos en
lo deteccion, pudiendo dor lugores o errores en lo deteccion.
Como nosotros, los tiempos los convertimos o lromes considerondo un
tiempo de 4O ms, el que este tiempo seo moyor redundo en que
estoremos reolmente ms tiempo por conol. lor ejemplo, si elegimos 1
segundo, este volor lo posoremos o lromes, 17O.O4 = 2S lromes, y ol ser
estos copturodos codo 48 ms de medio, estoremos reolmente 2S-O.O48
= 1.2 segundos.
lruebos en otros ordenodores hon mostrodo unos resultodos de los
tiempos del 1imer con dilerentes medios y en ocosiones ms cerconos o
Pesultodos Lxperimentoles 2O9
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
4O ms y ms estobles. Lsto nos indico que uno bose de dotos construido
en un ordenodor no nos servir en otros ordenodores, yo que el
lonzomiento del 1imer depender del 5istemo Operotivo y del equipo
donde este instolodo.
A porte de lo onterior, hoy que tener en cuento tombien el tiempo que tordo
en los correlociones o lo horo de elegir el tiempo de deteccion, de lormo que
sepomos que en lo proctico el progromo permonecer ms tiempo por conol debido
o esto. 1enemos que sober que cuontos ms onuncios y cuonto ms lorgos seon
estos, ms tiempo duror lo comporocion de onuncios.
2.2 5IMULACIONE5 PARA PROAR LA DE1ECCIN
loro probor lo deteccion hemos estoblecido unos simulociones que nos
permiton ver el correcto luncionomiento de nuestro oplicocion. loy que resenor que
los resultodos obtenidos en el oportodo onterior, de lo oleotoriedod de nuestro
1imer, nos impiden probor reolmente el metodo construido en el copltulo 3.
Los simulociones hon sido de dos tipos, uno orientodo o comprobor si se
cumple lo correcto deteccion y otro poro ver el porcentoje reol de lolsos
detecciones.
Pesultodos Lxperimentoles 21O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
2.2.1 DLTLCCIN CORRLCTA
loro probor nuestro progromo creomos un vldeo en el que se sucedlon uno
tros otro uno version de los 8 onuncios que hoblomos usodo en lo bose de dotos
del copltulo 3. Ln lo bose de dotos de lo oplicocion metimos lo otro version que
tenlomos del onuncio, de lormo que probsemos el progromo iguol que lo hoblomos
hecho en los pruebos del metodo de deteccion. Lsto lo hemos utilizodo poro ver si
el progromo detecto correctomente todos los onuncios y poro compororlo con lo
version onterior, o lo que tombien le hemos introducido los onuncios en su bose de
dotos.
5upuestomente, ol estor orientodo lo nuevo version o lo deteccion multiconol,
y lo originol o lo monoconol, y estor los pruebos reolizodos sobre uno solo senol, los
resultodos deberlon ser iguoles o, en todo coso, ser mejores los de lo version
onterior. loro lo nuevo version lo conligurocion ho sido lo que se obtuvo en el
copltulo 3: 1OO cuodros, 1.4 segundos y un umbrol de O.9. A continuocion vemos
cules lueron los detecciones reolizodos por ombos progromos:
Ig. 7O. 5muIacon con 5poI orgnaI
Pesultodos Lxperimentoles 211
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol


Ig. 71. 5muIacon con 5poI nuevo
vemos que lo nuevo version ho detectodo todos los onuncios, mientros que
lo ontiguo solo ho detectodo 4, hobiendo detectodo 2 veces un mismo onuncio.
Lespues de un pequeno estudio de los resultodos se llegoron o los siguientes
conclusiones:
Lo version onterior solo guordobo un plono en lo bose de dotos y por lo
tonto es bostonte ms sensible y propenso o cometer errores que lo
octuol, que guordo uno secuencio.
Pesultodos Lxperimentoles 212
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ll onuncio de 5even Up y el de volkswogen no lueron detectodos en lo
oplicocion originol ol ser uno version del onuncio bostonte ms cloro que
lo otro,
lo cuol
nos
indico que lo nuevo version es ms robusto lrente o combios de color.
Ig. 72. DIerencas ue coIor en anuncos
Ll onuncio del Audi A3 ho sido detectodo 2 veces, con dos plonos
distintos que lo que tienen en comun es que son imgenes oscuros. Lsto
nos indico que con lo ontiguo version lo lolso deteccion se dobo con un
moyor porcentoje.




Pesultodos Lxperimentoles 213
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Ig. 73. Imgenes en Ias que se prouuce Ia IaIsa ueIeccon
Los onuncios de Aquo Bono y 5peciol Kops no hon sido detectodos ol
tener combios de plonos groduoles. Ln esto puede inlluir tombien que lo
version onterior pierdo 4 o S lromes pues su luncion OnCopturor tordo en
ejecutorse unos 18O ms.
Como conclusion linol podrlomos decir que lo nuevo version es ms
robusto y lioble que lo onterior, incluso ounque lo ussemos en un solo
conol.
2.2.2 FAL5A5 DLTLCCIONL5
loro simulor los lolsos detecciones se utilizo un metodo muy sencillo.
Lejomos correr el progromo mientros combiobo de conol duronte horos. Ln el
momento de lo simulocion los onuncios que se usobon en lo bose de dotos yo no
eron emitidos, por lo que los unicos detecciones que se reolizosen serlon erroneos.
Le todos lormos se contobo con lo posibilidod de supervisor posteriormente lo
outenticidod de los detecciones con lo visuolizocion de los lromes copturodos. Lo
conligurocion usodo lue lo mismo que en el oportodo onterior: 1OO cuodros, 1.4
segundos, umbrol de O.9 y 8 onuncios en lo bose de dotos. 5e estudio cuonto
tiempo estobo por deteccion y se obtuvo uno medio de unos 2.S segundos,
nosotros poro uno oproximocion ms exigente (el peor coso) tomoremos 2.7
Pesultodos Lxperimentoles 214
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
segundos. Asl, si dejomos correr el progromo, contomos los lolsos detecciones y
colculomos en el tiempo que ho estodo ejecutndose cuontos comporociones se
hon electuodo, podremos obtener un porcentoje oproximodo de lolsos detecciones.
Ll tiempo de simulocion lue de 12 horos y el resultodo que se obtuvo lue:
Ig. 74. FaIsas ueIeccones
5e obtuvieron 6 lolsos detecciones, todos del onuncio 5unsilk, que
suponemos no quiere decir nodo ms que este onuncio tiene olguno secuencio que
es lcilmente conlundible con otros secuencios. Ln 12 horos, tomondo como tiempo
de deteccion 2.7 segundos se reolizoron 12-6O-6O72.7 = 16OOO comporociones.
lodrlomos tomor que en codo comporocion se reolizobon 8 correlociones, pero
como solo se devuelve un volor de los 8, obvioremos este hecho. Asl, de estos
16OOO comporociones, solo 6 resultoron erroneos, lo que nos indico que el
porcentoje de lolso deteccion es del: O.O37S7, un porcentoje excelente, sin dudo.
1ombien recogimos todos los comporociones cuyo resultodo luero moyor o
iguol que O.8 y el numero de ellos lue de 1S7 = O.9812S7, y el numero de ellos
que ero moyor que O.8S lue de 4O = O.2S7
Pesultodos Lxperimentoles 21S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lstos porcentojes son muy pequenos, por lo que siempre podrlomos bojor el
umbrol, osegurndonos de lormo obsoluto lo deteccion (que por otro lodo yo
consideromos cumplido con un 1OO7) y descortor los detecciones medionte lo
visuolizocion de los lromes copturodos.
loy que tener en cuento que los porcentojes obtenidos son muy
oproximodos, yo que dependen de los onuncios que hoblo en lo bose de dotos y de
lo que se emitio duronte esos 12 horos en lo television. 5i se repite lo mismo
simulocion duronte otros 12 horos, iguol se podrlon detector 4O onuncios
incorrectomente que ninguno. 1odo depende de nuestro bose de dotos y de lo
emision televisivo. Ln nuestro simulocion, por ejemplo, si en lo bose de dotos no
hubiesemos tenido el onuncio de 5unsilk, el porcentoje de lolso deteccion hobrlo
sido de O7lll lor todo esto, no podemos quedornos con los volores numericos
como resultodo, sino con que lo lolso deteccion es prcticomente nulo, mientros que
lo deteccion correcto est olrededor del 1OO7.

Conclusiones y llneos luturos de investigocion 216
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
CAPTULO 6
CONCLUSIONES Y LNEAS FUTURAS DE
INVESTIGACIN
Lo primero conclusion que obtenemos uno vez linolizodo este proyecto es
que se hon cumplido los objetivos que tenlomos ol comienzo del mismo. 5e ho
desorrollodo uno oplicocion que es copoz de reolizor uno deteccion outomtico
multiconol de onuncios en tiempo reol.
Ln primer lugor se creo un metodo de deteccion de onuncios de uno gron
electividod y ms torde luimos copoces de odecuor lo version onterior o este nuevo
metodo. loro ello hicimos numerosos combios en el ontiguo progromo, de lormo
que logrsemos ir consiguiendo cumplir los corocterlsticos del mismo, que nos
morcomos como meto ol inicio del proyecto:
Ll progromo, grocios o un estudio exhoustivo de sus tiempos de
ejecucion, es ms rp|do y consume un menor numero de recursos del
sistemo.
5e hon orreglodo olgunos bugs que dotobon o lo oplicocion de cierto
inestobilidod. Ahoro es ms robusta y luncionol que ol comienzo de este
proyecto.
Conclusiones y llneos luturos de investigocion 217
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Con lo inclusion de ciertos elementos como el menu, opciones de
reproduccion (ploy, pouse y stop), combio de pormetros de conligurocion
y otros, se ho dotodo ol progromo de uno moyor senc|||ez de utilizocion
poro el usuorio, o lo vez que es ms t|ex|b|e y potente.
lemos intentondo en todo momento locilitor lo lobor del luturo
desorrollodor de esto oplicocion, de lormo que seo lcilmente amp||ab|e.
Ll progromo es bostonte ms t|ab|e que lo version onterior, hobiendose
olconzodo unos porcentojes de deteccion prcticomente perlectos (por no
decir, totolmente).
Y por ultimo y ms importonte, se ho conseguido hocer todo esto, o lo vez
que se consegulo el objetivo principol de este proyecto. 5e ho conseguido
lo deteccion multiconol, cuondo, como se vio en el copltulo 2, todos los
oplicociones y llneos de investigocion existentes estobon orientodos ol
onlisis de uno solo senol de vldeo simultneo. 5e ho obierto por tonto
uno llneo de investigocion nuevo y originol, que obre los puertos o un
nuevo comino poro luturos investigociones que se reolicen sobre lo
moterio.
lero no todos los conclusiones o los que se hon llegodo son positivos.
lemos conseguido uno oplicocion novedoso, sin emborgo, an se encuentra en
Conclusiones y llneos luturos de investigocion 218
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
fase de desarrollo, pudindose mejorar en futuras versiones. Se listan a
continuacin algunas sugerencias para siguientes ampliaciones.
Yo hemos comentodo lo inestobilidod del progromo en lo que o lo
reproduccion de lo television se reliere. Ll comportomiento del progromo
combio dependiendo del equipo en el que se pruebe, rellejondo un
comportomiento olgo inestoble en olgunos de ellos. loro solucionor esto
hobrlo que trobojor ms con los LirectX y con los drivers de los torjetos de
1v. Lsto supone entror yo en uno progromocion ms ovonzodo, por lo que
serlo conveniente que el luturo desorrollodor tuviese de ontemono olgunos
conocimientos de progromocion, de lormo que esto toreo no le resultose
orduo en exceso.
Uno de los moyores problemos que tiene lo octuol version es que los
tiempos de copturo no se reolizon codo 4O ms como deberlor. Lsto puede
olector grovemente o lo correcto deteccion, siendo odems los orchivos de
los boses de dotos luncionoles solo en el ordenodor donde lueron
creodos. lodemos grobor un onuncio en nuestro bose de dotos dos veces
y los dos obtendremos motrices distintos. 5erlo muy interesonte que el
luturo desorrollodor orreglose este ospecto, yo que entonces lo oplicocion
serlo ms lioble oun, cumpliendose reolmente los porcentojes teoricos que
se holloron en el copltulo 3.
Conclusiones y llneos luturos de investigocion 219
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lo luncion 5et1imer que es lo que utilizomos esto bosodo en los
mensojes de Windows WM_T/MEH. Ll propio luncionomiento bosodo en
mensojerlo de Windows hoce que el temporizodor seo poco preciso, sobre
todo si nuestro oplicocion se encuentro procesondo otros mensojes de lo
ventono. Uno mejoro consideroble ol temporizodor de Win32 consiste en
creor un hilo que duerme duronte el periodo necesitodo y que llomo o uno
luncion cuondo se despierto. Con esto nuestro temporizodor no necesito
usor lo mensojerlo de Windows y es ms preciso [19]. Lsto es lo llneo de
investigocion que pude seguir el luturo desorrollodor.
Otro problemo que encontromos en nuestro oplicocion es el tomono
excesivo de los onuncios en lo bose de dotos. Lsto provoco que codo vez
que se corguen en nuestro progromo, este tordor un tiempo excesivo,
iguol que cuondo grobomos o borromos un onuncio. Adems, en el
modulo de deteccion, cuondo se electuon los correlociones, tordomos
tombien un tiempo bostonte elevodo, lo que oumento lo corgo de lo ClU y
el tiempo de estoncio en conol. lor lo tonto, nuestro oplicocion no podr
trobojor con uno bose de dotos con un olto numero de onuncios, lo cuol
es un inconveniente, que no se dobo en el metodo usodo en lo version
onterior.
Conclusiones y llneos luturos de investigocion 22O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Lsto no se puede orreglor mientros montengomos el metodo de deteccion
que hemos hollodo. lor lo tonto el luturo desorrollodor podrlo trobojor en
otro metodo de deteccion, poro despues implementorlo con esto oplicocion
como bose, como se ho hecho en el presente proyecto.
Otro posible mejoro serlo combior el monejo de lo bose de dotos.
Nosotros utilizomos uno bose de dotos por codo division posible y todos
son independientes entre sl. luede ocurrir que se desee que todos los
boses de dotos guorden los mismos onuncios, por lo que tendrlomos que
combior lo lormo de guordodo y borrodo de los onuncios. lobrlo que
conseguir que cuondo guordomos o borromos un onuncio, se hogo en
todos los boses de dotos o lo vez.
5e podrlo mejoror lo introduccion de un onuncio en lo bose de dotos, de
lormo que ol elegir un vldeo, el progromo, sin necesidod de reproducirlo,
seporose los lotogromos y trobojose sobre ellos directomente. Lsto serlo
ms lioble, porque el tiempo serlo siempre de 4O ms y un onuncio serlo
siempre el mismo en lo bose de dotos, independientemente del ordenodor
donde se colculose.
Otro posible mejoro de lo bose de dotos serlo convertirlo o un orchivo
-.mdb, que serlo occesible desde un progromo de omplio uso como el
Conclusiones y llneos luturos de investigocion 221
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
Vicrosolt Acces. Asl, se podrlo generor cuolquier tipo de estodlsticos que
el usuorio considerose oportuno, odems de resultor ms lcil su monejo
desde luero de nuestro oplicocion.
Los imgenes que se guordon en el disco duro son del lormoto BVl. 5e
podrlo implementor uno luncion que los guordose en JlO, disminuyendo
osl el tomono de lo imogen en el disco duro. Aprovechondo esto, tombien
se podrlo prelerir guordor ms de uno imogen de lo secuencio procesodo.
lodrlomos oprovechor los imgenes que hemos copturodo de los
onuncios que se hon detectodo, poro reolizor lo posterior supervision de
lormo outomtico. Ln lo octuol version tenemos que occeder o lo corpeto
donde se hon guordodo los imgenes poro verilicor lo deteccion. 5i en el
guordodo del onuncio, grobromos tombien los lotogromos representotivos
de los plonos del mismo, podrlomos creor un modulo que ol linolizor lo
deteccion comprobose de lormo outomtico los detecciones reolizodos.
1ombien se podrlo hocer posible el occeso o los imgenes copturodos
desde nuestro oplicocion, sin necesidod de tener que occeder el usuorio o
lo corpeto donde se hon guordodo.
Lo octuol oplicocion ho mostrodo problemos o lo horo de ejecutor los
modulos de Aprendizoje o Leteccion con determinodos orchivos de vldeo
Conclusiones y llneos luturos de investigocion 222
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
como con olgunos .ovi. Vedionte los LirectX tombien se podrlo mejoror
esto.
Uno posible mejoro poro ocercor oun ms nuestro oplicocion o un
progromo comerciol serlo estoblecer uno busquedo outomtico de conoles.
Asl se locilitorlo ol usuorio lo obtencion de lo listo de conoles y nuestro
oplicocion serlo ms comodo de utilizor.










ndice de liguros 223
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
NDICE DE FIGURAS

liguro 1: lnterloz de lo oplicocion 5lO1 ................................................................. 13
liguro 2: Cuodro de dilogo principol ..................................................................... 26
liguro 3: Cuodro de dilogo secundorio ................................................................. 27
liguro 4: Lescomposicion POB ............................................................................. 33
liguro S: Pecepcion de 1v en televisores en B7N y en color ................................ 34
liguro 6: Votrices POB de uno imogen en Votlob ................................................. 37
liguro 7: 1iempo de combio de conol .................................................................... 44
liguro 8: Ljemplo de correlocion ............................................................................ 64
liguro 9: 5ecuencio de onuncio en imgenes BVl ............................................... 66
liguro 1O: lmogen originol ...................................................................................... 67
liguro 11: lmogen de lntensidod escolodo .............................................................. 67
liguro 12: lmogen dilerencio .................................................................................. 7O
liguro 13: vectores de onuncios olmocenodos con el Vetodo 1 ............................. 72
liguro 14: Correlocion de onuncio de Coco-Colo ................................................... 7S
liguro 1S: Ljemplo de correlocion del onuncio Coco-Colo ...................................... 76
liguro 16: Almocenomientos de onuncio con el metodo 3 ...................................... 8S
liguro 17: Ljemplos de imgenes dilerencio .......................................................... 9S
liguro 18: volores de lntensidod de lo lmogen ..................................................... 1OO
liguro 19: lmogen dividido y numerocion ............................................................. 1OO
liguro 2O: volores medios de intensidod de codo cuodro .................................... 1OO
liguro 21: Lilerencio de umbroles con division en 9 cuodros ............................... 1O6
liguro 22: Lilerencio de umbroles con division en 16 cuodros ............................. 1O8
liguro 23: Lilerencio de umbroles con division en 2S cuodros ............................ 1O9
liguro 24: Lilerencio de umbroles con division en 2S cuodros con 8
onuncios .............................................................................................. 111
ndice de liguros 224
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
liguro 2S: Umbroles de 1OO7 de deteccion con division en 2S cuodros y
con 8 onuncios .................................................................................... 113
liguro 26: Vismos imgenes del onuncio 7up grobodos en conoles
dilerentes ............................................................................................. 113
liguro 27: Vismos imgenes del onuncio 7up grobodos en conoles
dilerentes, en blonco-negro ................................................................. 114
liguro 28: lrimer y ultimo lrome del primer plono en el onuncio de 5even
Up en los dos versiones guordodos ..................................................... 11S
liguro 29: Correlocion de uno secuencio de un onuncio de 5even Up con
lo otro version del mismo onuncio. ....................................................... 116
liguro 3O: Lilerencio de umbroles con division en 2S cuodros, con 8
onuncios, sin el onuncio de 7up .......................................................... 117
liguro 31: Lilerencio de umbroles con division en 64 cuodros con 8
onuncios .............................................................................................. 118
liguro 32: 5in el onuncio de 7up .......................................................................... 118
liguro 33: Lilerencio de umbroles con division en 1OO cuodros con 8
onuncios .............................................................................................. 118
liguro 34: 5in el onuncio de 7up .......................................................................... 118
liguro 3S: Lilerencio de umbroles con division en 2S6 cuodros con 8
onuncios .............................................................................................. 118
liguro 36: 5in el onuncio de 7up .......................................................................... 118
liguro 37: 1orjeto de television AverVedio 1v 5tudio 1O3 ................................... 124
liguro 38: Vontoje hordwore necesorio poro lo reolizocion del proyecto .............. 12S
liguro 39: Ljemplo de progromocion secuenciol .................................................. 13O
liguro 4O: Componentes del LirectX ................................................................... 136
liguro 41: Arquitecturo WLV ............................................................................... 139
liguro 42: lnterloz originol de 5lO1 .................................................................... 147
liguro 43: lnterloz de lo nuevo version de 5lO1 ................................................. 148
liguro 44: Cuodro de dilogo: llClA5 ................................................................ 1SO
liguro 4S: lnterloz originol mientros reproduce un vldeo ...................................... 1S3
ndice de liguros 22S
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
liguro 46: lnterloz de lo nuevo version mientros reproduce un vldeo ................... 1S4
liguro 47: Vensojes de odvertencio ol no cumplirse los condiciones ................... 1S6
liguro 48: Cuodro de dilogo llClA5 en el que se ve el nuevo boton
Borror ................................................................................................. 167
liguro 49: 5lO1 en el disco duro ........................................................................ 17O
liguro SO: Venu Archivo ....................................................................................... 171
liguro S1: Lleccion de orchivo ............................................................................. 173
liguro S2: Venu Conoles ..................................................................................... 174
liguro S3: Listo de Conoles ................................................................................. 176
liguro S4: Vensoje de listo incorrecto .................................................................. 177
liguro SS: Venu Peproducir ................................................................................ 18O
liguro S6: Venu Leteccion .................................................................................. 182
liguro S7: Venu Conligurocion ............................................................................ 183
liguro S8: Conligurocion Actuol ........................................................................... 18S
liguro S9: Numero de Livisiones ......................................................................... 186
liguro 6O: 1iempo de Observocion ...................................................................... 189
liguro 61: 1iempo lncorrecto ................................................................................ 189
liguro 62: Umbrol de Leteccion ........................................................................... 19O
liguro 63: Umbrol lncorrecto ................................................................................. 191
liguro 64: Lilogo Acerco de ............................................................................... 192
liguro 6S: Uso ClU y Vemorio PAV de lo version onterior ................................. 19S
liguro 66: Liberocion de recursos cuondo cerromos lo oplicocion originol ............ 196
liguro 67: Uso ClU y Vemorio PAV de lo nuevo version ................................... 198
liguro 68: Uso ClU de lo nuevo version con 8 onuncios y 1 segundo de
1iempo de Leteccion .......................................................................... 199
liguro 69: Uso ClU de lo nuevo version con 8 onuncios y 7 segundos de
1iempo de Leteccion .......................................................................... 199
liguro 7O: 5imulocion con 5pot originol ............................................................... 21O
liguro 71: 5imulocion con 5pot nuevo .................................................................. 211
liguro 72: Lilerencios de color en onuncios ........................................................ 212
ndice de liguros 226
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
liguro 73: lmgenes en los que se produce lo lolso deteccion ............................ 213
liguro 74: lolsos detecciones ............................................................................. 214

Bibliogrollo 227
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
BIBLIOGRAFA

[1] Y. Li ond C.-C. Joy Kuo, Letecting commerciol breoks in reol 1v progrom
bosed on oudiovisuol inlormotion. in SF/E Fioc. on /MMS, voI 421, Nov.
2OOO.
[2] L. A. 5odlier et ol., Automotic 1v odvertisement detection lrom mpeg
bitstreom, JouinaI o/ Ie FaII. Hec. SocIeIy, vol. 3S, no. 12, pp. 21S, Lec.
2OO2.
[3] Lienhort, P; Kuhmunch, C y Lllelsberg, W. On the detection ond recognition
ol television commerciols. Ln Fioc. /EEE Con/. on MuIIImeuIa CompuIIng anu
SysIems. Ottowo, Conodo, Junio 1997, p. SO9S16.
[4] Albiol Colomer, A y Chomorro lull, V.J., Letection ol tv commerciols
TecnIcaI UnIveisIIy o/ VaIencIa, SpaIn
[S] Colombo, C; Lel Bimbo, A Y lolo, l. Petrievol ol commerciols by video
semontics. Ln Fioc. CompuIei VIsIon anu FaIIein HecognIIIon. 1998, p. S72
S77.
[6] 5woin, Vichoel y Bollord, Lono. Color indexing. Ln /nIeinaIIonaI JouinaI o/
CompuIei VIsIon. 1991, 7(1): 11-32.
Bibliogrollo 228
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
[7] loss, O. y Zobih, P. listogrom relinement lor content-bosed imoge retrievol.
Ln Fioc. o/ Ie Woisop on AppIIcaIIons o/ CompuIei VIsIon. 5orosoto,
llorido, Liciembre 1996.
[8] loss, O. y Zobih, P. Comporing imoges using joint histogroms. Ln ACM
JouinaI o/ MuIIImeuIa SysIems. 1998.
[9] Zobih, Pomin; Viller, Justin y Voi, Kevin. A leoture-bosed olgorithm lor
detecting ond clossilying scene breoks. Ln ACM MuIIImeuIa Con/eience.
Noviembre 199S, p. 189-2OO.
[1O] 5nchez, J.V. y Binelo, Xovier. Peconocimiento Automtico de Anuncios de
1v. HevIsIa EIecIionIca ue VIsIon poi CompuIauoi. Abril 2OOO, n 2OOO.
[11] P. C. Oonzolez ond P. L. Woods. DIgIIaI /mage FiocessIng. Addison-Wesley,
1993.
[12] 5lPLNA, Auditorlo de pouto publicitorio 1he Ligitol Vop Ltdo. 2OO4 vlnculo
Web: http:77www.thedigitolmop.com7index_es.htm
[13] lmoge lrocessing 1oolbox, Users Ouide version 3, 1he VothWorks, lnc.,
July 2OO2
[14] Utilizocion e lnterpretocion de los 1ecnicos de Correlocion, vinculo Web:
http:77usuorios.lycos.es7guillemot7correlociones.htm
[1S] Cebollos 5ierro, l.J., visuol C++. Aplicociones poro Win32, EuIcIon HAMA
1993
Bibliogrollo 229
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
[16] lrogromocion orientodo o objetos., vlnculo Web: http:77es.wikipedio.org
[17] LirectX, vlnculo Web:
http:77msdn.microsolt.com7librory7deloult.osp?url=7librory7en-
us7dnonchor7html7onch_directx.osp
[18] lCl Lecoder WLV Lriver Overview Applicotion Note, ConexanI SysIems, /nc.
1999 vlnculo Web:
http:77www.conexont.com7servlets7Lownlood5ervlet71OO4O4o.pdl?lileld=S
4S
[19] lrogromocion del pool de hilos .NL1, vlnculo Web:
http:77www.microsolt.com7sponish7msdn
[2O] vlnculo Web: http:77www.jellheoton.com7source7sbitmop.c
[21] visuol C++ lrogrommers Ouide. V5LN Librory. visuol 5tudio 6.O releose.
[22] Kruglinski, Lovid O. lrogromocion Avonzodo en visuol C++. VcOrow lill.
[23] Veyer, Bertrond. Construccion de 5oltwore Orientodo o Objetos. lrentice
loll.
[24] 5tevens, Al. Y Wolnum, Cloyton. lrogromocion con C++. Anoyo Vultimedio.
[2S] 5troustrup, Bjorne. Ll Lenguoje de lrogromocion C++. Addison Wesley.
[26] vlnculo Web: http:77www.dcp.com.or7
Bibliogrollo 23O
Leteccion outomtico multiconol de onuncios en 1v en tiempo reol
[27] vlnculo Web: http:77www.codeguru.com7
[28] vlnculo Web: http:77www.codeproject.com7oudio7=Lirect5how

You might also like