From Movie to Comics, Informed by the Screenplay
We propose novel ways of employing information to turn a movie into a comic strip. A movie’s screenplay offers important clues to segment the film into scenes and to create different types of speech balloons. A special layout algorithm places all bubbles on a page considering the reading order of comics and detected faces. In addition to employing this information, our software offers novel layout helpers.
The software results from the topic of my Diploma Thesis "Development of a software for automatic generation of comics from films" (original title in German: "Entwicklung einer Software zur automatischen Generierung von Comics aus Filmen"). We presented this work as a poster on this year’s Siggraph Conference on Computer Graphics in San Diego.
Introduction:
Comics became more and more popular in the last years. Even some famous comics were made into movies like "Spiderman", "Superman" or "300". So why not make it the other way round? There is a strong relation between movies and comics. Thanks to standard screenplays’ highly structured "studio format", the idea came up to merge movies and its scripts to comics with the help of a software.
Several steps were performed:
- Screenplay Analysis
- Balloon Creation
- Scene Detection
- Face Detection
- Balloon Placement
- Cartoonize
- Find Image Detail
- Layout Page
Furthermore there are a number of ways for User Interaction. The Results are convincing: in a few minutes and with little user intervention a movie is turned into a comic which can finally be exported as a PDF file.
- Software Details
- Technical Video
* © ACM, 2007. This is the author’s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published on the SIGGRAPH 2007 CD-ROM and DVD-ROM.
- Poster on Siggraph
- Contact
Screenplay Analysis:
A screenplay is divided into scenes where every scene consists of a scene header with information about the location and time of day. A further short description part gives special information about the current situation and characters of the scene. Dialogues and the name of the characters are centered and can additionally have some directions written in brackets. This standard structure of screenplays help to employ textual analysis at several stages:
- The scenes’ dialogue is extracted and turned into different kinds of speech balloons.
- Verbal directions such as whispers are recognized and mirrored by corresponding type and speech balloon styles.
- If a character’s dialogue is interrupted by actions, its different parts are used to form a double-burger style speech balloon.
- Verbs in action lines such as The door bell rings. are recognized and turned into noise balloons.
Balloon Creation:
Directions and actions of the screenplays’ text describes the shape and outline of a bubble. Every bubble is a parametric vector shape. Thought balloons can be added by hand since a screenplay only supports spoken words. The zigzag or wavelike outline of a shout or thought balloon is created throug a random-number generator.
Scene Detection:
Since most movie scenes comprise lots of cuts, their boundaries cannot be found directly by looking for pixel-wise discontinuities. Thus, to synchronize the dialogue of the screenplay with the movie’s images, we:
- count the text lines of the scenes in the screenplay to build a first guess on the timing,
because it’s supposed that one page in the script matches to one minute in the movie, - adjust the scene boundaries in an iterative process by clustering HSL color histograms.
As a result the movie is now segmented in as much scenes as the screenplay. The text fits to the images nearly perfect.
Face Detection:
To avoid placing the bubbles ont a character’s face, a simple face detection is performed on each extracted movie image. Skin-like pixels are detected using a skin filter proposed be Fleck et al. A connected-component labeling defines possible face region. Size thresholds decide if a face region has to be unoccluded during the balloon placement.
Balloon Placement:
A special layout algorithm is responsible for placing the balloons in a typical reading order:

Balloons are never placed on potential face regions.

Most bubbles are arranged from top left to bottom right in the same panel never allowing a balloon to extend past the upper edge of an earlier one.

Voice-over balloons are always aligned at the top left corner (or the bottom right corner, if there is still such a balloon in the panel).

