AT508595B1 - Vorbearbeitung von spiel-videosequenzen zur übertragung über mobilnetze - Google Patents

Vorbearbeitung von spiel-videosequenzen zur übertragung über mobilnetze Download PDF

Info

Publication number
AT508595B1
AT508595B1 AT0953805A AT95382005A AT508595B1 AT 508595 B1 AT508595 B1 AT 508595B1 AT 0953805 A AT0953805 A AT 0953805A AT 95382005 A AT95382005 A AT 95382005A AT 508595 B1 AT508595 B1 AT 508595B1
Authority
AT
Austria
Prior art keywords
game object
frames
ball
frame
game
Prior art date
Application number
AT0953805A
Other languages
English (en)
Other versions
AT508595A4 (de
Original Assignee
A1 Telekom Austria Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by A1 Telekom Austria Ag filed Critical A1 Telekom Austria Ag
Application granted granted Critical
Publication of AT508595B1 publication Critical patent/AT508595B1/de
Publication of AT508595A4 publication Critical patent/AT508595A4/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/553Motion estimation dealing with occlusions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/38Transmitter circuitry for the transmission of television signals according to analogue transmission standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Verfahren und System zur Vorbearbeitung von Frames aufweisenden Spiel-Videosequenzen, die einen Ball oder Puck als bewegliches Spielobjekt umfassen, zur Übertragung der Videosequenzen in komprimierter Form; in einer Anfangssuche (12) werden Frames anhand von Vergleichen der Frames mit gespeicherten Spielobjektmerkmalen nach dem Spielobjekt abgesucht; danach werden die jeweiligen Frames mit vorhergehenden Frames verglichen, um anhand von Unterschieden zwischen aufeinander folgenden Frames zu entscheiden, ob ein Szenenwechsel (14b) stattgefunden hat oder nicht, und im Fall eines Szenenwechsels wird wiederum eine Anfangssuche begonnen; andernfalls wird ein Verfolgen des Spielobjekts (18) durch Bestimmen der Positionen des Spielobjekts in jeweiligen Frames durchgeführt; mindestens für einen Frame wird eine dominante Spielfeldfarbe detektiert und durch eine einheitliche Ersatzfarbe ersetzt, so dass eine Spielfelddarstellung im Wesentlichen aus Punkten derselben Farbe besteht; und die Anwesenheit, Größe und/oder Form des detektierten Spielobjekts wird bestimmt, um gegebenenfalls das Spielobjekt durch ein vergrößertes Ersatz-Spielobjekt (26) zu ersetzen.

Description

österreichisches Patentamt AT 508 595 B1 2011-02-15
Beschreibung
VORBEARBEITUNG VON SPIEL-VIDEOSEQUENZEN ZUR ÜBERTRAGUNG ÜBER MOBILNETZE
GEBIET DER ERFINDUNG
[0001] Diese Erfindung betrifft ein System und ein Verfahren zur Vorbearbeitung von Spiel-Videosequenzen zur Übertragung in komprimierter Form, vorzugsweise über drahtlose Mobil (Funktelefon-) Netze.
[0002] Infolge der verlustbehafteten Natur des Funkkanals und der hohen Kompressionsraten, die nötig sind, um der bestimmten Bandbreite zu entsprechen, ist es schwierig, solche Programme über Mobilnetze in Echtzeit zu senden. Da die wichtige Information von einem einzigen kleinen Objekt - einem Ball od. dgl. Spielobjekt - getragen wird, ist es nötig, seine korrekte Rekonstruktion am empfangenden mobilen Endgerät zu gewährleisten. Daher ist es das Ziel einer solchen Vorbearbeitung, in der ursprünglichen Videosequenz eine Schärfung oder Vergrößerung spezifischer Spielobjekte vorzunehmen, wie z.B. eines Balles, eines Pucks od. dgl. Spielelement einer bestimmten Form bei einem Sport-Spiel, um zu verhindern, dass es nach der Video-Auflösungs-Abtastratenverringerung und dem Komprimieren verschwommen wird oder verschwindet.
HINTERGRUND DER ERFINDUNG
[0003] Die entstehende 3. Generation von mobilen Kommunikationssystemen oder Mobiltelefonsystemen führte zu neuen Multimedia-Diensten. Eine der interessantesten Anwendungen ist das Video-Streaming, welches bereits von vielen Betreibern auf der ganzen Welt angeboten wird. Hier sind Sportprogramme von besonderem Interesse, gleich ob als Teil von Nachrichten oder als eigenständige, gegebenenfalls direkte Rundfunkübertragungen. Zweifellos gehören zu den populärsten Sportprogrammen Ballspiele, wie Fußball, Basketball, Baseball oder Tennis, aber auch Hockey, insbesondere Eishockey. Die Direktübertragung von Streaming Videosequenzen eines Spiels über das Mobilnetz bringt mehrere Herausforderungen mit sich. Die räumliche und zeitliche Glätte von Videosequenzen ermöglicht eine hohe Kompression, die vor der Übertragung senderseitig vorgenommen wird. Diese Kompression führt zu einer gewissen Qualitätsminderung. Streaming-Dienste sind verzögerungsempfindlich und werden daher üblicherweise eher über das unzuverlässige User Datagram Protocol (UDP) transportiert als über das Transmission Control Protocol (TCP), wobei letzteres die Möglichkeit von Transportschicht-Neusendungen bietet. Die UDP-Benützung führt zu möglichen Paket-Verlusten beim Empfänger, was die Qualität beim Endbenutzer weiter vermindert. Um dem Bildschirm üblicher mobiler Endgeräte zu entsprechen, wird eine QCIF(144 x 176 in PAL)-Auflösung benützt. Für PDAs (PDA - Personal Digital Assistant) und Laptops ist die CIF(288 x 352 in PAL)-Auflösung relevant (CIF - Common Intermediate Format; QCIF - QuarterCIF). Das wichtigste Objekt, d.h. Bildelement, bei einem Ballspiel ist verständlicherweise der Ball, allgemein das Spielobjekt. Ballspiele werden üblicherweise unter Verwendung einer sich wenig bewegenden Weitwinkel-Kamera aufgenommen. Dies führt zu Situationen, in welchen der Ball nur durch drei oder vier Pixel dargestellt ist, und diese Darstellungen sind daher für jede Art von Verschlechterung sehr anfällig, was sich auch auf die Wahrnehmungsqualität für den Benützer stark auswirkt [1], [0004] Im Fall von Video-streaming über Funknetze ist der Empfänger typisch ein in seiner Leistung und Größe begrenztes Mobiltelfon. Daher ist es nicht möglich, komplexe Nachbearbeitungsmethoden zu implementieren, die es ermöglichen, das bestehende Problem zu bewältigen. Daher muss eine effiziente und robuste Vorbearbeitung der Videosequenzen benützt werden, um die Darstellung der kritischen Bildelemente, nämlich des Balls oder des Pucks, im Hinblick auf eine robuste Sendung selektiv zu verbessern.
[0005] Um einen Ball od. dgl. Spielobjekt separat zu behandeln und um seine Darstellung am richtigen Ort am Empfänger zu gewährleisten, ist eine automatische Erkennung und Verfolgung 1/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 des Balls nötig. Dies bringt mehrere Herausforderungen mit sich, weil: [0006] - eine Videosequenz eines Spiels mit einem Ball oder Puck üblicherweise Schnitte oder Wiederholungs-Teile in Zeitlupe enthält; [0007] - ein Ball oder Puck klein ist, besonders für die relevante QCIF- oder CIF-Auflösung; [0008] - es mehr als ein Objekt geben kann, das einem Ball oder einem Puck ähnlich sieht; [0009] -der Ball oder Puck nicht in jedem Rahmen („frame") aufscheint: er kann von den Spielern verdeckt sein, oder es können Teile des Videos ohne ihn sein (z.B. wenn das Publikum oder die Spieler betreffende Details gezeigt werden); [0010] - sich das Aussehen des Balls oder Pucks im Zeitablauf verändert (Zoomen, Schatten).
[0011] Es wurden schon frühere Arbeiten bezüglich der Fußballspiel-Videoanalyse vorgenommen; eine Stand-der-Technik-Beschreibung und ein Vorschlag für eine automatische Fußballspiel-Videoanalyse findet sich in [2], Der Zweck dieser Arbeit war die Detektion von Vorkommnissen (Tor, Elfmeter oder das Feststellen der roten/ gelben Karte), und man kann dort Methoden finden, wie man einen Szenenwechsel oder eine Zeitlupen-Wiederholung auffindet; die Aufnahme-Klassifizierung basiert jedoch hauptsächlich auf dem Detektieren der Spieler und der Linien des Spielfeldes, jedoch nicht auf der Erkennung des Balls.
[0012] Eine andere einfache Methode zum Detektieren von Vorkommnissen bei einem Fußballspiel wird in [3] vorgeschlagen. Hier basiert die Detektion auf dem Verfolgen der Flugbahn von Kandidaten-Objekten. Auf Basis der beständigsten Flugbahnen werden dann korrespondierende Objekte, wie ein Ball, entdeckt. Mehrere bekannte Objekterkennungsmethoden wurden verwendet, um den Ball aufzufinden. Zum Beispiel wurden in [4] eine Komponenten-Analyse und in [5] eine Erkennung auf Basis einer Kreis-Detektion verwendet.
[0013] Der Zweck der oben erwähnten Methoden war das Detektieren von Vorkommnissen. Im Gegensatz dazu ist es im Fall der vorliegenden Erfindung das Ziel, das kleinste und wichtigste Zielobjekt, den Ball oder Puck, zu schützen. Es ist notwendig, eine Fehldetektion zu vermeiden. Die kritischste Situation tritt in Frames auf, wenn der Ball (oder Puck) innerhalb des Spielfeldes sichtbar ist, ohne von irgendwelchen anderen Objekten umgeben zu sein. Nach Verwendung einer hohen Kompression scheint ein Ball oft zu verschwinden, indem er fließend im Gras verschwimmt. Um diese Situation zu überwinden, ist eine korrekte Balldetektion notwendig. Da eine Echtzeit-Übertragung erforderlich ist, muss die Methode einfach und unkompliziert sein. Die Kreisform des Balls oder Pucks kann zur Entscheidung benützt werden, es ist jedoch nicht notwendig, sich nur auf diese einzige Information zu verlassen. Insbesondere bei einer Weitwinkel-Kamera, Teilen der Sequenz und QCIF-Auflösung besteht der Ball oder Puck oft nur aus 3 oder 4 Pixeln, wie bereits voranstehend erwähnt.
[0014] Demgemäß ist es ein Ziel dieser Erfindung, eine neue, einfache und robuste Technik vorzusehen, um die oben erwähnten Probleme zu bewältigen, und eine Technik der Vorbearbeitung der Videosequenzen beim Sender (Übermittler) vorzusehen, so dass ein Empfang auf mobiler Seite in guter Qualität erreicht wird.
[0015] Ein weiteres Ziel der Erfindung ist es, eine verlässliche Technik vorzusehen, um den Ball zu schützen und seine Darstellung an der richtigen Stelle beim Empfänger zu gewährleisten, und dies trotz der seitens des Senders verwendeten Datenkompression und der Tatsache, dass das Spielobjekt (Ball oder Puck) oft nur einige wenige Pixel umfasst.
[0016] Um diese Probleme zu bewältigen, sieht die Erfindung ein Verfahren und ein System, wie in den beigefügten unabhängigen Ansprüchen definiert, vor. Bevorzugte und vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen gekennzeichnet.
[0017] Gemäß der Erfindung sind ein Verfahren und ein System vorgesehen, bei welchem Frames von Videosequenzen, die einen Ball, Puck od. dgl. Spielobjekt enthalten, auf der Senderseite auf rasche und verlässliche Weise vorbearbeitet werden können, so dass auf der Empfängerseite Videobilder von guter Qualität, insbesondere hinsichtlich des Spielobjekts, gezeigt 2/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 werden können, und dies auch dann, wenn für die Übertragung der Videosequenzen die Datenkompression angewendet wird. Für den Vergleich der Frames mit gespeicherten Spielobjektmerkmalen können gespeicherte Form- und/oder Farb-Daten verwendet werden, und insbesondere können Spielobjekt-Vorlagen („templates") definiert und für den Vergleich gespeichert werden.
[0018] Weitere Ziele, Merkmale und Vorteile der Erfindung sind aus der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich, die sich auf beispielhafte, bevorzugte Ausführungsformen der Erfindung beziehen, auf welche die Erfindung jedoch nicht eingeschränkt sein soll. In den Zeichnungen [0019] zeigt Fig. 2 eine schematische Darstellung von vier verschiedenen Beispielen des Aussehens des Balls in einer Fußball-Videosequenz, wobei die Pixel verschiedener Intensitäten in Quadraten gezeigt sind; [0020] veranschaulicht Fig. 1 eine schematisches Blockdarstellung eines Systems zur Erzeugung, (Vor-)Bearbeitung und Übermittlung von Videosequenzen gemäß der Erfindung; [0021] zeigt Fig. 4 ein allgemeines Schema der Flauptfunktionsmodule des Vorbearbeitungssystems der vorliegenden Erfindung; [0022] zeigt Fig. 3 ein System von Flussdiagrammen, die die Hauptfunktionsschritte des Vorbearbeitungssystems gemäß der Erfindung veranschaulichen; [0023] veranschaulicht Fig. 5 ein detaillierteres schematisches Blockschaltbild des Vorbearbeitungssystems gemäß der Erfindung; [0024] veranschaulicht Fig. 6 ein detaillierteres Blockschaltbild eines „Anfangssuche"-Teils des Systems gemäß der Erfindung; [0025] veranschaulicht Fig. 7 ein detaillierteres Blockschaltbild eines „Szenen-Detektions"-Teils des Systems der Erfindung; [0026] veranschaulicht Fig. 8 eine schematisches Diagramm, das die Extrapolationsmethode zur Verfolgung eines Balls auf einer Frame-um-Frame-Basis zeigt; und [0027] zeigt Fig. 9 eine Darstellung eines erzeugten Ersatz-Balls auf Pixel-Basis vor (a) und nach (b) einer Gauß'schen Filterung.
[0028] In Fig. 1 ist ein System zum Aufzeichnen, Bearbeiten und Senden eines Videos an Mobiltelefone gezeigt. Insbesondere inkludiert das System mindestens eine Kamera 2 zum Aufnehmen eines Spiels, ein (Vor-)Bearbeitungssystem 4 zum Bearbeiten der Videosequenzen vor dem Komprimieren und Übermitteln und ein Modul 6 zum Komprimieren und Senden der Videosequenzen; das Senden erfolgt in üblicher Weise über MSC(„mobile switching center", Funkvermittlungsstellen) und BSC („base Station Controller", Basisstationen-Controller) -Einheiten und über Basisstationen („basic transmission stations", BTS) 8 an eine Vielzahl von mobilen Endgeräten, insbesondere Mobiltelefone 10. Ein solches System kann zum Aufzeichnen und Senden von Spielen, wie Fußball, American Football, Rugby, Baseball, Basketball, Tennis oder sogar Eishockey, verwendet werden. Im Folgenden wird der Einfachheit halber auf Fußball und ein Spielobjekt in Form eines Balls Bezug genommen, es sollte jedoch zu verstehen sein, dass auch andere Ballspiele sowie ähnliche Spiele, bei welchen ein ähnliches Spielobjekt, wie insbesondere ein Pucks im Fall von Eishockey, verwendet wird, Möglichkeiten sind, in welchen die vorliegende Erfindung angewendet werden kann.
[0029] Fußballspiele oder dergleichen Spiele, bei welchen ein Ball oder ein ballähnliches Spielobjekt verwendet wird, stellen einen sehr populären Inhalt nicht nur für Analog- und Digital-Fernsehen, sondern auch für das Streamen über Mobilnetze dar. Typische mobile Endgeräte arbeiten üblicherweise mit Auflösungen von lediglich 144x176 (QCIF), PDAs könnten 288x352 (CIF) Pixel darstellen. Die begrenzte Bandbreite von mobilen Systemen der 3. Generation eignet sich für Datenraten von bis zu 2 Mbit/s, die sich alle Benutzer in einer Zelle teilen. Daher sind für die Unicast-Übertragung eines Streaming-Videos Datenraten von bis zu 128 kbit/s 3/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 möglich. Video-Codecs, die sich für 3GPP-Standards eignen (3GPP - „3rd Generation Partnership Project"; der Zweck des 3GPP war, ein global anwendbares Mobiltelefonsystem der dritten Generation (3G) zu schaffen; 3GPP-Spezifikationen basieren auf der entstandenen GSM („Global System for Mobile Communciations“)-Spezifikation, die jetzt allgemein als UMTS („Universal Mobile Telecommunications System“)-System bekannt ist), sind derzeit H.263 (H.263 -ein Video-Codec, der von ITU-T („International Telecommunication Union Telecommunication Standardization Sector) als Low Bitrate-Codier-Lösung für Videokonferenzen entworfen wurde) und MPEG-4 (MPEG-4, „Moving Picture Experts Group-4“, die wichtigsten Verwendungen für den MPEG-4-Standard sind Web (Streaming-Medien) und CD-Verteilung, Konversations- (Videophon) und Rundfunk-Fernsehen) mit ihren grundlegenden Profilen. Das verlustbehaftete Komprimieren, das von diesen Codes benützt wird, führt zu einer sichtbaren Qualitätsverschlechterung. Die Frame-Reduktion macht das Video insgesamt ruckartig, und eine weitere Kompression führt zu einem Verlust räumlicher Details begleitet von Blockartigkeit und Verschwommenheit.
[0030] Fußball oder dergleichen Spiel-Videos umfassen gewöhnlich Szenen verschiedenen Charakters. Am häufigsten sind Aufnahmen einer sich bewegenden Weitwinkel-Kamera, bei welchen die Kompression besonders bedenklich ist, weil der Ball oder Puck sowie die Spieler lediglich von mehreren Pixeln dargestellt werden, wodurch sie für jede Qualitätsminderung anfällig sind. Infolge der Kompression kann der Ball sogar vom Spielfeld verschwinden.
[0031] Da der Ball der wichtigste Informationsträger ist, ist das Ansehen eines Spiels mit einem verschwommenen kleinen Ball (oder sogar ohne diesen) ziemlich störend. Um dies zu überwinden, wird eine einfache Technik vorgeschlagen, die den Ball auffindet und verfolgt und durch seine vergrößerte oder schärfere Version ersetzt. Ein ersetzter Ball kann somit nach der Kompression noch immer gut sichtbar sein. In diesem Zusammenhang wird weiters auf eine Robustheit der Laufzeit-Ballverfolgungs- und Ersetzungstechnik abgezielt, vorzugsweise einschließlich des Handhabens einer Verdeckung („occlusion") und einer verlässlichen Detektion eines Szenenwechsels. Im Folgenden wird das gesamte System geoffenbart, das auch einen bevorzugten Ansatz einer anfänglichen Ballsuche enthält, da es sich gezeigt hat, dass gute Ergebnisse hinsichtlich Sichtqualität, Verlässlichkeit und Gesamt-Komplexität erreicht werden.
[0032] Eines der schwierigsten Probleme ist die Handhabung der niedrigen Auflösung des Balls (typisch unter 5 Pixel) und des Bildes, in welchem der Ball gesucht werden soll. Schematische Darstellungen von Bildschirmaufnahmen typischer Bälle, die von verschiedenen Sequenzen genommen wurden, sind in Fig. 2 (a)-(d) zu sehen, wo verschiedene Beispiele a-d der Erscheinungsbilder des Balls in vergrößertem Maßstab gezeigt sind, die alle im selben Video, aber in verschiedenen Frames Vorkommen. Daraus ist ersichtlich, dass es nützlich wäre, sich auf Techniken zu konzentrieren, die keine Informationen bezüglich der Form des Objekts benötigen, sondern auf Rand-Anpassung („edge fitting") beruhen, weil es beinahe unmöglich ist, die Form von 5-7 Pixel großen Objekten korrekt zu identifizieren. Außerdem war es erwünscht, eine Technik von sehr geringer Komplexität und vernünftiger Berechnungszeit zu entwickeln. Die bevorzugte Technik umfasst mehrere Hauptteile zusätzlich zu einem Anfangssuche-Teil 12, nämlich insbesondere eine geeignete Bild-Vorfilterung 14, eine Ähnlichkeitssuche 16 und eine konsequente Verfolgung 18 des gesuchten Objekts.
[0033] Eine Stufendarstellung des vorgeschlagenen Systems ist in Fig. 3 ersichtlich. Hier ist gezeigt, dass bei der vorliegenden Ausführungsform das Ähnlichkeitssuche-Modul 16 ein SAD/SSD/2-dimensionales Filter 16a umfasst, was später besprochen wird; der Bild-Vorfilterungs- und Segmentierungs-Teil oder das Modul 14 umfasst ein Hauptfarbdetektions-und Ersetzungs-Modul 14a, ein Szenendetektions-Modul 14b und ein Bildfilterungs-Modul 14c; der Verfolgungsteil 18 umfasst ein Flugbahn-Verfolgungs-Modul 18a, ein Algorithmus-Lern-(Modellball-Updating)-Modul 18b und ein ROI-Vorhersage/Verdeckungs-Handhabungs-Modul 18c. Das Anfangssuche-Modul 12 umfasst einen Schablonen-Satz-Generator 12a, ein Minimal-distanz-Polygon-Sammlungs-Modul 12b und ein Anpassungs- und Optimum-Bestimmungs-Modul 12c. 4/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 [0034] Der grundlegende Betrieb des Systems ist in Fig. 4 ersichtlich. Vereinfacht liefert eine Videoquelle 2' (vgl. die Kamera 2 in Fig. 1; die Videoquelle 2' könnte aber auch ein Video-File oder ein Video-"Stream" sein, der von anderen Geräten geliefert wurde) eine Reihe von Frames, was vom Szenenwechsel-Detektor 14b überwacht wird, welcher das Anfangssuche-Modul 12 (vgl. Steuerausgang 20) oder den „normalen" Erkennungsprozess 22 aktiviert, wie durch einen „Schalter" 24 gezeigt ist. Der „normale" Erkennungsprozess 22 besteht aus der Bild-Vorfilterung 14, der Flugbahn-Verfolgung 18 und dem Ähnlichkeitssuche-Modul 16. Die erkannte Ballposition wird zusammen mit Informationen über die Ballgröße einem Ballersatz-Modul 26 zugeführt. Nach einem möglichen Ballersatz (oder dem Beibehalten des Balls) wird der nächste Frame bearbeitet.
[0035] Falls ein Szenenwechsel bei 20 detektiert wird, oder am Beginn eines Videos wird eine Anfangssuche am Anfangssuche-Modul 12 durchgeführt.
[0036] Während Fußball-Video-Übertragungen können sich die Lichtverhältnisse und der Kontrast verändern. Auch die Farbe des Spielfeldes ist nicht genau dieselbe über das gesamte Bild. Daher wurde die vorliegende Technik entwickelt, um diese Art von „Rauschen" durch Vorfilterung auszugleichen, um zu gewährleisten, dass das Ähnlichkeitsmaß bei möglichst vielen Frames ein maximales Ergebnis zeigt.
[0037] Die Bild-Vorfilterung im Modul 14 ist eine besonders vorteilhafte Maßnahme, um die Robustheit des Algorithmus zu erhöhen. Neben der Wirkung, dass das „Rauschen" im Bild verringert wird, sind die Vorteile, dass der Algorithmus gegen Lichtblitzveränderungen und Fluktuationen im Aussehen des Balls (d.h. wenn der Ball mit der kleinen Auflösung nicht symmetrisch ist, vgl. Fig. 2) weniger empfindlich ist; dies geschieht gewöhnlich wegen der vom Gras und den Spielfeldlinien oder durch ein Verdecken durch Spieler verursachten Störungen („clut-ter"). Insbesondere die starken Fluktuationen in der Form des Balls aufgrund der Gras-Störungen machen den Erkennungsprozess sehr unverlässlich, wenn keine adäquate Vorfilterung durchgeführt wird.
[0038] Gemäß Fig. 3 wird die Vorfilterung in drei Stufen durchgeführt: (1) Hauptfarben-Detektion und Ersetzung 14a; (2) Szenenwechsel-Detektion 14b; und (3) Bildfilterung 14c; vgl. auch Fig. 5, Module 14a (28/30); 14b; 14c. (Die in den Fig. 3 bis 7 gezeigten Module können durch separate elektronische (Rechen-)Module realisiert sein sowie durch Modul-Teile eines Software-Systems; daher werden dieselben Bezugszeichen in den Zeichnungen verwendet trotz des jeweiligen Haupt-Charakters - Flussdiagramm oder Blockschaltbild - der einzelnen Figuren.) [0039] Zuerst wird, um das oben erwähnte Rauschen in der Spielfeldfarbe, wo der Ball die meiste Zeit zu finden sein wird, auszugleichen, das erste Bild einer Szene analysiert, um die Hauptfarbwerte für alle Farbkanäle zu finden. Diese Analyse erfolgt auf einer Frame-Basis (vgl. Frame-Extraktor 32 in Fig. 5) unter Verwendung einer Farbhistogramm-Information. Es ist nicht nötig, eine Bildsegmentierung vorzunehmen, um das Spielfeld im Bild zu trennen. Weil es das Hauptziel ist, die Störung des Spielfeldes (Gras) auszugleichen, genügt es, dass die anfängliche Hauptfarben-Detektion in einem repräsentativen Bild durchgeführt wird, in welchem das Spielfeld den Großteil des Frames einnimmt.
[0040] Die Histogramme aller Farbkanäle im RGB (R-Rot, G-Grün, B-Blau)-Farbraum werden analysiert, und die Hauptfarbregionen werden mit Hilfe von Schwellenwerten gefunden. Der RGB-Farbraum wird benützt, weil die Videosequenzen üblicherweise in diesem Farbraum geliefert werden. In einem Beispiel wurden die Schwellenwerte empirisch auf 25% für den roten Kanal, 28% für den grünen Kanal und 32% für den blauen Kanal optimiert.
[0041] Nachdem die Hauptfarben-Grenzen für alle Farbkanäle gefunden wurden, wird der mittlere Index imean(c) durch einen gewichteten Mittelwert ,(c)= hTic)i Σ,Λ,(ο·) c={R,G,B} (1) 5/25
österreichisches Patentamt AT 508 595 B1 2011-02-15 [0042] berechnet, worin h(c) = [h0(c), h^c).....h255(c)]T ein Vektor ist, der die Anzahl von Punk ten in jedem Farbwert enthält, i = [0,1,.... 255]T ein Vektor aller Indizes ist, die jeweils zu einem Farbkanal gehören, der mit c bezeichnet ist, j= 1,2, 3... ist, und T die transponierte Matrix bezeichnet. In einem Beispiel war j auf 255 begrenzt worden, weil die verwendeten Videosequenzen 16,7 Millionen Farben hatten (24 bit pro Pixel).
[0043] Der gewichtete Durchschnitt wird als Ersatzfarbe verwendet, vergl. das Farbersatz-Modul 28 in Fig. 5, und wegen dieses Farbersatzes bei 28 in Fig. 5 besteht das Spielfeld hauptsächlich aus Punkten derselben Farbe. Somit werden die Frames in einerWeise gebildet, dass sie vereinheitlicht sind, und das Rauschen der Spielfeld-Farbe wird unterdrückt.
[0044] Zweitens wird die Szenen(wechsel)-Detektion durch den Detektor 14b zusätzlich zu den Tätigkeiten betreffend die Robustheit der Ähnlichkeitsmaßnahme durchgeführt. Bei den echten Video-Übertragungen sind Szenenwechsel ein schwieriges Gebiet, weil nach einem solchen Szenenwechsel die Verfolgung des Balls vollständig verloren sein kann. Andere Szenen als Weitwinkelaufnahmen können Nahaufnahmen sein, bei welchen überhaupt kein Ball im Bild ist, oder andere Perspektiven, bei welchen die Größe des Balls viel größer als im vorherigen Frame ist.
[0045] Um eine falsche Detektion des Balls zu vermeiden und die Komplexität des Algorithmus zu verringern, kann die Kenntnis eines aufgetretenen Szenenwechsels verwendet werden, um zu entscheiden, ob eine detaillierte Suche durchgeführt werden soll. Zusätzlich zur Kenntnis eines aufgetretenen Szenenwechsels kann man die Hauptfarben-Information wie oben beschrieben verwenden. Wenn die Hauptfarbe zu Beginn eines neuen Frames zu weit von einer „Durchschnitts"-Farbe (Grün im Fall von Fußball) entfernt ist, zeigt die Szene nicht das Spielfeld, und es ist daher sehr wahrscheinlich, dass sich in der Szene gar kein Ball befindet. In einem solchen Fall wird die Hauptfarben-Information überwacht, um zu entscheiden, ob eine detaillierte Suche begonnen werden sollte oder ob der Algorithmus das aktuelle Frame passieren kann. Wenn die Hauptfarben-Information in den vorgegebenen Bereich fällt, wird beim Modul 12 (Fig. 4) eine Anfangssuche begonnen.
[0046] Bei dieser „Anfangssuche" (vgl. auch das Anfangssuche-Modul 12 in den Fig. 3 und 5) wird ein anderer Algorithmus als der für das Verfolgen und Erkennen des Balls „im Flug" angewendet. Wenn kein ausreichendes Ergebnis dieser Suche erhalten wird, wird daraus geschlossen, dass es keinen Ball auf dem Bild gibt oder dass er eine bestimmte Größe überschreitet. In diesem Fall wird kein Ersatz des Balls bewirkt, weil ein großer Ball nicht für das Codieren verbessert zu werden braucht und ein falscher Ersatz zu einer Verschlechterung der subjektiven Video-Qualität führen würde.
[0047] Für die Szenendetektion selbst kann eine Technik der „dynamischen Schwellenwerte" verwendet werden, wobei die SAD (SAD -Summe der absoluten Differenzen) zwischen dem momentanen Frame und seinem vorhergehenden Frame für jedes Frame berechnet wird:
[0048] Der momentane Wert des Schwellenwerts für einen Szenenschnitt ist dann durch eine lineare Kombination aus dem momentanen SAD-Wert, dem Mittelwert und der über beispielsweise die letzten 20 Frames berechneten Varianz von SAD gegeben. Dieses Verfahren funktioniert gut, weil es sich an das Ausmaß der Bewegung unter den Frames anpasst und somit die Detektion feinerer Szenenwechsel als die üblicherweise verwendeten fixen Schwellenwerte ermöglicht.
[0049] Drittens erfolgt die Bildfilterung (vgl. das Bildfilter-Modul 14c in den Fig. 3 und 5), wobei -neben der oben beschriebenen Hauptfarben-Detektion und dem Ersatz - ein zweidimensionales Gauß'sches Filter verwendet wird, um die resultierenden Bilder zu glätten. Die Filterung wird mittels einer zweidimensionalen Faltung durchgeführt: 6/25 österreichisches Patentamt N,
AT 508 595 B1 2011-02-15 (3) [0050] worin h das Nx x Ny -Filter ist, Fn das n-te Frame der Videosequenz ist, i, j die Filter-Koordinaten sind und x, y die Koordinaten der zweidimensionale Faltung sind.
[0051] Ein M x M-"isotrisches" (d.h. kreissymmetrisches) Gauß'sches Filter wird verwendet:
i,j = 1...M
[0052] Verschieden große M wurden in mehreren Videosequenzen getestet. Danach kam man in einem Beispiel zum Schluss, dass für die niedrigen Auflösungen des Balls eine Filtergröße von M = 5 ausreicht, um das Bild zu glätten, ohne das Aussehen des Balls wesentlich zu beeinflussen.
[0053] Ein Hauptteil der vorliegenden Technik ist das Ähnlichkeitsmaß, welches verwendet wird, um nach einem Schablonen-Ball in jedem Frame des Fußball-Videos zu suchen. Auf Basis der Anforderungen einer geringen Komplexität und ihrer vernünftigen Rechenzeit wurde die Methode der Summe der absoluten Differenzen (SAD) als Beispiel für eine mögliche Metrik gewählt: (5) SAD(nlx,y)=YJ2l\Fn{x+i,y+j)-T{i,j)\ [0054] worin Fn der n-te Frame der Videosequenz ist; x, y die SAD-Koordinaten (innerhalb des abgesuchten Bereichs des Frames) und i, j die Koordinaten innerhalb der Nx x Ny -Schablone T sind.
[0055] In Fig. 5 ist eine entsprechende Ähnlichkeitsmetrik-Berechnung und ein Erkennungs-Modul 34 für diesen Zweck gezeigt.
[0056] Andere Ähnlichkeitsmetriken, wie SSD („surrt of squared differences", Summe der quadrierten Differenzen), wurden ebenfalls getestet: (6) SSD{n, X, ;0=Σ 2l (Fn(x+i> y+j)-T(*./))* [0057] worin Fn, T und x, y dieselbe Bedeutung wie in der SAD-Berechnung haben.
[0058] Zusätzlich wurde eine zweidimensionale Filterung getestet, wie die oben in Gleichung (3) angegebene, wo anstelle eines Gauß'schen Filters h eine Filterung mit der Nx x Ny Ball-Schablone durchgeführt wurde. Die Resultate und die Signifikanz des gefundenen Minimums (oder Maximums im Fall der zweidimensionalen Filterung) für die drei Ähnlichkeitsmaße wurden verglichen, und es konnte festgestellt werden, dass die SAD-Werte ein viel signifikanteres Minimum zeigen als die Filterwerte. Ähnliche Vergleiche mit den SSD-Berechnungen zeigten, dass die SAD-Methode ein guter Kompromiss zwischen Genauigkeit und Komplexität für das bestimmte Problem ist, und so wurde SAD als die bevorzugte Methode gewählt.
[0059] Im Algorithmus wird die Ähnlichkeitsmetrik verwendet, um die Distanz zwischen dem Frame und der Ball-Schablone innerhalb des interessierenden Bereichs sequentiell zu berechnen und die Position des Balls mit einer Mindestdistanz auszuwählen, was zu einer Kandidatenposition des Balls führt: p(n)=arg min metric(n,x, y) m x.ySA ''' 7/25 > österreichisches Patentamt AT 508 595 B1 2011-02-15 [0060] worin p(n) die Kandidaten-Ballposition im Frame n angibt, die Metrik (n, x, y) für eine der vorgeschlagenen Metriken steht und A die interessierende Region („region of interest", ROI) bezeichnet, d.h. den Teil des Frames, in welchem die Ballposition angenommen wird.
[0061] Es hat sich gezeigt, dass der Entscheidung, ob ein Ball erkannt wird oder nicht, ein fixer Schwellenwert zugrunde gelegt werden kann, wobei ein praktisches Beispiel „hündisch" auf 6,8% des maximalen SAD-Werts für eine bestimmte Schablonengröße optimiert wurde. Erfreulicherweise kann dieser Schwellenwert auch verwendet werden, um den Detektionsprozess zu beschleunigen.
[0062] Man kann die SAD in einem bestimmten Punkt (x; y) des aktuellen Frames n als Teilsumme
N, JV
(/-1 )-Ny+j<k (8) [0063] schreiben, worin Nx und Ny wiederum die Größe des Schablonen-Balls angeben und k die Anzahl der berechneten absoluten Differenzen in Punkten ist. Damit (i-1)Ny+j<k stimmt, muss der innere Index j nach der Wahl von i alle möglichen Werte durchlaufen. Sicherlich gilt, wenn k=Nx Ny, dann ist SADNx.Ny (n, x, y) gleich SAD(n,x,y), wie in der obigen Gleichung (5) definiert. Der Ausdruck | | in den Gleichungen (2), (5) und (8) ist dafür verantwortlich, dass SAD eine additive Metrik ist, wobei die Teilsummen für alle k nicht negativ sind. Daher kann man die Auswertung des SAD-Werts in x, y stoppen, wenn die tatsächliche SAD«(n,x,y) den gegebenen Schwellenwert übersteigt, weil dann der Algorithmus trotzdem das gesamte SAD(n, x, y)-Ergebnis streichen würde.
[0064] Die SADk(n,x,y) berechnet die Summe der Differenzen der Punkte 1...k. Wenn die momentane Teilsumme in Schritt k den gegebenen Schwellenwert übersteigt, kann die Evaluierung der übrigen Punkte verworfen werden.
[0065] Dies beschleunigt den Erkennungsprozess beträchtlich, da nur ein Bruchteil der Differenzen berechnet werden muss. Ein anderer Weg, um den Suchprozess noch mehr zu beschleunigen, wird im nächsten Abschnitt erklärt.
[0066] Der Verfolgungs- und Verdeckungs-Handhabungs-Teil des Algorithmus (vgl. Teil 18 in Fig. 3) führt wiederum eine wichtige Aufgabe für die Verlässlichkeit und Geschwindigkeit des Algorithmus durch. Die Grundidee hinter dem Verfolgen der Flugbahn ist, dass sich innerhalb einer Szene der Ball nicht um mehr als eine bestimmte Distanz zwischen zwei Frames bewegen kann. Wenn die Position des Balls im vorhergehenden Frame bekannt ist und kein Szenenwechsel stattgefunden hat, kann man die Suche auf einen Teil des jeweiligen Frames einschränken, auf den interessierenden Bereich (ROI), wo man nach dem Ball „sieht". Dies hat zwei Auswirkungen: [0067] - die Berechnungszeit wird reduziert, weil der ROI beträchtlich kleiner als das ganze Bild ist; und [0068] - die Robustheit des Erkennungsprozesses wird verbessert, weil zumeist alle „falschen" Treffer, wo die SAD-Ergebnisse den bestimmten Schwellenwert übersteigen würden, verworfen werden können.
[0069] Die Vorhersage des ROI für die Ball-Flugbahn-Verfolgung (vgl. Verfolgungs-Modul 18 in den Fig. 3, 4 und 5) kann als einfache lineare Vorhersage implementiert werden, indem man eine fixe Größe des ROI und die neue Position, die durch die Differenz zwischen den Ballpositionen der letzten zwei vorhergehenden Frames (9) p{n)=p{n-\)+k{n) , [0070] geschätzt wurde, worin p(n) ein Vektor ist, der die vorhergesagten x- und y-Koordina- 8/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 ten des Balls im n-ten Frame enthält, und k(n) die vorhergesagte Bewegung des Balls während des letzten Frames ist. In Fig. 5 ist ein Ballpositions-Vorhersage-Modul 36 gezeigt, welches die Ballposition im aktuellen Frame auf die nun beschriebene Weise vorhersagt, indem Positionsdaten aus einem Positionsspeicher 38 verwendet werden. Es sei bemerkt, dass im Prinzip auch hier verschiedene Ansätze verwendet werden könnten, um die Ballpositionen vorherzusagen, wie z.B. die MMSE-Methode (MMSE - minimum mean square estimator) oder die WLSE-Methode (WLSE - „weighted least square estimator", gewichteter Least-Square-Schätzer). Auf Basis der von dem Ballpositions-Vorhersage-Modul 36 gelieferten Informationen und von Informationen beispielsweise hinsichtlich der Anzahl von Frames pro Sekunde (fps) usw., die von einem Geschwindigkeits-, Auflösungs- und fps-Extraktor 40 geliefert werden (s. Fig. 5), berechnet der Verfolgungs-(ROI)-Generator 18 den ROI und bezeichnet weiters den Bereich, in welchem der Hauptfarben-Ersatz (Modul 30) und das Bildfilter (Modul 14c) angewendet werden. Der Extraktor 40 ist ein Modul mit dem Ziel, die Bit-Rate, die Auflösung und die fps-Anzahl der Video-Quelle 2' zu extrahieren.
[0071] Wiederum unter Bezugnahme auf die spezifische Ballpositions-Vorhersage, die hier beschrieben werden soll, und unter der oben erwähnten Annahme, dass die Bewegung des Balls zwischen zwei aufeinander folgenden Frames nicht zu groß ist (was gewöhnlich in der Praxis stimmt, wenn kein Szenenwechsel stattfand - welcher vom Modul 14b detektiert werden würde), kann man die Bewegung k(n) durch die Differenz der Ballposition zwischen zwei vorhergehenden Frames p(n-1)-p(n-2) Vorhersagen. Dies führt zur folgenden Vorhersage: p(n)~2p(n—l)-p(n-2) (10) [0072] Die Ausgangswerte p(-1) und p(-2) dieser Vorhersage sind auf 0 fixiert, daher muss der Algorithmus die ersten zwei Frames evaluieren, bevor er eine Vorhersage durchführen kann.
[0073] Eine andere Möglichkeit ist, die Gewichte des Prädiktors angleichend anzupassen. Dies kann durch Lösen des Yule-Walker-Gleichungssystems für lineare Vorhersage oder unter Verwendung eines MMSE (Minimum Mean Square Error)-Schätzers erfolgen. Letzteres ist besser, da es leichter numerisch zu berechnen ist.
[0074] In Tests wurde die Größe des ROI empirisch auf die doppelte Größe des Schablonen-Balls optimiert, so dass in allen Tests der ROI groß genug war, den Ball zu enthalten, selbst wenn die Vorhersage geringfügig falsch war. Diese Größe des ROI wurde auf eine Framerate von 25 fps (Frames pro Sekunde) optimiert. Aber das Ergebnis für die reduzierten Frameraten kann signifikant verschieden sein, weil dann die Bewegung des Balls zwischen zwei aufeinander folgenden Frames viel größer sein kann und der ROI zu klein sein könnte, um den Ball im Fall einer falschen Vorhersage zu enthalten.
[0075] Der so evaluierte ROI A definiert den Bereich der x- und y-Werte, wobei die Ähnlichkeitsmetrik beispielsweise auf (11) A=p[n)±\Nxl2] Äy=p{n)±\N J2] [0076] angewendet werden kann, wobei Nx und Ny die Größe des Schablonen-Balls wie in (5) bezeichnen und [·] die sogenannte „floor"-Operation bezeichnet.
[0077] Um die Verlässlichkeit der vorgeschlagenen Vorhersage zu verifizieren, wurden die vorhergesagte Position und die von der Ähnlichkeitsmetrik gelieferte erkannte Position verfolgt. Es hat sich gezeigt, dass der Unterschied zwischen der vorhergesagten und der erkannten Position ε(η) = p(n) - p(n) in der x- und y-Richtung (d.h. n=x,y), das heißt der Vorhersage-Fehler, klein genug ist und keine systematische Abweichung zeigt. Die Vorhersage wurde mit mehreren Videosequenzen verschiedener Längen getestet. Die durchschnittlichen Varianzen des Vorhersage-Fehlers in x-und y-Richtung (über alle getesteten Probe-Videos gemittelt), E{varsx} und E{var£y}, waren etwa 1,628 und 1,389. Das durchschnittliche Mittel der Fehler 9/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 E{mean8x} und E{mean£y} war etwa -0,092 und 0,146.
[0078] Neben der Vorhersage der Ballposition wurde auch versucht, den Algorithmus so robust wie möglich gegen sich langsam verändernde Lichtbedingungen und geringe Erscheinungsbild-Veränderungen zu machen, weil dies bei kleinen Auflösungen ziemlich häufig vorkommt. Daher wird der als Schablone für die SAD-Suche verwendete Ersatz-Ball durch den Ball, der neu gefunden wurde, aktualisiert. Die Schablone wird auf mittelnde Art wie folgt aktualisiert:
Tnew = {TM+B-o()·-ί-, , (12) [0079] worin Tnew die neue Schablone ist, die im weiteren Erkennungsprozess verwendet wird, T0|d die bis zum aktuellen Frame verwendete Schablone ist, B der tatsächlich erkannte Ball ist, und α der Lernfaktor ist. Empirisches Testen zeigte, dass zusammen mit dem gewählten Detektions-Schwellenwert ein Lernfaktor α von 0,2 angemessen ist.
[0080] Natürlich sind verschiedene Optionen für die Schablonen-Erstellung möglich; die verwendete Anzahl früherer Schablonen oder der Gewichtungsfaktor dieser Schablonen definiert den benützten Algorithmus für den Generator.
[0081] Neben der Gleichung (12) ist es günstig zu überwachen, ob die Größe des aktuell gefundenen Balls zugenommen hat, um zu entscheiden, ob die Größe der Schablone und des Ersatzes erhöht werden sollte oder nicht. Um dies zu entscheiden kann die Histogramm-Information des aktuell erkannten Balls (oder lediglich der Ausschnitt des Bildes, in welchem der Ball gefunden wurde) verwendet werden. Normalerweise ist der Ball fast weiß und von einer wesentlich dünkleren Umgebung (d.h. dem Spielfeld) umgeben. Somit ist es einfach, den Schablonen-Ball binär zu gestalten, indem man die Histogramm-Information verwendet, und die Quantität mit diesen zwei Werten zu vergleichen. Je nach dem Prozentsatz von „dunklen" gegen „helle" Pixel kann entschieden werden, ob der Ball größer geworden ist oder nicht.
[0082] Der verwendete Algorithmus wandelt die RGB-Koordinaten des tatsächlich erkannten Balls in Intensitätswerte um (Bl = Intensität B)), z.B. gemäß der folgenden Gleichung:
Bj=vec(ü)· 0.2989 0.5870 0.1140 (13) [0083] worin vec(B) eine (NxNy) x3-Matrix liefert und Nx, Ny die Größe des tatsächlich erkannten Balls in x- und y-Richtung bezeichnen.
[0084] Nach der Umwandlung wird ein harter Schwellenwert (z.B. 150) implementiert, um das Bild zu binär zu gestalten, und so wird jedes Pixel Bl(ij) > Schwellenwert auf eins („1") gesetzt, und alle anderen auf Null („0"). Die Entscheidung, ob die Schablonengröße erhöht werden sollte, vereinfacht sich daher auf eine Auswertung des Anteils von „hell" in Bezug auf die Anzahl aller Pixel im Vergleich zu einem empirisch bestimmten Schwellenwert: ΤΓΤΤΓ'Σ Σt14) · 'V x y /=1 j-1 [0085] Wenn die obige Ungleichheit erfüllt ist, wird die Schablonengröße in x- und y-Richtung auf Nx+1 und Ny+1 erhöht, und die oben beschriebene Extraktion und Analyse wird wiederholt, bis der Schwellenwert nicht mehr überschritten wird.
[0086] Wenn innerhalb des ROI kein Ball gefunden wird, entscheidet der Algorithmus, dass eine Verdeckung stattgefunden hat. In diesem Fall wird kein Ballersatz vorgenommen (vgl. Modul 26 in Fig. 5), und es erfolgt keine Schablonen-Ball-Aktualisierung. Da in den meisten 10/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 Fällen eine Verdeckung auftritt, weil der Ball sich an einem Spieler/einer Spielerin vorbeibewegt oder von ihm/ihr gehalten wird, ist eine gute Vorhersage der nächsten Ballposition nahezu unmöglich. So fährt der Algorithmus auf einfache Weise fort, indem er die Größe des ROI von Frame zu Frame erhöht (aber sein Zentrum an derselben Position beibehält), bis der Ball wieder gefunden worden ist, vgl. auch Fig. 8, wo ein ROI der ursprünglichen Größe und ein vergrößerter ROI' gezeigt sind in Verbindung mit einer Flugbahnlinie 42, die von Ballpositionen Fn i(px, py) (mit i=0,1,2,3...) definiert ist.
[0087] In den meisten Fällen reicht dies aus, um den Ball zu verfolgen, weil der Ball bei Weitwinkelaufnahmen, die von größtem Interesse sind, normalerweise nur eine kurze Zeit verdeckt ist, da in diesen Frames ein Ersatz vorgenommen werden sollte, um die optische Qualität für den Mobil-Benutzer zu verbessern.
[0088] Um die Robustheit des Algorithmus weiter zu verbessern und die meisten falschen Schablonen-Lernentscheidungen zu vermeiden, wird es bevorzugt, die von den Spielfeld-Linien bewirkten Störungen zu entfernen. Diese Störungen sind besonders nachteilig für den Algorithmus in QCIF-Auflösungen, weil der Ball bei einer Weitwinkelaufnahme einem Punkt einer Spielfeld-Linie sehr ähnlich ist. Um diese Punkte von Entscheidungen auszuschließen und um ein falsches Schablonen-Lernen zu vermeiden, kann daher jedes Frame mittels einer einfachen Kantendetektion bearbeitet werden, so dass er eine binäre Version des Frames mit detektierten Spielfeldlinien wird. Dabei können gute Ergebnisse mit dem an sich bekannten Canny-Algorithmus für Kantendetektion erzielt werden, wobei z.B. ein Schwellenwert von 0,03 in x-Richtung und von 0,08 in y-Richtung festgelegt sein kann, was sich in praktischen Tests als adäquat erwiesen hat. Die Umwandlung des RGB-Frames in ein Intensitäts-Bild kann gemäß der obigen Gleichung (13) vorgenommen werden.
[0089] Das binäre Frame dient zwei Maßnahmen: [0090] - wenn die detektierte Ballposition sich einer detektierten Linie nähert, wird das Schablonen-Lernen gestoppt, und [0091] - wenn der Ball eine Anzahl von Frames lang wegen einer Verdeckung nicht detektiert wird, wird eine Erkennung nur als gültig markiert, wenn sie nicht auf einer Linie liegt, die von der Kantendetektion detektiert wurde.
[0092] Diese Maßnahmen haben zwei bemerkenswerte Vorteile. Erstens wird die Schablone durch einen an der Spielfeldlinie detektierten Ball nicht aktualisiert, was die gewünschte Schablone stören und vermutlich zur Entscheidung führen würde, dass die Schablonengröße zugenommen hat. Und zweitens ist es möglich, nach einer Verdeckung eine noch verlässlichere Erkennung des Balls vorzusehen, weil eine Ballerkennung nicht als gültig markiert wird, wenn sie an einer Spielfeldlinie erkannt wird.
[0093] Das Gesamtschema der Fig. 5 zeigt weiters das vorstehend erwähnte Ballersatz-Modul 26, dessen Ballpositions-Information durch das Ähnlichkeitsmetrik-Berechnungs- und Erkennungs-Modul 34 (welches die Ähnlichkeitsmetrik des gegebenen Schablonen-Balls und des aktuellen Frames im evaluierten ROI berechnet, wobei die Metrikwerte als Basis für die Schwellenwert-Entscheidung, ob der Ball erkannt ist oder nicht, dienen; siehe oben) aus dem Positionsspeicher 38 aktualisiert wird. Diese Ballpositions-Information wird auch einem Ball-Extraktor 44 zugeführt, welcher die Größe des momentan erkannten Balls bestimmt, um sie zu extrahieren und in einem Schablonenspeicher 46 zu speichern. In diesem Schablonenspeicher 46 werden die extrahierten Bälle der Videoquelle 2' gespeichert, um eine Basis für einen Matrizen-Generator 48 aufzubauen, welche die Ballschablone berechnet, die von der Ähnlichkeitsmetrik-Berechnung benutzt wird, indem der Speicher von früheren Schablonen verwendet wird, wie voranstehend in Verbindung mit Gleichung (12) beschrieben.
[0094] Schließlich ist in Fig. 5 ein Ersatzball-Generator 50 gezeigt, welcher unter Berücksichtigung von Geschwindigkeit, Auflösung und fps den optimalen Ersatzball für das aktuelle Frame berechnet. Der Ersatzball wird groß genug und mit starkem Kontrast erzeugt, so dass der Ballersatz die gewünschte Qualitätsverbesserung liefert, wie noch beschrieben wird. Weiters wird 11 /25
österreichisches Patentamt AT 508 595 B1 2011-02-15 ein Codierer/Decodierer 52 verwendet, um die Sammlung bearbeiteter Frames zu komprimieren und deren Auflösung zu senken, um den gewünschten Video-Ausgang 54 zu erhalten, welcher wiederum ein Video-File oder ein Video-Stream sein kann, der an die Erfordernisse des Mobil-Kanals angepasst ist.
[0095] Die Anfangssuche (vgl. Fig. 6) ist ein entscheidender Teil der vorliegenden Technik, weil die Robustheit wesentlich von den erzielten Ergebnissen abhängt. Für die Zwecke der vorliegenden Bearbeitung kann ein nicht-kausaler Mehrfachauflösungs-Algorithmus angewendet werden. Anders als der für laufende Szenen angewendete Algorithmus, der nur die Information der Schablone und eine nachfolgende Verfolgung für den Erkennungsprozess benützt (und daher sehr schnell und rechnerisch kostengünstig ist), benützt die Anfangs-Ballsuche eine extrahierte Flugbahninformation, um den richtigen Ball zu Beginn jeder Szene zu finden. Diese Methode ist viel verlässlicher und robuster, weil sie eine Kenntnis über das physikalische Verhalten des Balls zusätzlich zu den Informationen bezüglich Form und Farbattributen verwendet. Demgemäß schätzt das Anfangs-Ballerkennungs-Modul 12 die Positionen des Balls in einer Sequenz von beispielsweise 5 bis 7 Frames, nachdem ein Szenenwechsel stattgefunden hat, oder es wird eine neue Videoquelle 2' für die Bearbeitung gewählt.
[0096] Der Ursprung des Anfangserkennungsprozesses ist ein Satz charakteristischer Schablonen in verschiedenen Auflösungen, wie sie im Speicher 56 der Fig. 6 gespeichert sind und empirisch gefunden wurden; diese Anfangsschablonen repräsentieren einen weiten Bereich möglicher Bälle in Videos mit ähnlichen Auflösungen. Ausgehend von diesen Schablonen wird ein größerer Satz X im Schablonen-Generator-Modul 58 mittels einfacher Gauß'scher Filterung (d.h. verschiedene Filtergrößen und Varianzen) und eines „Deblurring" (Verwischt-Beseitigung) (d.h. Deblurring unter Verwendung eines Wiener-Filters oder des Lucy-Richardson-Algorith-mus) erzeugt. Jeder Erkennungslauf beginnt durch Anwenden von Dominanzfarben-Detektion und -Ersetzung, vgl. die Module 28, 30 in Fig. 5, und benützt das SAD-Ähnlichkeitsmaß, wie vorstehend beschrieben, vgl. auch das Analoga-Ähnlichkeitsmetrik-Berechnungs- und Erkennungsmodul 34 in Fig. 6.
[0097] Zu Beginn eines Videos (n0 = 1) oder eines Szenenwechsels im Frame n0, werden die SAD(n,x,y)-(vgl. Gleichung (5))-Werte zwischen dem Frame und der Ballschablone t in jedem Frame n0<n0+Nf berechnet; danach werden die Werte in steigender Weise gespeichert und in ihrer Reihenfolge durch k nummeriert. Nun werden die ersten γ-Punkte (x,y) mit Mindest-SAD(n,x,y)-Wert gesammelt, und für jede Schablone t wird ein Satz ß(t) (n) gebildet: (15) Ü‘\n)= p^:k<y , k [0098] worin p^ die Position (x,y) des korrespondierenden SAD(n,x,y) an Position k in der sortierten Liste des Frames n bezeichnet. Der Satz Q(t) (n) wird für alle Schablonen t e χ und alle Nf-Frames erzeugt, was daher zu einer Gesamtanzahl von Nf \χ\ -Sätzen mit Nf\x[y Punkten führt.
[0099] Die erkannten Positionen des ersten Frames für jede Schablone ü(t)(1) (vergl. auch den Positions-Speicher 64 in Fig. 6) bilden die Anfangspunkte sog. „Mindest-Distanz“-Polygone. Ausgehend von einer beliebigen erkannten Position k = 1...y (unter Verwendung einer fixen Schablone t) im Frame n0 berechnet ein Mindest-Distanz-Suchmodul 62 die Euklidische Distanz zu allen anderen erkannten Positionen 1 = 1...y im darauffolgenden Frame
(16) [00100] worin pf{n) die k-te erkannte Position im Frame n durch Ähnlichkeitssuche der Schablone t bezeichnet. Nach Berechnung dieser Distanzen wird die Mindestdistanz gewählt, 12/25 > österreichisches Patentamt AT 508 595 B1 2011-02-15 um die nächste Position des „Mindestdistanz“-Polygons im Frame n+1 anzugeben l^(n+\)= v^\n+ \):l-arz min ^'^(k, 1, n)
(17), [00101] worin lk(n) den (n-n0)-ten Punkt des Polygons k für eine bestimmte Schablone t darstellt und lk(n0) = ρ%\η) ist. Dieser Mindest-Suchvorgang wird für alle Nf-Frames, alle Positionen k im ersten Frame n0 und alle Schablonen wiederholt, was zu einer Sammlung von γ·\χ\ Polygonen mit Y-\x\-Nf Punkten führt. Die „Mindestdistanz“-Polygone stellen nur mögliche Flugbahnen von Kandidaten- Bällen dar. Die verbleibende Frage ist, welches Polygon den echten Ball beschreibt. Der Algorithmus basiert hier auf der Annahme, dass die Flugbahn eines „echten" Balls ausreichend glatt ist. Um die „Glätte" jedes Polygons auszuwerten, kann eine Kurvenanpassung durch ein Polynom zweiten Grades angewendet werden: f(x) - ax2+bx+c (18).
[00102] Die Güte der Anpassung wird durch die Summe der quadrierten Fehler („sum of squared errors", SSE) gemessen «„+ΛΤ-1
(19), [00103] worin nun p (i) für die y-Koordinate der angepassten Kurve im Frame i steht.
[00104] Nach der Kurvenanpassung und der Berechnung der SSE-Werte für jedes Polygon wird versucht, das optimale Polygon zu finden, welches die Flugbahn des gewünschten Balls darstellt. Dies erfolgt in zwei Schritten: zuerst werden die Ausgangs-Indizes k des NSSE am besten passenden Polygons der Schablone t gesucht ^arg^.JSSEikjjKthsse] , (20) [00105] worin alle k den Satz Γ bilden. Innerhalb dieses Satzes von „gut" passenden Polygonen wird das mit der größten Summe der Euklidischen Distanzen gewählt. Empirisches Testen führte zu diesem Schritt, weil in einigen Fällen Rauschen im Spielfeld zu einem „ballähnlichen" Erscheinungsbild führt, welches innerhalb der gewählten Anzahl von zu berechnenden Frames Nf nicht verschwindet. Aber ein Satz von wie beschrieben gefundenen Positionen, die sich von Frame zu Frame nicht wesentlich unterscheiden, ist leicht anzupassen und erzeugt daher einen sehr geringen SSE-Wert. Andererseits hat ein Polygon eine geringe Länge, womit die Annahme verifiziert wird, dass es innerhalb des Satzes von Polygonen mit einem geringen SSE-Wert die beste Strategie ist, das Polygon mit der größten Summe von Distanzen zu wählen
1=arg min d(l\k,l,n). (21) [00106] Falls diese Vorgangsweise nicht zu einem optimalen Polygon führt, kann der Algorithmus eine Möglichkeit enthalten, zu wählen, ob die selbe Framesequenz in einer höheren Auflösung bearbeitet werden sollte, oder ob geschlossen werden sollte, dass die tatsächliche Szene keinen Ball enthält. 13/25 österreichisches Patentamt AT 508 595 B1 2011-02-15 [00107] Fig. 6 zeigt weiters ein entsprechendes Optimum-Auswertungs-Modul 68, welches das optimale Polygon zeigt, das den echten Ball repräsentiert, wie durch Bearbeiten der Mindestdis-tanz-Polygone zusammen mit den Informationen über die Güte der Anpassung und die Gesamtlänge beschrieben. Verschiedene Algorithmen sind denkbar, das heißt, das optimale Polygon kann durch Wählen desjenigen mit der besten Güte der Anpassung und der größten Gesamtlänge festgelegt werden.
[00108] Mit Block 70 ist ein Anfangsball gezeigt, welcher das optimale Polygon darstellt, das durch das Optimum-Evaluierungs-Modul 68 ausgewählt wurde, zusammen mit einer Schablone, die die Basis für das bestimmte Polygon bildet. Die Ausgangsballposition 72 wird dann extrahiert, um im Positionsspeicher 38 gespeichert zu werden (Fig. 5). Eine extrahierte Schablone 74 ist jene Schablone, die die Basis für das optimale Mindestdistanz-Polygon bildet. Diese Schablone wird für den Beginn des weiteren Erkennungsprozesses verwendet, wie im Zusammenhang mit Fig. 5 beschrieben wurde.
[00109] Danach sieht der Frame-Extraktor 32 der Fig. 5 die jeweiligen Video-Frames vor, wie in Fig. 6 mit dem Bezugszeichen 32' gezeigt. Ein Ballgrößen-Vorhersage-Modul 76 empfängt die Video-Frames und kann verwendet werden, um die Ballgröße im aktuellen Frame durch Analysieren des Frame-Inhalts zu schätzen. Die Spielfeldgröße kann als Basis für diese Schätzung dienen, es können aber auch andere Methoden verwendet werden.
[00110] Unter Bezugnahme auf Fig. 7, welche sich auf die Szenen-Detektion bezieht (vergl. auch Modul 14b in Fig. 5) werden wiederum Video-Frames 32' geliefert, nämlich zu einem Block-SAD-Evaluierungs-Modul 78, welches die Block-SAD-Werte des aktuellen Frames berechnet, wenn keine Codierer/Decodierer-SAD-Informationen (siehe Modul 80 in Fig. 7) zur Verfügung stehen. Weiters wird die Hauptfarben-Information 28' durch das Hauptfarben-De-tektionsmodul 28 in Fig. 5 extrahiert. Diese Hauptfarben-Information wird im Farbeninformationsspeicher 82 gespeichert, um als Basis für den Schwellenwertvergleich zu dienen, welcher von einem Schwellenwertvergleichs-Modul 84 durchgeführt wird, welches auch feststehende Schwellenwert-Informationen erhält, vergl. Block 86 in Fig. 7. Genauer gesagt entscheidet das Schwellenwertvergleichs-Modul 84, ob ein Szenenwechsel stattgefunden hat, durch Vergleichen der Hauptfarben-Information der früheren Frames mit jener des aktuellen Frames. Wenn der Schwellenwert überschritten wird, hat sich die Hauptfarbe signifikant genug verändert, um einen Szenenwechsel zu melden, vgl. Block 88 in Fig. 7.
[00111] Im anderen Zweig der Fig. 7, der verwendet wird, um zu überprüfen, ob ein Szenenwechsel stattgefunden hat, werden die Ergebnisse der Block-SAD-Evaluierung (im Modul 78) im SAD-Speicher 90 gespeichert, um dem Block SAD-Informationen zur Evaluierung des dynamischen Schwellenwerts zu liefern, der im unteren Zweig der Fig. 7 zur Detektion eines Szenenwechsels verwendet wurde. Demgemäß errechnet ein Schwellenwert-Generator 92 den dynamischen Schwellenwert, indem er die Varianz und den Mittelwert der früheren Block-SAD-Werte nützt, und ein Schwellenwert-Vergleichs-Modul 94 ist vorgesehen, um dieselbe Aufgabe wie im anderen Zweig, vergl. Modul 84, durchzuführen, und mit einem Ergebnis, dass, wenn der dynamische Schwellenwert überschritten ist, entschieden wird, dass ein Szenenwechsel stattgefunden hat. Der Ausgang beider Schwellenwertvergleiche ist das Szenenwechseldetektions-Ereignis 88, welches dann benützt wird, um zu entscheiden, ob die Anfangsballsuche oder die fortgesetzte Bearbeitung verwendet werden sollte, um die Videoquelle zu bearbeiten, s. Schalter 24 in den Fig. 4 und 5.
[00112] Schließlich wird nun der Ballersatz zur Verbesserung der optischen Qualität nach einer Kompression beschrieben, vergl. auch Fig. 5, Module 26 und 50. Der verwendete Ersatzball muss groß genug sein und muss genügend Kontrast zu den umgebenden Pixeln im Frame haben.
[00113] Der verwendete Ersatzball wird aus zwei Eingabe-Parametern berechnet: der gewünschten, anzuwendenden Kompression, und der Größe des tatsächlich erkannten Balls. Für praktische Zwecke kann der Ersatzball so gewählt werden, dass er vollkommen symmetrisch und von der Größe 14/25 > österreichisches Patentamt AT 508 595 B1 2011-02-15 M X=M y=max(N X,K): N,<A (22) [00114] ist, wobei Nx die Größe des aktuell erkannten Balls ist und λ,Κ jeweils die obere bzw. untere Grenze für die Ersatzballgröße bezeichnet.
[00115] Somit ist die Ersatzballgröße gleich der aktuell erkannten Ballgröße, wenn Nx innerhalb der oberen Grenze Λ und der unteren Grenze λ liegt. Wenn die untere Grenze λ überschritten wird, wird die aktuell erkannte Ballgröße begrenzt und die Ersatzballgröße wird auf λ gehalten, um zu gewährleisten, dass der Ball groß genug ist, um nicht nach der Kompression zu verschwinden. Wenn die aktuelle Ballgröße die obere Grenze Λ überschreitet, ist der Ball groß genug, um nach der Kompression sichtbar zu sein, und ein Ersatz ist gar nicht notwendig. Daher erfolgt in diesem Fall keine Ersetzung. Um eine Verbesserung der optischen Qualität nach dem Ersatz zu gewährleisten, hängt der Faktor λ von der gewünschten Kompression auf eine Weise ab, dass gewährleistet wird, dass der Ball groß genug ist, um nach der Kompression nicht zu verschwinden. Für eine QCIF-Äuflösung wurde z.B. Λ = 10 und λ = 5 gewählt. Die Gleichung (22) ist gleich der Größe in y-Richtung, My = Mx.
[00116] Nach dem Bestimmen der Größe des Ersatzballs muss der letztere in Form eines Bildes geschaffen werden. Daher kann man den Ersatzball initialisieren durch Färben aller verfügbaren Pixel mit der Hauptfarbe. Der Ersatzball muss symmetrisch sein, und so werden z.B. alle Pixel mit der Euklidischen Distanz
(23) [00117] weiß gefärbt. Die Position (x0,yo) bezeichnet den Mittelpunkt des Ersatzballs.
[00118] Um den Ersatzball „natürlicher" aussehen zu lassen, kann der bisher erzeugte Ball durch ein Gauß'sches Filter der Größe [00119] M = \Mx/2~] geglättet werden. (["·] führt die so genannte „ceiling“-Operation durch) und die Varianz σ2 = 0,55. Das Gauß'sche Filter kann durch die Gleichung (4) generiert werden. Die Filterung kann wiederum mittels einer zweidimensionalen Faltung wie in Gleichung (3) durchgeführt werden. Ein erzeugter Muster-Ersatzball ist in Fig. 9 zu sehen, wo quadratisch geformte Pixel in Weiß in Bezug auf einen Ball vor der Gauß'schen Filterung (Bild (a)) und mit verschiedener Helligkeit (Farben) nach der Gauß'schen Filterung (Bild (b)) gezeigt sind.
LITERATURSTELLEN
[00120] [1] 0. Nemethova, M. Ries, E. Siffel, M. Rupp, "Quality Assessment for H.2 64 Coded Low-Rate and Low-Resolution Video Sequences", angenommen für IASTED Internat. Conf. on Communications, Internet and Inf. Technology (CIIT) 2004.
[00121] [2] A. Ekin, A.M. Tekalp, R. Mehrotra, "Automatic Soccer Video Analysis and Summari-zation", IEEE Transactions on Image Processing, Band 12, Nr. 7, S.796-807, Juli 2004 [00122] [3] X. Yu, C. Xu, H.W. Leong, Q. Tian, Q. Tang, K.W. Wah, "Trajectory-Based Ball Detection and Tracking with Applications to Semantic Analysis of Broadcast Soccer Video", Proc. of ACM Multimedia Conference, Berkeley, USA, 2.-8. Nov. 2003 [00123] [4] M. Leo, T.D. D'Orazzio, A. Distante, "Independent Component Analysis for Ball recognition in Soccer Images", Proc. of the IASTED International Conference on Intelligent Systems & Con-trol, Salzburg, Österreich, S. 351-355, 25.-27. Juni 2003 [00124] [5] T.D. D'Orazzio, M. Leo, M. Nitti, G. Cicirelli, "A real time ball recognition System for sequences of soccer images", Proc. of the IASTED International Conference On Signal Processing, Pattern Recognition, and Applications, Kreta, Griechenland, S. 207-212, 25.-28. Juni 2002 15/25

Claims (20)

  1. österreichisches Patentamt AT 508 595 B1 2011-02-15 Patentansprüche 1. Verfahren zur Vorbearbeitung von Frames aufweisenden Spiel-Videosequenzen, die einen Ball oder Puck als bewegliches Spielobjekt umfassen, zur Übertragung der Videosequenzen in komprimierter Form, dadurch gekennzeichnet, dass in einer Anfangssuche Frames anhand von Vergleichen der Frames mit gespeicherten Spielobjektmerkmalen nach dem Spielobjekt abgesucht werden, dass jeweilige Frames mit vorhergehenden Frames verglichen werden, um anhand von Unterschieden zwischen aufeinander folgenden Frames zu entscheiden, ob ein Szenenwechsel stattgefunden hat oder nicht, wobei im Fall eines Szenenwechsels wieder eine Anfangssuche gestartet wird, wogegen, falls kein Szenenwechsel detektiert wird, das Verfolgen des Spielobjekts durchgeführt wird, indem die Positionen des Spielobjekts in jeweiligen Frames bestimmt werden, dass mindestens für ein Frame eine dominante Spielfeldfarbe detektiert und durch eine einheitliche Ersatzfarbe ersetzt wird, so dass eine Spielfelddarstellung im Wesentlichen aus Punkten derselben Farbe besteht, und dass die Anwesenheit, Größe und/oder Form des detektierten Spielobjekts bestimmt wird, um gegebenenfalls das Spielobjekt durch ein vergrößertes Ersatz-Spielobjekt zu ersetzen.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zur Bestimmung der Differenz zwischen Frames und/oder zwischen einem Teil eines jeweiligen Frames und Spielobjekt-Schablonen das Verfahren der Summe der absoluten Differenzen (SAD) angewendet wird.
  3. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass, nachdem das Spielobjekt einmal in zwei aufeinander folgenden Frames erkannt worden ist, die nachfolgenden Frames nach dem Spielobjekt nur in einem interessierenden Bereich (ROI) durchsucht werden, welcher auf Grund einer Extrapolation in Übereinstimmung mit einer geschätzten Flugbahn des Spielobjekts bestimmt wird.
  4. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass ein interessierender Bereich von fester Größe verwendet wird und dass, falls das Spielobjekt nicht innerhalb dieses interessierenden Bereichs detektiert wird, eine Verdeckung des Spielobjekts angenommen wird, wonach der interessierende Bereich von Frame zu Frame um eine vorbestimmte Menge vergrößert wird, um das Spielobjekt nach seiner Verdeckung wieder zu detektieren.
  5. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Größe des Ersatz-Spielobjekts auf Basis der anzuwendenden Kompression und der Größe des tatsächlich in den jeweiligen Frames erkannten Spielobjekts gewählt wird.
  6. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Ersatz-Spielobjekt einem Gauß'schen Filtervorgang unterzogen wird, bevor es in das entsprechende Frame eingesetzt wird.
  7. 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass nach dem Schritt der Detektion der dominanten Farbe und deren Ersetzung eine Bildfilterung unter Verwendung eines Gauß'schen Filters, vorzugsweise eines zweidimensionalen Gauß'schen Filters, durchgeführt wird, um die jeweiligen Bilder zu glätten.
  8. 8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass aktualisierte Objektmerkmale auf der Basis des alten Ersatz-Spielobjekts und der tatsächlichen Spielobjekt-Größe, wie sie in den dem jeweiligen aktuellen Frame vorausgehenden Frames detektiert wurden, definiert werden.
  9. 9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass für die Anfangssuche ein Satz von Spielobjekt-Schablonen durch einen Schablonen-Generator anhand von empirisch vorbestimmten und gespeicherten Schablonen mittels Gauß'scher Filterung und/oder Unschärfe-Behebung erzeugt wird. 16/25 österreichisches Patentamt AT 508 595 B1 2011-02-15
  10. 10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass Spielfeldlinien durch einen Kantendetektionsschritt während des Verfolgens des Zielobjekts detek-tiert werden, um solche Spielfeldlinien aus Entscheidungen, die das verfolgte Zielobjekt betreffen, auszuschließen.
  11. 11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die dominante Spielfeldfarbe durch eine gewichtete durchschnittliche Ersatzfarbe ersetzt wird.
  12. 12. System zur Vorbearbeitung von Frames aufweisenden Spiel-Videosequenzen, die einen Ball oder Puck als bewegliches Spielobjekt umfassen, zur Übertragung der Videosequenzen in komprimierter Form, gekennzeichnet durch ein Anfangssuche-Modul (12), das eingerichtet ist, um das Spielobjekt in Frames anhand von Vergleichen der Frames mit gespeicherten Spielobjektmerkmalen zu suchen, durch einen Szenenwechsel-Detektor (14b), der eingerichtet ist, um ein jeweiliges Frame mit einem jeweiligen vorhergehenden Frame zu vergleichen und anhand von Unterschieden zwischen den aufeinander folgenden Frames zu entscheiden, ob ein Szenenwechsel stattgefunden hat oder nicht, um das Anfangssuche-Modul (12) im Fall eines Szenenwechsels zu aktivieren, oder um eine Spielobjekt-Verfolgungseinheit (18) zu aktivieren, falls kein Szenenwechsel detektiert wird, wobei die Spielobjekt-Verfolgungs-einheit eingerichtet ist, um die Positionen des Spielobjekts in jeweiligen Frames durch ein Dominantfarben-Detektions-und Ersatz-Modul (14a) zu bestimmen, das eingerichtet ist, um eine dominante Spielfeldfarbe zu detektieren und sie durch eine einheitliche Ersatzfarbe zu ersetzen, und durch ein Spielobjekt-Ersatzmodul (26), das eingerichtet ist, um ein zu kleines Spielobjekt durch ein vergrößertes Ersatz-Spielobjekt zu ersetzen.
  13. 13. System mach Anspruch 12, dadurch gekennzeichnet, dass die Spielobjekt-Verfolgungseinheit (18) eingerichtet ist, um in aufeinander folgenden Frames nach dem Spielobjekt, sobald es erkannt worden ist, nur innerhalb eines Teils der Frames, dem interessierenden Bereich (ROI) zu suchen, wobei letzterer auf Grund einer Extrapolation der Spielobjekt-Positionen in zwei vorhergehenden Frames in Übereinstimmung mit einer geschätzten Flugbahn des Spielobjekts festgelegt wird.
  14. 14. System nach Anspruch 13, dadurch gekennzeichnet, dass ein interessierender Bereich (ROI) einer festen Größe verwendet wird, und dass, falls das Spielobjekt nicht innerhalb dieses interessierenden Bereichs detektiert wird, eine Verdeckung des Spielobjekts angenommen wird, wonach der interessierende Bereich von Frame zu Frame um ein vorbestimmtes Maß vergrößert wird, um das Spielobjekt nach seiner Verdeckung wieder zu detektieren.
  15. 15. System nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass die Größe des Ersatz-Spielobjekts auf Basis der anzuwendenden Komprimierung und der Größe des tatsächlich in den jeweiligen Frames erkannten Spielobjekts gewählt wird.
  16. 16. System nach einem der Ansprüche 12 bis 15, dadurch gekennzeichnet, dass das Ersatz-Spielobjekt einem Gauß'schen Filtervorgang unterzogen wird, bevor es in das entsprechende Frame eingesetzt wird.
  17. 17. System nach einem der Ansprüche 12 bis 16, gekennzeichnet durch ein Bild-Filtermodul (14c), welches eingerichtet ist, um eine Bildfilterung unter Verwendung eines Gauß'schen Filters, vorzugsweise eines zweidimensionalen Gauß'schen Filters, durchzuführen, um die jeweiligen Bilder nach der Dominanzfarben-Detektion und dem Ersetzen zu glätten.
  18. 18. System nach einem der Ansprüche 12 bis 17, dadurch gekennzeichnet, dass aktualisierte Objektmerkmale auf der Basis des alten Ersatz-Spielobjekts und der tatsächlichen Spielobjekt-Größe, wie sie in den dem jeweiligen aktuellen Frame vorausgehenden Frames detektiert wurden, definiert sind. 17/25 österreichisches Patentamt AT 508 595 B1 2011-02-15
  19. 19. System nach einem der Ansprüche 12 bis 18, gekennzeichnet durch einen Schablonen-Generator (48), der eingerichtet ist, um im Fall einer Anfangssuche neue Spielobjekt-Schablonen anhand von empirisch vorbestimmten und gespeicherten Schablonen mittels Gauß'scher Filterung und/oder Scharfeinstellung zu erzeugen.
  20. 20. System nach einem der Ansprüche 12 bis 19, dadurch gekennzeichnet, dass Spielfeldlinien durch einen Kantendetektionsschritt währen des Verfolgens des Zielobjekts detektiert werden, um solche Spielfeldlinien aus Entscheidungen, die das verfolgte Zielobjekt betreffen, auszuschließen. Hierzu 7 Blatt Zeichnungen 18/25
AT0953805A 2005-10-21 2005-10-21 Vorbearbeitung von spiel-videosequenzen zur übertragung über mobilnetze AT508595B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/AT2005/000421 WO2007045001A1 (en) 2005-10-21 2005-10-21 Preprocessing of game video sequences for transmission over mobile networks

Publications (2)

Publication Number Publication Date
AT508595B1 true AT508595B1 (de) 2011-02-15
AT508595A4 AT508595A4 (de) 2011-02-15

Family

ID=36215480

Family Applications (1)

Application Number Title Priority Date Filing Date
AT0953805A AT508595B1 (de) 2005-10-21 2005-10-21 Vorbearbeitung von spiel-videosequenzen zur übertragung über mobilnetze

Country Status (2)

Country Link
AT (1) AT508595B1 (de)
WO (1) WO2007045001A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0911189A2 (pt) * 2008-04-11 2018-05-22 Thomson Licensing sistema e método para melhorar a visibilidade de um objeto em uma imagem digital
WO2009126261A2 (en) * 2008-04-11 2009-10-15 Thomson Licensing System and method for enhancing the visibility of an object in a digital picture
GB2469074A (en) * 2009-03-31 2010-10-06 Sony Corp Object tracking with polynomial position adjustment
KR20120042849A (ko) 2009-07-20 2012-05-03 톰슨 라이센싱 스포츠 비디오에서의 파 뷰 장면들에 대한 비디오 프로세싱을 검출하고 적응시키기 위한 방법
US20120114184A1 (en) * 2009-07-21 2012-05-10 Thomson Licensing Trajectory-based method to detect and enhance a moving object in a video sequence
KR102454725B1 (ko) 2016-09-09 2022-10-13 엘에스일렉트릭(주) 그래픽 객체 편집 장치
JP7211492B2 (ja) * 2019-03-29 2023-01-24 日本電気株式会社 撮像システムおよび撮像方法
US11130060B2 (en) * 2019-10-17 2021-09-28 Dell Products L.P. Lighting effects for application events

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4179704A (en) * 1977-12-27 1979-12-18 Cbs Inc. Television system for displaying and recording paths of motion
US5513854A (en) * 1993-04-19 1996-05-07 Daver; Gil J. G. System used for real time acquistion of data pertaining to persons in motion
US5498000A (en) * 1995-04-17 1996-03-12 Cuneo; Gregory Goaltender simulator system
US5564698A (en) * 1995-06-30 1996-10-15 Fox Sports Productions, Inc. Electromagnetic transmitting hockey puck

Also Published As

Publication number Publication date
AT508595A4 (de) 2011-02-15
WO2007045001A1 (en) 2007-04-26

Similar Documents

Publication Publication Date Title
AT508595B1 (de) Vorbearbeitung von spiel-videosequenzen zur übertragung über mobilnetze
Mercat et al. UVG dataset: 50/120fps 4K sequences for video codec analysis and development
EP2229786B1 (de) Verfahren zur bestimmung einer wahrnehmungsqualität
DE69911569T2 (de) Verfahren zur Szenenänderungs- und Überblendungensdetektion für Videosequenzindexierung
CN103929685B (zh) 一种视频摘要生成及索引方法
Dimou et al. Scene change detection for H. 264 using dynamic threshold techniques
WO2011053255A1 (en) Methods, devices, and computer readable mediums for processing a digital picture
EP1563456A2 (de) Verfahren und anordnung zur detektion einheitlicher farbsegmente
EP1599835A1 (de) Verfahren und anordnung zur videocodierung, wobei die videocodierung texturanalyse und textursynthese umfasst, sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
GB2617555A (en) Image processing method, apparatus, computer program and computer-readable data carrier
DE112018002109T5 (de) Systeme und verfahren zum codierergeführten adaptiven qualitätsrendern
Ries et al. Motion based reference-free quality estimation for H. 264/AVC video streaming
DE69918533T2 (de) Verfahren zur detektion von übergängen in abgetastenen digitalen videosequenzen
AT509032B1 (de) Verfahren und system zur videoqualitätsschätzung
CN113674165A (zh) 图像处理方法、装置、电子设备、计算机可读存储介质
CN113518220B (zh) 基于导向滤波和边缘检测的帧内划分方法、装置及介质
Zhao et al. Fast CU partition decision strategy based on human visual system perceptual quality
Meessen et al. Scene analysis for reducing motion JPEG 2000 video surveillance delivery bandwidth and complexity
CN112533024A (zh) 一种人脸视频处理方法、装置及存储介质
CN104469361B (zh) 一种具有运动自适应性的视频删帧取证方法
WO2019015877A1 (de) Verfahren und vorrichtung zur bewertung von bildausschnitten für eine korrespondenzbildung
Babić et al. Real-time no-reference histogram-based freezing artifact detection algorithm for UHD videos
CN112165619A (zh) 一种面向监控视频压缩存储的方法
AT509759B1 (de) Verfahren zum verarbeiten von sport-videosequenzen
CN111193911B (zh) 大数据视频的速传处理方法和装置