Under the bonnet: The Two Stream Quiz
On 26th June we jointly won the 'Best Use of Interactive TV' at the New Media Age Effectiveness awards, with our colleagues in BBC Vision Multiplatform Studios; the award was for an interactive service called 'How Green Are You?' Here's the blurb: 'The Vision team produced a visually stunning quiz based on the BBC Two Series "It's Not Easy Being Green". The application allowed viewers to interact by scoring themselves on their environmental attitudes. Through seamless video switching, positive or negative feedback was given before presenting the viewer with their own individual "green audit" scores.'
This is a good time to go under the bonnet for this show. In TV Platforms, we've built a collection of authoring tools (or products), one of which we call the Two Stream Quiz. This product has been used for many shows, such as How Green Are You, Spooks, Child of our Time, and Doctor Who: Attack of the Graske.
The proposition consists of two broadcast video streams combined with an application running in your set-top-box. By careful editing of the videos and synchronisation of the application UI, the idea is to give the viewer the illusion of a seamless personalised TV stream. (It's not meant to be obvious it's implemented using two streams, although astute viewers will probably figure that out themselves.) It's akin to a broadcast version of laser disk games pioneered in the early 80s, with DVDi disks being the modern equivalent.
We've been evolving the product in an iterative manner since 2002. Initially a bespoke application, the graphics, timings and question data are now fully configurable by the production team with little engineering involvement. Version 5 was built for a show called 'Making Slough Happy', which added question-specific application graphics and audio switching as well as video switching. This version was later used by Doctor Who.
If you'd like to see a real-life Two Stream Quiz, then take a peek at the Attack of the Graske game on the Doctor Who site. This Flash implementation is independent of ours, however it nicely illustrates the concept, and the video source is the same as the version broadcast a couple of years ago.
The video production is handled by the production team. For stream switching events, the platform latencies need to be thought about at production time, as the different platforms and set-top-boxes handle stream switching differently. The video also needs to be prepared in such a way to leave room for application graphics, which are applied by the set-top-box at transmission. Due to alignment issues between the video and application graphics, the video is produced in 4:3.
On-screen application graphics are produced by our design team. As normal, individual graphics are created for every platform, as the formats and set-top-box capabilities are different.
We use a commercial authoring tool to generate the event data and playlist. A video timeline is used to pinpoint the event timings. The tool also provides a UI used to feed in the application data used for scoring and thresholds for stream switching.
We've built two set-top-box applications, one for each platform the Two Stream Quiz supports. They are implemented in C and MHEG, both as state machines. The application chiefly handles
- Remote control presses from the viewer
- Synchronisation events from the broadcast carousel
The synchronisation events instruct the application when a question is playing, when to do a stream switch, when to put up the score, etc. We're now at version 5 of the Two Stream Quiz - there are many different types of questions (e.g. one-stream questions, dummy questions) and video stream switches. Some switches are based on the answers to individual questions; others are based on aggregate scores over several questions. We found that state machines were the best way to handle the complexity of this and to attempt to retain the code readability.
The synchronisation events must be prepared at production-time so that they can be played out tightly in sync with the video. The middleware of our C application (OpenTV) requires compiled resource files. The latency would be too great if these were compiled at transmission, so these are published and compiled en masse as the last step of production.
A playout UI, which we've named the Sync Controller, is used by the playout director to start the application event playlist at the same time as the broadcast videos. A critical component of the playout is the SyncEngine, a multi-threaded Java application. This runs though the event play list, an XML file, and issues HTTP requests to other components of the playout chain which then inject the pre-compiled event data into the broadcast carousels. The SyncEngine includes adjustments for platform latencies.
What have we learnt from this?
Our video playout and application event playout are essentially independent, but happen to be at the same time. This generally works, but does not deal with regional variances in latency. Tighter integration between the video and application playout would resolve this. Features in the UK Profile 1.06 would also improve synchronisation between the video and application on supporting set-top boxes.
As we added new features, the testing and production effort grew. The features we added were determined by how much build time we had available; it's fair to say the testing and production implications of the new functionality weren't considered. Version 5 of the Quiz offered the richest viewer experience and the most flexibility for the designers, however due to the complexity use fell back to Version 4 after a few outings. Version 5 added audio switching which was particularly tricky to test. The production steps could also be simplified if we were to make use of the edit decision list (EDL). I suspect there's also some scope here from learning about how subtitling and DVD games are produced.
From a non-technical perspective, the Two Stream Quiz nicely illustrates what can be achieved when technology and content are combined in such a way to create a novel service, which we're very proud of.
List of shows
2002 - Pyramid - first concept, bespoke application, Life of Mammals, Walking with Cavemen
2003 - Death in Rome - Two Stream Quiz v1
2004 - Crisis Command (never aired) - Two Stream Quiz v2, Personality Test - Two Stream Quiz v3
2005 - Dick n Dom, How To Sleep Better, Child of our Time, Discovering Ancient Egypt, Short Change, Spooks Training - Two Stream Quiz v4, Spooks Mission, Killer Dinosaurs, Are You Younger Than You Think - our first - and only - live two stream quiz, Top of the Pops, Making Slough Happy - Two Stream Quiz v5, Doctor Who (Attack of the Graske)
2006/7/8 - Smile, How To Remember, Not Easy Being Green, Space Pirates, ChuckleVision
The following comments were originally posted on the BBCi Labs blog
At 2:02pm on 16 Jul 2008, RobertBFC wrote:
With many non digital tick boxes now failing to work, isn't it time the BBC stopped supporting them given they have not been approved by BERR/DTG as guaranteed to work after switch over.
All the digital tick boxes contain MHEG 5 v1.06 and if the BBC used this it would improve the interactivity provided on freeview which is a must given the bandwidth restrictions.
The BBC must not be held to ransom by manufacturers who in the past have produced boxes with standards not approved by the DTG. It is not your fault if retailers have sold equipment to customers which is not fit for purpose and it's not fair on those who have taken the advice of buying boxes with the "tick" only to be told that the improved interactive features that the box can support will not be offered by the BBC.
If these boxes struggle after you use the new MHEG code then surely it's down to the retailers to explain why they sold these boxes in the first place, not the BBC to explain why they are using MHEG code which since 2006 has had the full support of the DTG in being used on freeview. Further to this the DTG offered manufacturers the chance to provide over the air downloads to their boxes to make their non-compliant boxes compliant, how many manufacturers took up this offer - ZERO.
Part of the problem I feel is that the broadcasters seem to be too scared to highlight the fact that not every box being sold as freeview compatable really is and unless this is given widespread publicity, we will continue to find people making the switch to digital using non-compliant boxes and giving you guys who make the applications the dillema of choosing to support them or not because as you must realise they are a big chunk of your users.
I hope you take this issue seriously and use this opportunity to share this issue with your colleagues at Watchdog as issues like this one will become more and more common.
At 1:41pm on 18 Jul 2008, Andrew Bowden wrote:
Hello there Robert.
The BBC is charged with making its services available to as many people as possible so in BBCi we do our best to support as many set top boxes and iDTVs as possible.
Where there are issues with a specific set top box, we try to work with manufacturers to sort those problems. We have good relationships with many manufacturers and middleware providers, and pass on as much information as we can about those issues, when they arise, regardless of the age of the set top box.
In certain circumstances we do block certain set top boxes from accessing areas of the service if the boxes cannot handle them, and therefore creates an undesirable user experience (e.g. crashing the set top box).
Blocking a box is not a decision which we take lightly because behind every blocked box is a licence fee payer who can't use the services they've paid for. In general, we prefer to not to block particular boxes - older set top boxes may struggle with some areas of our services, however we'd rather give our users the choice of whether to proceed or not, if we can. Thankfully such situations are rare - the vast majority of set top boxes and iDTVs on the market do actually handle our services very well.
On the specifics of MHEG versions, there's a large number of older set top boxes in homes which run MHEG 5 v1.05 rather than the latest version, 1.06. As time goes by, those 1.05 boxes will reduce, however it's likely to take years before they are gone completely. What we can do is detect whether a set top box is MHEG 5 v1.06 compliant, and if it is, use the extra functionality that 1.06 offers.
A good example of this is the CBBC Studio Runners game, which was on air in 2007 - the game had several visual enhancements which were only viewable on a newer set top box. Older boxes saw a slightly different version of the game. The game play was the same on both.
However for many of our services, MHEG 5 v1.06 wouldn't offer us any particular major benefits to the user experience, hence we have stuck with 1.05.
Hope that helps
Senior Development Producer, BBCi
At 12:42pm on 22 Oct 2008, dgc1948 wrote:
This is more of a question regarding a response from my DTV's manufacturer following a question to them on an issue I have with my TV and the Interactive News pages - brought about, partly, by the fact that there is no indication of dates of any changes appearing in the above article.
The problem is that when viewing the Interactive News pages and I attempt to go to full-screen by the "0" key, the TV freezes and then resets (only occurs on the BBC's pages, ITV is fine when going to full-screen).
Toshiba's quote on this is:
"...is a result of the broadcasters change from MHEG version 1.05 to 1.06."
and that my TV:
"...was designed to V1.05 specification, when operating on V1.06 the particular issue reported cannot be simply remedied by a FW upgrade."
The problem started around the time near the start of the Olympic Games (late July/early Aug 08).
Are you able to confirm whether any changes were made to the MHEG profile in use at/around this time that might cause such an issue? (I'm not aware of any other problems).
And is it likely that a firmware upgrade, as Toshiba indicates, would NOT cure the problem?