A Brief History of ATSC in Media Center

In the beginning there was NTSC in Freestyle (Media Center 2002), and it was good.  Media Center supported the #1 market and proved that computers could do a great job recording television, pausing Live TV, and organizing recordings.  With support for one tuner under our belt and an enthusiastic user base, we moved forward with Harmony (Media Center 2004) to a more mature, flexible and polished product that supported dual NTSC or PAL tuners, opening up the European, Asian and Australian marketplaces.  A few intrepid souls figured out how to hack together ATSC support into Harmony using little-known interfaces and scarce hardware like the VBox 110.

Between the release of Harmony and Symphony (Media Center 2005), ATSC demand increased by leaps and bounds, though still smaller than the NTSC base by far.  To this day, only a very small percentage of Media Center users actually use ATSC, although it's a matter of some discussion whether that number is small because the number of HDTVs is small, or because Media Center's support is... less than optimal.  In any case, by the release of Symphony the user community was clamoring for ATSC support without hacks, and was disappointed when Symphony shipped without it.  An update quickly followed, though, and Symphony Rollup 1 with HDTV Support was released as a free update through Windows Update and the Microsoft Download Center. The changes in Emerald (Rollup 2) and Diamond (Windows Vista) did/will not not substantively change the architecture of ATSC, so what we have today will more or less be the way it works for another couple of years.

••• design decisions

When we (speaking in generalities here, since I was not a member of the team at the time) first investigated how to include ATSC into the product, there were several major hurdles standing in the way.  The first was a consequence of our decision to use the VMR (Video Mixing Renderer) instead of the deprecated Overlay Mixer for rendering video.  Overlay rendering differs from mixing in the way that video is prepared for display.  In overlay mode, the video is literally painted over the top of whatever else is being rendered.  In mixing mode, "surfaces" with video or other graphics are blended together, either in software or hardware-accelerated, prior to rendering on the monitor.  The advantage of mixing mode is greatly increased flexibility in what you can display at the cost of performance.  It takes a lot more horsepower to process all those pixels, especially with alpha (transparency) and 3D effects.  99% of the video hardware on the market today uses a form of overlay mode, which drastically reduces the hardware requirements (e.g. no 3D hardware required), but hamstrings them when viewed side-by-side with the sort of effects you can get with mixing.  The semi-transparent menus on top of video that you see in Media Center that give it such a cool look are just not possible with overlay mode.  All that alpha blending and those 3D effects come at a hefty cost, though.  Media Center has to work many times harder to get the video to the screen, even when no special effects are on-screen at the time.  That, in a nutshell, is why Media Center requires not just an OK video card to shine.  And a faster CPU.  As a result of the increased power needed to render video, and with the hardware available to consumers in 2000-2002, it wasn't really feasible to offer HD with the first couple of releases.

Even if the video could keep up (which it could on higher-end systems, even in 2002), there was another difficulty: Guide data.  The problem is that when you get multiple lineups (the term we use for the programming information associated with the set of channels available on a given medium in a geographical area), merging them into a single lineup and making it easy for the user is not an easy solution.  The decision was made to punt it until demand was increased, and to stick with a simpler homogenous lineup, rather than the more advanced heterogeneous lineup that would be required to support both NTSC and ATSC on a single system.  The market of people that have more than one TV provider is, after all, not that large, and we wanted to get it right for the most people we could.

••• support for ATSC gathers steam