The prong of off-screen balloons points to the nearest panel side.
Cartoonize:
The frames can be cartoonized analogously to Winnemöller et al. with different parameter settings.
- The bilateral filtering abstracts image details by preserving the edges.
- Edges are detected by using a Difference-of-Gaussian analysis.
- Color are reduced with a color quantization.
- Combinig the edge image with the quantized image gives a cartooned image.
Find Image Detail:
The frame’s portion that is initially used shows as much of the
frame as possible without changing the original aspect-ratio of the
image. The user can pan and zom interactively to change the
proposed section.
Layout Page:
Panels are arranged in a grid-based layout consisting of several rows and columns. Initially, all panels have the same size. The user can adjust the column and row spans for each panel. The layout is updated automatically, preserving the temporal order.
User Interaction:
There are a number of ways for user interaction. The user can:
- change the frame’s portion by zooming and panning interactively
- adjust height and width of each panel
- edit almost every parameter of the bubbles (like font, text, outline, color, position, size, etc.)
- add and remove special speech balloons and panels
- specify the endpoint of each balloon’s prong with one mouse click
- refine the detected scene boundaries
- …
Results:
- Less than one minute is needed to load and process a 12 minutes’ DVD-quality movie which includes scene detection, face detection and the generation and placement of balloons.
- The textual analysis of the screenplay is fast and more than 90% accurate.
- The scene boundary detection has a hit rate of more than 50% so only little user intervention is required.
- Fine-tuning the automatic results may take only a quarter of an hour to a full hour depending on the personal preferences.
Movie: "Dow Jane Index" © Hamburg Media School
Movie: "Dow Jane Index" © Hamburg Media School
Movie: "Dow Jane Index" © Hamburg Media School
Movie: "Fight Club" © Art Linson Productions
Movie: "Kill Bill" © Miramax Films
Movie: "Lord of the Rings" © New Line Cinema
Software Details:
- Windows Desktop Application
- Developped in C# for Microsoft .NET Framework 2.0
Poster on Siggraph:
Ausgezeichnete Geschäftsidee
Ende September wurde ich für meine Geschäftsidee "Aqua Music" beim Ideenwettbewerb CAMPUSideen der Hochschulintiative BRIDGE in der Kategorie "Neue Medien" mit dem ersten Preis ausgezeichnet.
Das Konzept "Aqua Music" beschreibt den Verleih von wasserdichten Gehäusen für MP3-Player direkt in den Schwimmbädern. Das Schwimmen soll dadurch attraktiver werden.
Ich war früher selbst jahrelang Leistungsschwimmerin und fand es immer ziemlich langweilig, wenn man fast täglich mindestens 1,5 Stunden geschwommen ist – ohne eine Art Unterhaltung. Meist habe ich mir selbst etwas vorgesungen oder irgendwelche komischen Rechnungen im Kopf durchgeführt. Gewünscht hätte ich mir aber vielmehr Musik.
Heutzutage benutzen viele Menschen tragbare MP3-Player – ich selber auch. Sei es beim Laufen, Radfahren oder in der Bahn. Als ich eines Tages zum Schwimmen gefahren bin, stellte sich mir die Frage, ob es nicht auch schon wasserdichte Gehäuse für MP3-Player gäbe. Ich habe im Internet recherchiert und herausgefunden, dass es diese wirklich gibt. Daraufhin ist mir die Geschäftsidee zu "Aqua Music" eingefallen: Warum sollen nicht alle Schwimmer die Möglichkeit haben, ihre eigene Musik unter Wasser zu hören?
Zu dem Zeitpunkt belegte ich gerade einen Online-Kurs der Hochschule Bremen zum Thema "Existenzgründung". Dafür entwickelte ich dann den Business Plan zu "Aqua Music". Dieser wurde beim Wettbewerb eingereicht. Ich hätte nicht gedacht, dass die Idee so gut ankommt; dafür freue ich mich jetzt umso mehr.
Weitere Infos:
Walking With Pens
Im Frühjahr 2005 entwickelte ich zusammen mit Philipp Kolhoff auf Anregung und unter Anleitung unseres Professors ein Verfahren zur Aufzeichnung einer Ganganimation mit Hilfe eines Grafiktabletts
und zwei Stiften.
Dabei speichert eine eigens entwickelte Software sowohl
die Position der "Schritte" als auch die Verweildauer des
"Fußes" und die zeitlichen Abstände zwischen den Schritten.
Über den Neigungswinkel der Stifte erkennt sie zudem die
Schrittrichtung. Ist die Aufnahme beendet, liegen alle Daten in einer kleinen, lesbaren STP-Datei vor. STP ist ein Dateiformat, welches eigens für das Character Studio in 3ds Max entwickelt wurde.
Für den Import müssen die Informationen aus der STP-Datei nicht weiter bearbeitet werden: Man lädt diese einfach als Step-Datei ins Character Studio und erhält sofort eine
Keyframe-Animation. Andere 3D-Programme, die dieses Dateiformat nicht unterstützen, benötigen die Hilfe eines Plugins, welches aus der Datei eine Keyframe-Animation generiert. Wir haben dazu ein Cinema4D-Plugin geschrieben, welche zunächst drei Pseudo-Objekte erzeugt; ein Objekt für den rechten Fuß, eines für den linken Fuß und eines für das Becken der 3D-Figur.
Mit deren Hilfe lassen sich die Zielobjekte eines geriggten 3D-Charakters mit Inverser Kinematik steuern. Das Plugin liest die Positionen aus der Datei und erzeugt für jeden gespeicherten Schritt Keyframes für die Fußobjekte.
Um den Sprung von der 2D- zur 3D-Welt zu schaffen, generiert das Plugin vorab automatisch eine Aufwärtsbewegung der Füße zwischen den einzelnen Schritten. Es fügt jedem Keyframe Tangenteninformationen hinzu, so dass ein kurvenförmiger Verlauf der Höhe entsteht – die 3D-Figur hebt und senkt die Füße. Die Bewegung des Beckens wird aus der Bewegung des gegenwärtig betrachteten Fußes ermittelt. Für jeden Schritt erzeugt das Plugin einen Keyframe für das Beckenobjekt.


