[sci.electronics] VCR PLUS+ -- size of the code space

touch@gradient.cis.upenn.edu (Joseph D. Touch) (05/07/91)

In article<<GUEST.91Apr29180522@geech.ai.mit.edu> <4764@osc.COM>

>>In article <GUEST.91Apr29180522@geech.ai.mit.edu> (Guest Account) writes:
>>For those of you who have heard of VCR PLUS+, does anyone know how the
>>date, channel, start time and stop time are encoded into the program
>>number?  Here are examples:

>Has anyone considered how much information is in this short code?  I've
>tried a few encoding schemes that I might use in designing a code and
>can't seem to figure out how they put so much info in so little space.

Let's see:

	Programs usually start/end on the half-hour, so there
	are 24*2 time-start indicators.

	Programs must be under 6 hours (vcrs can't tape longer),
	again stopping on the half-hour means 12 length indicators.

	There are 80 channels in my area of cable (not all channels 
	are encoded, in fact, only about 1 in 4 is) so there are
	about 20 channel numbers.

	Assume the date is a day of the week(7) / week indicator (week 1-2).
	Codes here are printed here only a week in advance, so 2 
	week-indicators is sufficient. So we need 7 * 2 day indicators.

	This means a total information space of 24*2 * 12 * 20 * 7*2 =
	161280 points in space, so I need 18 binary bits (17.2 
	actually) or 6 (5.2 more precisely) digits of decimal 
	information for the code.

	This is overly pessimistic - there are never two weeks of
	scheduling where all programs are 1/2 hour long, so that
	all start/stop times need to be encoded.

	Note that some VCR-PLUS codes are 4 digits, some are 5 or 6,
	but I don't remember seeing 7 anywhere. I assume the 4 and 5
	digit numbers are zero-prefixed (i.e. xxxx = 00xxxx, etc.)

	So it fits.  By the back-of-the-envelope method, anyway.
	Note that there doesn't appear to be much (if any) room for
	error-correction redundency, so this is apparently not a very 
	robust code. Typing a number in a digit off is likely to do 
	nasty things, rather than printing out a warning. 

	I'd be interested if someone with a VCR-PLUS would try a
	few 'random' codes, to see if the VCR gets programmed 
	incorrectly or if the error is detected.

	Joe Touch
	touch@cis.upenn.edu
	PhD Candidate
	Dept of Computer and Information Science

PS Anyone care to concur/disprove the above back-of-the-envelope?
   I'd like to know if it's on the mark or not!

shirriff@sprite.berkeley.edu (Ken Shirriff) (05/07/91)

In article <42693@netnews.upenn.edu> touch@cis.upenn.edu (Joseph D. Touch) writes:
>Has anyone considered how much information is in this short code?

Questions I have for someone with an appropriate VCR:

How does the VCR process variable length codes?
a) Is there an explicit end-of-code terminator?
   i.e. do you enter 55 <record> and 551234 <record> for different codes?
b) Or is no short code a prefix of a longer code?
   i.e. if there is a code 55, there is no code 551234, and the VCR knows
   after receiving 55 that this is the end.

And if anyone can determine if the code space is dense (i.e. every code
does something without an error), and unique (no two codes do the same
thing), this would be interesting to know.

Finally, my TV listings only give codes for prime-time to late night shows.
Do the codes do anything strange for daytime shows?

Ken Shirriff			shirriff@sprite.Berkeley.EDU