A vocal minority of the user community, along with a large majority of the eHome TV product team, were not pleased with the lack of support.  We got the funding to put ATSC in the product, as long as we could fit it into the schedule and without major risks to the architecture of Media Center's TV and PVR functionality.  With compressed schedules the norm, and the development and testing staff already deeply into a bad work/life balance, many options were considered for getting ATSC out to users.  What was finally implemented is a good first stab at doing it, with a few facets that are, um, less than what we'd like them to be.  Since we did not have ATSC-specific listings available through our Guide data provider for many, many areas, we looked instead at reusing the data available from existing analog lineups via "mapping".  Since ATSC channels are in a completely different format (like 13-1 or 9-5), and to avoid putting a new button on the remote (requiring a redesign), ATSC channels are renumbered in the UI.  The scheduling/PVR conflicts were just ignored, leaving it up to the user to say "only record this channel", omitting support like "record this in HD if you can, but get it in SD if not".  The end result was a pseudo-heterogeneous lineup support that we have today.  You do get the additional ATSC lineup merged into your Guide, but the analog source is still required--you cannot have ATSC without NTSC today.

••• the current state of things

During First Run (the initial Media Center setup wizard), or TV Signal Setup, we detect whether you are in a region that supports ATSC, and then detect if you have a compatible ATSC card installed (or for Emerald, up to 2 ATSC cards).  After configuring your SD tuner, ATSC is configured as an adjunct to the "primary" analog tuners.  If you choose an analog, sans-STB (set-top box) cable lineup for your analog tuners, then that data is what's available to ATSC to map to its channels.  The same goes for satellite or OTA (off-the-air/broadcast) lineups.  Only with digital cable lineups do you usually get the full Guide data to assign to your ATSC channels.

To assign listings to the ATSC channels in the lineup, we run a heuristic match against the available channel metadata, and try to get a "best-fit" match for existing channels to the new ATSC channels.  For example, if there is a channel "KOMO-DT" in the primary lineup, it can be matched to the known ATSC channel KOMO-DT on 4-1.  In some areas, the match can't be made automatically, but you can go to the Guide settings (Settings-->TV-->Guide-->Edit Digital TV Listings) and manually associate the listings of an existing channel to the ATSC channel.  Basically what you are doing is saying "this channel that exists on my "primary" lineup has identical programming to that ATSC channel".  It works best with digital cable lineups because they carry all of the local OTA ATSC channels on their networks (due to Federal must-carry laws).  To get the minor channels (where the "minor channel" > 1, e.g. KCTS-DT2 on 9-2 in Seattle), you have to add them to your lineup manually using Add Missing Channels, and then map them to listings using Edit Digital TV Listings.

The end result of all of this is a unified lineup that can be presented to the user in a single Guide grid.  ATSC channels are assigned numbers like 1041 for channel 4-1, and slotted in where they fit best.  If your primary lineup already has a channel 1041, we look for another block of numbers to put the ATSC channels.  A side-effect of this is that if your primary lineup is changed--like if Comcast decides to add a channel 1000 to their lineup--the ATSC channel numbers may get reassigned to another empty block.  Personally, I'd like to implement a better solution, but as I've said before, we Americans are unnaturally attached to our channel numbers.  Most would just give you a blank look if you suggested that we don't even really need channel numbers at all.  Not when you have a good enough search/filter mechanism, anyhow.

••• the days to come

For the Diamond release, we have announced support for OCUR (OpenCable Unidirectional Receiver) tuners, which will allow native tuning of digital cable signals, with CableCard support (for premium channels like HBO).  This includes HDTV signals, which should be good news to most users.  More people pay for TV service now than don't, and if you own a Media Center, you are about 20 times more likely to have cable or satellite service than not.  Roughly.  OCUR support probably means (definitely, for Diamond) that we won't be supporting heterogeneous lineups anytime soon, which is a shame, but hard to make a business case against.  Why spend time and treasure on something that most people won't use, and could possibly destabilize the entire product?  That's a little hyperbolic, but the onus is on the people who want the feature to justify it.

We announced a deal with DirecTV where we will directly support their newest STB in Media Center, just like--or very similar to--the OCUR does with digital cable.  The field is finally opening up and we're getting to a point where we can offer our users very attractive options for "traditional" TV services.  The European market, or more precisely, the non-U.S./S.Korea/Japan market, has already standardized (for the most part) on a fairly sensible broadcasting standard--DVB--which we are improving our support for with every release.