Diese Idee haben wir als Short Paper bei den Eurographics 2005 in Dublin eingereicht und dort auch präsentiert.


In der 03:06-Ausgabe (Mai/Juni) der Digital Production veröffentlichten wir einen 2-seitigen Artikel über "Walking with Pens". Die Aufnahmesoftware und auch das Cinema4D-Plugin sind auf der Heft-DVD vorhanden.
Webracer 3D
Während meines Praxissemesters bei der Firma KING Art in Bremen entwickelte ich ein 3D-Spiel namens "Webracer 3D". Dies sollte die Fortsetzung des beliebten 2D-Flashspiels Webracer 2 werden.
Für die Umsetzung benutzte ich das Programm Quest3D, ein Echtzeit-3D-Entwicklungstool, mit dem es möglich ist, über 1 Million Polygone bei 30 Frames pro Sekunde zu rendern. Daten aus diversen 3D-Programmen wie AutoCAD, 3ds Max, Lightwave oder Maya können importiert werden. Anschließend werden Aktionen in der 3D-Szene definiert. Dafür stehen beispielsweise Kameras, Lichter, verschiedene Bedienelemente und Timeline-Animationen zur Verfügung.
Man kann eine komplett in Echtzeit dargestellte 3D-Szenerie ins Leben rufen, die durch eine interaktive Bedienung (per Maus, Keyboard oder Joystick-Peripherien) betrachtet und verändert werden kann. Interessant ist, dass man als Endprodukt entweder eine .exe-Datei oder aber auch eine Anwendung für den Browser erhält.
Ursprünglich war Quest3D für den Einsatz bei Architekten und Bauträgern gedacht. Mittlerweile wird es zunehmend für die Spielentwicklung genutzt, da man damit komplexe 3D-Spiele in kürzester Zeit realisieren kann. Man programmiert
nun nicht mehr alle einzelnen DirectX-Funktionen zu Fuß, um 3D-Objekte darzustellen oder um Licht, Material oder Kameras zu positionieren.
Diese Funktionen sind im Programm bereits enthalten – in Form von sogenannten "Channels". Das sind Blöcke, die in ein Fenster per Drag&Drop gezogen werden. An diesen Blöcken befinden sich Knotenpunkte: die "Childs". Mit diesen Punkten werden nun Verbindungen zwischen verschiedenen Channels gezogen.
Die Programmierung ist "grafisch", das Programm greift dabei auf schon vorhandene DirectX-Funktionen zurück. Dadurch ist die Entwicklungszeit viel schneller. Zusätzlich kann man sich eigene Channels mit Hilfe des SDK’s in C++ programmieren.
Nach 5 Monaten entstand eine erste Beta-Version von Webracer 3D. Es war möglich, Rennen und Veranstaltungen auf verschiedenen Strecken zu spielen, gegen computergesteuerte Gegner. Mit dem gewonnenen Geld hatte man die Möglickeit, sein Auto zu verbessern. Diese Verbesserungen sowie verschiedene Wettereinstellungen wirkten sich auf das Fahrverhalten aus. Mit Hilfe der Physik-Engine ODE fühlte sich das Fahren "echt" an.



Breakin 360
Im Sommer 2004 entwickelte ich zusammen mit Philipp Kolhoff ein Computerspiel für die Firma KING Art aus Bremen. Das Spiel ist die Abwandlung des bekannten Breakout-Spiels.
Normalerweise muss der Spieler mit einen Schläger einen Ball so ablenken und bewegen, dass dieser so viele Steine wie möglich zerstört. Der Schläger befindet sich am unteren Bildschirmrand, die Steine oben.
Bei Breakin 360 ist alles kreisförmig angeordnet: der Schläger bewegt sich auf einer Kreisbahn um die Steine. Die Steine selber befinden sich in der Mitte des Spielfeldes und müssen mit dem Ball zerstört werden.
Das Spiel haben wir mit Adobe (f.k.a. Macromedia) Director entwickelt.
Es wurde mittlerweile auf verschiedenen amerikanischen Spieleportalen zum Verkauf angeboten. Jetzt hat der Publisher Frogster Interactive Pictures die Rechte am Spiel erworben und veröffentlicht es u.a. auch in Spanien und Italien.