Non-traditional video services are also booming in popularity, with Online Spotlight partners offering more movies and other multimedia content for free (in many cases) or on an ala-carte basis, directly competing with PPV services offered by traditional TV providers.  Apple has changed course on its "we'll never get into the PVR business" policy with iTunes video (and their toe-dip product Front Row, which is a pretty spiffy little QuickTime automation script), and The Market is scrambling all over itself to get on the bandwagon.  Internet TV is coming, just as soon as we (as in "we the market", not necessarily "we at Microsoft") figure out what Internet TV is.

Comments

  • Anonymous
    February 02, 2006
    Great post, good to see that DBV support is going to be improved

  • Anonymous
    February 02, 2006
    The comment has been removed

  • Anonymous
    February 03, 2006
    I am in a definite minority. I have Cable, DirecTV and ATSC.

    I originally had DirecTV and a cable modem for internet service without any cable TV. But they my cable modem provider decided to tack on a $10 charge per month if you didn't have any TV service. Basic cable was $11 per month. HD with a cablecard was just $6 more. So, I could either pay $50 per month for just the cable modem or pay $57 per month and get cable TV service with HD and the cable modem. No brainer.

    But I couldn't record HD. My TV has a cablecard slot, but no way to record it.

    Enter ATSC (ATI HDTV Wonder) and Media Center. I only use Media Center to record HDTV, nothing else. I have 2 Tivos to record DirecTV SD (HD isn't worth it with DirecTV just yet). I happen to live near Boston, and the ATSC channels are fantastic. If only I could get the guide data for 2-2 (PBS-HD) and 44-2, 44-3, and 44-4 (WGBX stations).

    I was getting PBS-HD guide data via a cable operator in my state that happened to carry it. That is, up until the release of Rollup 2! After that, the ability to map a sub-channel to a channel that is different from the main channel completely disappeared! Oh, it looks like you can. But the data never shows up in the guide. So, despite mapping 2-2 (1022) to PBS-HD on Comcast Cable, it still manages to give 2-2 the same guide data as 2-1 (WGBH).

    Guide support for sub-channels isn't just bad, it actually got worse with the last release. Please fix this bug quickly! :-)

    I would love to unify my recording using Media Center to record ATSC, DirecTV and Cable via a Cablecard. Bring on Fiji, and don't forget about those of us with multiple services!

  • Anonymous
    February 03, 2006
    The comment has been removed

  • Anonymous
    February 03, 2006
    The comment has been removed

  • Anonymous
    February 04, 2006
    The comment has been removed

  • Anonymous
    February 04, 2006
    The comment has been removed

  • Anonymous
    February 06, 2006
    Nice article.  However I live in anada and receive a large of atsc channels over the air.  Microsoft made the unfortunate decision to disable HD OTA in Media center for 2005.  Certainly at the time this made sense.  No canadian broadcasters were utilizing atsc.  Things have certainly changed in 2006.  HDTV sales have exploded.  Most canadians are able to receive numerous atsc channels of both canadian and american origin.  Please MS enable OTA DTV for Canada.

  • Anonymous
    February 06, 2006
    The comment has been removed

  • Anonymous
    February 06, 2006
    The comment has been removed

  • Anonymous
    February 06, 2006
    Joe - I cannot comment on the deal, since a) I'm not actually privy to the details, and b) if I were, I couldn't share them.  What was announced at CES is all that is public at this time.  The business guys are working all the stuff out... I'm just a lowly developer.

  • Anonymous
    February 06, 2006
    GBK - Vista is going to offer a ton of new stuff, including Digital Cable + CableCard support.  Have you seen the screenshots and demos?  You can get in on the CTP and run it for yourself free to get a taste, too.  Vista is going to be sweet.

    Even if you weren't going to get Vista specifically for the Media Center changes (although for me that would probably be enough), it's got so much more going for it that for anyone who uses their computer more than a little bit it's a no-brainer.  LUA as default (more secure), Aero Glass (3D acceleration everywhere), user-mode sound with per-application mixing (finally! the sound stack can't crash Windows!), Avalon GUI engine (cooler-looking apps), smart folders, Windows Explorer rearchitecture (wait til you try the new navigation UI... it rules), Windows Search (about time it was included in the OS), SideShow and better Away Mode... there's tons more.

    Just in the tiny little corner of Windows called Media Center we have smart thumbnails (not just the first frame of video... we ANALYZE the content to find a "good" frame to use), support for more tuners (lots more... can you say dual 4-tuner cards?), totally reinvented UI that's easier and faster to use, mini-guide, PIP, auto-favorites, the list goes on and on!

    Sure, we wanted to support more standards, but that stuff can get added in when the business deals are ready.  People say "why don't you support X?", and most of the time it's because someone else owns the patent or copyright on it already, so we need to partner with them to get permission.  There's a lot of scrutiny on everything we do, so all the I's have to be dotted, and the T's crossed, or the big bad ** Commission (name ommitted because I'm paranoid) will try to slap another huge fine on us.  Or we will lose the partner.  Or both.  So we're working on it, okay?

    Everyone on the team wants it just as badly as you do.  We live and breathe this stuff, and it kills us to not directly support everything right now.  The reality, though, is that short of breaking the law there is no way for us to do so.

  • Anonymous
    February 07, 2006
    In what way exactly would you be breaking any law to support OTA HD directly :)?

  • Anonymous
    February 07, 2006
    Peter, are you saying that I could run CTP now and have HDTV tuner support? does Vista have AverMedia A180 driver built in? if not point to someplace that does and I'll gladly try it until then it's all vaporware and we have to believe what you say which of course is subject to change.. :-) just like WinFS etc that was supposed to be part of this 6 yr in the making OS.

  • Anonymous
    February 07, 2006
    Oh I forgot to say how is using NTSC in Vista a good thing?  NTSC is dead end of life in 2009 (would have been in 2007 if it weren't for idiots in Congress) your OS should be future looking instead we'll have to depend on a service pack that will most likely break everything since it won't be done from the ground up but rather another patch.  Or are we going to have to buy a whole new OS by 2009 only 2 years after Vista?  btw I may not be eloquent with my words but I do know how much works goes into developing something like this which is why the choices of NTSC do not make sense to me at all.

  • Anonymous
    February 08, 2006
    Griffon - We wouldn't, of course (except for the RRT stuff, which is silly IMHO, but that's another topic).  I was referring to support for satellite.

  • Anonymous
    February 08, 2006
    The comment has been removed

  • Anonymous
    February 08, 2006
    Responding now to GBK's 2nd posting there ;-)

    NTSC is not "dead" in 2009 by a long shot.  It's only dead for OTA broadcast.

    We have not announced what we plan to do about sans-analog ATSC support in Media Center.  Just speaking technically, it can be done with a moderate amount of work.  Whether it makes economic sense to do so, that's what mgmt needs to decide.

  • Anonymous
    February 08, 2006
    The comment has been removed

  • Anonymous
    February 08, 2006
    The comment has been removed

  • Anonymous
    February 09, 2006
    The comment has been removed

  • Anonymous
    February 21, 2006
    The comment has been removed

  • Anonymous
    February 11, 2007
    A Brief History of ATSC in Media Center (Peter Rosser) | Edit: Peter adds "Just to be absolutely clear:

  • Anonymous
    August 13, 2007
    Two weeks ago I knew nothing about ATSC, but that has very quickly changed as I've worked through some...

  • Anonymous
    September 08, 2007
    university of houston football

  • Anonymous
    September 04, 2008
    When it comes to Media Center in Canada, Microsoft just doesn't seem to get it.  While I can't...