`Fujii et al.
`
`I IIIII IIIIIIII Ill lllll lllll lllll lllll lllll lllll lllll lllll 111111111111111111
`US005898695A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,898,695
`Apr. 27, 1999
`
`[54] DECODER FOR COMPRESSED AND
`MULTIPLEXED VIDEO AND AUDIO DATA
`
`[75]
`
`Inventors: Yukio Fujii, Yokohama; Masuo Oku,
`Kamakura, both of Japan
`
`[73] Assignee: Hitachi, Ltd., Tokyo, Japan
`
`[21] Appl. No.: 08/622,622
`
`[22] Filed:
`
`Mar. 27, 1996
`
`[30]
`
`Foreign Application Priority Data
`
`Mar. 29, 1995
`Mar. 29, 1995
`
`[JP]
`[JP]
`
`Japan
`Japan
`
`.................................... 7-071131
`.................................... 7-071132
`
`Int. Cl.6
`H04N 7/12
`[51]
`.......................................................
`[52] U.S. Cl. ............................. 370/464; 348/423; 348/10
`[58] Field of Search ..................................... 348/423, 467,
`348/385, 382, 7, 10, 714; 370/389, 464,
`522,503,428,457,509,535,536,537
`
`[56]
`
`References Cited
`
`9/1997 Okada et al. ........................... 348/423
`5,668,601
`5,677,980 10/1997 Naoe ....................................... 348/384
`5,719,646
`2/1998 Kikuchi et al. ......................... 348/466
`
`FOREIGN PATENT DOCUMENTS
`
`0679028A2
`0679035A2
`
`10/1995 European Pat. Off .......... H04N 7/64
`10/1995 European Pat. Off .......... H04N 7/64
`
`OTHER PUBLICATIONS
`
`P. Stamminitz, et al, "Hardware
`Implementation of the
`Transport Stream Demultiplexer for the HDTV r Demonstra(cid:173)
`tor", Signal Processing of HDTV, VI., Proceedings of the
`Int'l Workshop on HDTV, 1995, pp. 435-441.
`van den Hurk, et al, "A Concept for Source Decoding in
`Digital Video Broadcast Applications", Int' l Conference on
`Consumer Electronics-Digest of Techni Papers, Jun. 7-9,
`1995, Conf. No. 14, IEEE, pp. 260-261.
`
`Primary Examiner-Benedict V. Safourek
`Assistant Examiner-Ken Vanderpuye
`Attorney, Agent, or Firm-Antonelli, Terry, Stout & Kraus,
`LLP
`
`U.S. PATENT DOCUMENTS
`
`[57]
`
`ABSTRACT
`
`5,475,688
`5,475,754
`5,521,918
`5,521,979
`5,559,999
`5,613,003
`5,635,979
`5,649,029
`5,666,293
`
`12/1995 Bridgewater et al. .. ... ... .... ... .. 370/94.1
`12/1995 Bridgewater et al. .. ... ... .... ... ... .. 380/20
`5/1996 Kim
`........................................ 348/423
`5 /1996 Deiss .. ... ... ... ... .... ... ... ... ... ... .... ... . 380/20
`9/1996 Maturi et al. ........................... 370/389
`3/1997 Bridgewater et al. .................... 380/20
`6/1997 Kostreski et al.
`....................... 455/4.2
`7/1997 Galbi ....................................... 382/233
`9/1997 Metz et al. ................................ 348/10
`
`An apparatus for filtering TS packets multiplexed with a
`plurality of programs and sending the filtered packets to
`decoders. A packet landing buffer is provided in a RAM used
`for a microprocessor for system control. After a channel is
`selected, the microprocessor filters video and audio data and
`performs a value added service process.
`
`38 Claims, 23 Drawing Sheets
`
`2
`
`14
`
`TUNER
`
`DEMODU(cid:173)
`LATOR
`
`INTERFACE
`UNIT
`
`CLOCK
`GENERATOR
`
`4
`
`12
`
`MICRO-
`PROCESSOR
`
`13
`
`USER
`INTERFACE
`UNIT
`
`C,
`
`~
`
`ClJ
`C
`(/)
`
`9
`
`8
`
`VIDEO
`DECODE
`BUFFER
`
`VIDEO
`DECODER
`
`AUDIO
`DECODER
`
`RAM
`
`PACKET
`LANDING
`BUFFER
`
`SYSTEM CONTROL
`PROGRAM+ DATA
`
`SYSTEM
`DECODE
`BUFFER
`
`AUDIO DECODE
`+ DELAY BUFFER
`
`72
`
`73
`
`74
`
`AMAZON 1005
`Page 1 of 35
`
`
`
`d •
`r:JJ.
`•
`~
`~ .....
`~ = .....
`
`~
`:"i
`N
`~-..J
`"'""
`\C
`\C
`\C
`
`'JJ. =(cid:173)~
`~ ....
`"'""
`0 ....,
`N
`~
`
`Ul
`....
`00
`\C
`00
`....
`0--,
`\C
`Ul
`
`FIG.1
`
`~9
`
`VIDEO
`DECODE
`BUFFER
`Al
`,,
`
`-
`-
`
`-
`
`-_____.
`
`VIDEO
`DECODER
`
`i.-----..-8
`
`-
`
`~ --
`.
`
`I
`
`AUDIO
`DECODER
`
`----10
`-
`
`-
`
`TUNER
`
`......
`
`DEMODU-
`LATOR
`
`......
`.~
`
`INTERFACE
`UNIT
`
`12
`~
`
`,
`
`•
`
`--
`MICRO-
`PROCESSOR -
`
`-
`
`CLOCK
`4_,_ GENERATOR
`
`4--
`
`13
`(
`USER
`INTERFACE -
`UNIT
`
`z__..
`
`1
`7
`
`- .
`
`.--..._
`
`RAM
`
`PACKET
`LANDING
`BUFFER
`
`PROGRAM+ DATA
`
`,__.
`
`2
`
`SYSTEM CONTROL ---
`---
`---
`
`SYSTEM
`DECODE
`BUFFER
`
`i-
`
`AUDIO DECODE L--
`+ DELAY BUFFER
`
`3
`
`4
`
`~
`
`OJ
`C
`en
`
`-
`
`-
`-
`
`-
`
`-
`
`AMAZON 1005
`Page 2 of 35
`
`
`
`1
`
`2
`
`TUNER
`
`DEMODU(cid:173)
`LATOR
`
`3
`
`12
`
`MICRO(cid:173)
`PROCESSOR
`
`FIG.2
`
`CLOCK ~ 4
`GENERATOR
`
`a
`m s:::
`C
`~
`""O
`r m
`X m
`::0
`
`0
`
`~
`CD
`C
`en I•
`
`• I
`
`5
`
`PACKET
`LANDING
`BUFFER
`
`PACKET
`LANDING
`BUFFER
`
`6
`
`RAM
`SYSTEM
`DECODE
`BUFFER
`
`-----i
`
`USER
`INTERFACE I•
`UNIT
`
`•I
`
`SYSTEM CONTROL
`PROGRAM+ DAT A
`
`13
`
`VIDEO
`DECODE
`BUFFER
`
`VIDEO
`DECODER
`
`AUDIO
`DECODER
`
`AUDIO
`DECODE
`BUFFER
`
`9
`
`8
`
`10
`
`11
`
`73
`7
`72
`
`d •
`r:JJ.
`•
`~
`~ .....
`~ = .....
`
`~
`:"i
`N
`~-..J
`"'""
`\C
`\C
`\C
`
`'JJ. =(cid:173)~
`~ ....
`N
`0 ....,
`N
`~
`
`Ul
`....
`00
`\C
`00
`....
`0--,
`\C
`Ul
`
`AMAZON 1005
`Page 3 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 3 of 23
`
`5,898,695
`
`FIG.3A
`
`TS PACKET
`
`1 188 1 188
`
`188
`
`I 188 1 188
`
`188
`
`----TIME
`
`PAYLOAD
`
`PACKET ID (Pl D)
`
`PES PACKET I
`
`PES PACKET
`
`. PES ..
`HEADER ...
`
`PROGRAM ELEMENT
`
`VIDEO,AUDIO,TEXT DATA OR THE LIKE
`
`FIG.3B
`
`TS PACKET
`
`188 1 188
`
`188 I 188 1 188
`
`188
`
`-----TIME
`
`PAYLOAD
`
`PACKET ID (PIO)
`
`SECTION
`
`SECTION
`
`SECTION
`
`SECTION
`Hl:ADE:R
`
`PROGRAM/SERVICE INFOMATION
`
`CRC
`
`PROGRAM MAP TABLE OR THE LIKE
`
`AMAZON 1005
`Page 4 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 4 of 23
`
`5,898,695
`
`FIG.4
`
`PIO
`
`TS HEADER
`
`PACKET LANDING TIME
`
`Video#1
`
`Video#2
`
`Video#1
`
`Audio#1
`
`PSI
`
`Video#2
`
`PSI
`
`Video#1
`
`0
`
`1
`
`2
`
`3
`
`4
`
`5
`
`N-2
`
`N-1
`
`---188
`
`BYTES --~
`
`TS LANDING
`BUFFER ROW
`ADDRESS
`
`PACKET
`LANDING
`BUFFER
`
`AMAZON 1005
`Page 5 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 5 of 23
`
`5,898,695
`
`FIG.5
`
`;14
`
`INTERFACE
`UNIT
`
`140
`
`;141
`
`TS PACKET
`
`- TS HEADER
`- DETECTOR i--,i~
`
`TS CLOCK
`
`t
`
`-
`
`BUSCLOCK
`
`TRANSFE R
`BUFFER
`
`I
`
`MICRO(cid:173)
`PROCESSOR
`
`12~ ~
`
`DREQ
`
`DACK
`
`INTERRUPT
`SIGNAL
`" DMA h-121
`TRIGGER [123
`4
`I CONTROLLER! '
`I
`/
`1..-----0N_E_L-IN_E_I
`TIMER
`)
`CLOCK
`ADDITION,
`l...___,.:.~REGISTER ......... :.-.... ....
`WRITE
`GENERATOR.._
`5
`ADDRESS
`COUNTER ~ 122
`124
`
`Cl)
`::l
`en
`
`~
`
`WRITE ADDRESS
`~------------
`RAM
`
`PACKET LANDING
`BUFFER
`
`71
`
`r-.
`
`PACKET
`Video#1
`LANDING
`'r' ME
`~ ____ .......___V~id_eo_#_2_-'-"'~
`....:
`, ___ P_A_C_K_ET_D_A_T_A...__.
`
`AMAZON 1005
`Page 6 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 6 of 23
`
`5,898,695
`
`TS LANDING BUFFER
`ROW ADDRESS z._
`N-2
`
`FIG.6
`
`N-1
`
`0
`
`1
`
`2 &READADDRESS
`
`.. :·.·~~=->'
`
`3~
`
`.. .4)
`··•.:
`
`PACKET READ
`
`PACKET NOT
`READ YET
`
`. 6\7
`/ VWRITE ADDRESS
`
`AMAZON 1005
`Page 7 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 7 of 23
`
`5,898,695
`
`FIG.7
`
`PACKET FILTERING
`PROCESS (PROGRAM/
`ELEMENT FILTER)
`
`FETCH PID
`
`S1
`
`Pl D=,program#k
`
`CHECK
`PROGRAM
`#k
`
`PROGRAM
`REFERENCE MAP TABLE
`
`-------
`
`1---+----t
`
`I
`
`PID=program#k
`
`S3 REFERENCE
`
`S4
`
`YES
`
`CLOCK
`RECOVERY
`PROCESS
`
`CLOCK
`REFERENCE?
`(PCR_PID)
`
`::,___-----
`
`/
`
`NO
`
`REFERENCE
`
`S5
`
`Pl D=Video#k
`
`ELEMENT/
`PSI FILTERING
`
`PID=PSI
`
`S6
`
`S7
`
`SB
`
`VIDEO PACKET
`TRANSFER
`PROCESS
`
`AUDIO PACKET
`TRANSFER
`PROCESS
`
`PSI PACKET
`PROCESS
`
`• ' ' '
`
`'
`'
`'
`'
`'
`'
`' '
`' ' '
`'
`:UPDATE
`' '
`'
`' I
`'
`'
`' I
`
`I
`I
`
`' ' I
`'
`'
`'
`'
`
`- ~ _I
`
`ROW ADDRESS++
`
`S9
`
`AMAZON 1005
`Page 8 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 8 of 23
`
`5,898,695
`
`FIG.a
`
`PICTURE DATA
`
`DECODE INPUT 6 i
`
`Video
`
`DECODESTART1--I -~---
`,__' --~
`·
`DISPLAY START 1--I
`
`~-----'
`
`vbv BUFFER DELAY Tvbv ----
`
`DISPLAY TIMING DELAY
`
`Tdisp .----
`
`EXTERNAL DEVICE DELAY
`
`I
`I
`I
`I
`
`.. -:
`
`I
`I
`I
`
`Text:---:
`
`
`
`.........__ __
`
`I VIDEO
`_., OUTPUT
`
`I
`I
`
`I
`I
`I
`
`...,,
`
`I
`
`VIDEO SYSTEM Tvid ,___ ___
`DELAY
`
`, Tadj : DELAY FOR A-V
`I SYNC COMPENSATION
`
`..
`
`•
`
`AUDIO SYSTEM T d
`DELAY
`au,__ _ _,
`
`DECODE START Qb--rAUDIO
`
`FRAME DATA
`
`I
`I
`
`Audio
`
`I
`I
`
`DISPLAY START
`
`DISPLAY TIMING DELAY
`
`•
`
`EXTERNAL DEVICE DELAY
`
`Td1sp :----'
`
`I
`I
`I
`I
`
`I
`I
`I
`
`~---j
`,
`
`I
`
`I
`I
`I
`
`AUDIO OUTPUT
`
`----TIMEt
`
`•Text...-..:
`
`•
`
`I
`I
`I
`
`t=PTS(v)=PTS(a)
`
`AMAZON 1005
`Page 9 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 9 of 23
`
`5,898,695
`
`FIG.9
`
`CLOCK
`RECOVERY
`PROCESS
`
`DIFcur<-PCR VALUE(cid:173)
`ARRIVAL TIME
`
`DIFFERENCE
`<-DIFcur-DIF re
`
`S4
`
`S11
`
`S12
`
`ERR>
`THRESHOLD
`
`S13
`YES
`
`S14
`
`POSITIVE
`
`S15
`
`ACCELERATE
`CLOCK
`FREQUENCY
`
`ERR
`
`0
`
`NEGATIVE
`
`S16
`
`DECELERATE
`CLOCK
`FREQUENCY
`
`DIFpre<-DIFcur
`
`S17
`
`RET
`
`S18
`
`AMAZON 1005
`Page 10 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 10 of 23
`
`5,898,695
`
`FIG.10
`
`DIFcur
`
`PCR VALUE
`TIMER COUNTER VALUE
`
`.,
`.,
`.,
`
`.,
`.,
`
`I ., .,
`
`_ __..,_TIME
`
`AMAZON 1005
`Page 11 of 35
`
`
`
`T
`
`TUNER
`
`•
`
`I
`
`~1
`
`FIG.11
`
`CLOCK
`GENERATOR
`
`I---- 4
`
`14
`
`DEMODU- ~ PROGRAM
`LATOR
`PACKET
`FILTER
`
`INTERFACE
`UNIT
`
`I __:_
`
`r-9
`
`VIDEO
`DECODE
`BUFFER
`
`d •
`r:JJ.
`•
`~
`~ .....
`~ = .....
`
`VIDEO
`~ DECODER
`
`8
`
`DECODER
`
`> "Cl :;
`:;j AUDIO ~ N
`
`)
`2
`
`15
`
`12~
`
`~-..J
`"'""
`\C
`\C
`\C
`
`'JJ.
`
`=-~
`~ ....
`"'""
`"'""
`0 ....,
`N
`~
`
`_J
`
`RAM
`
`PACKET
`LANDING
`BUFFER
`
`71
`7
`
`SYSTEM CONTROL rt-72
`
`PROGRAM+ DATA
`
`1 1
`
`' I: I 1~
`~ ..
`
`t
`MICRO-
`PROCESSOR
`
`..
`
`)>
`cc
`C
`(J)
`
`USER
`~ INTERFACE I•
`UNIT
`
`•I
`
`~
`13
`
`SYSTEM
`DECODE
`BUFFER
`
`l--{-73
`
`+ DELAY BUFFER
`
`AUDIO DECODE H--74 00
`
`Ul
`....
`\C
`00
`....
`0--,
`\C
`Ul
`
`AMAZON 1005
`Page 12 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 12 of 23
`
`5,898,695
`
`FIG.12A
`
`188
`
`188
`
`188
`
`---- I V-#j I V-#k I A-#i I V-#k I PSI
`
`188
`
`188
`
`188
`
`V-#j
`
`188
`
`I V-#i
`
`188
`
`188
`
`V-#i I ----
`I A-#k I
`
`FIG.128
`
`188
`
`I V-#k I
`
`188
`
`188
`
`I V-#k I PSI I
`
`TIME
`
`TIME
`
`188
`
`I A-#k I
`
`FIG.13
`
`PID
`
`TS HEADER
`~ ,
`
`Video#k
`
`Video#k
`
`Video#k
`
`Audio#k
`
`PSI
`
`Video#k
`
`PSI
`
`Video#k
`
`-
`
`188 BYTES
`
`0
`
`1
`
`2
`
`3
`
`4
`
`5
`
`N-2
`
`N-1
`
`PACKET
`LANDING
`BUFFER
`
`PROGRAM
`#k
`SELECTED
`
`TS LANDING
`BUFFER
`ROW
`ADDRESS
`
`AMAZON 1005
`Page 13 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 13 of 23
`
`5,898,695
`
`FIG.14
`
`ERR
`
`) 4
`CLOCK
`GENERATOR
`PROGRAM
`PACKET FIL TEA I
`•
`1s~ "-f PCR
`153-
`
`._/ 154
`COMPA- ~
`COUNTER
`RATOR
`INTERFACE 14
`151~ TRIGGER 152'\. PCR
`UNIT
`PIO
`TS HEADER
`DETECTOR
`t .__
`
`TSP ACKET
`
`TS CLOCK
`
`-
`-
`
`FILTER -
`
`,t~
`
`-
`
`'
`
`,_
`,-
`
`-
`TRANSFER
`BUFFER BUSCLOCK
`'-
`l
`PIO
`DREQ DACK
`•
`I
`123\
`121
`OMA
`1 CONTROLLER
`ONE
`REGISTER -
`LINE
`"ADDITION
`WRITE
`ADDRESS ~122
`COUNTER
`
`INERRUPT SIGNAL
`MICRO-
`_/
`,,...-
`PROCESSOR
`
`12~
`
`I'\
`(/)
`141 :J
`co
`<(
`I-
`<(
`0
`
`ADDRESS
`RAM
`
`7 -----
`
`PROGRAM
`MAP TABLE
`
`-
`
`PACKET LANDING BUFFER
`/71
`Video#1
`Video#2
`
`-
`
`-
`
`-
`-
`
`AMAZON 1005
`Page 14 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 14 of 23
`
`5,898,695
`
`FIG.15
`
`ELEMENT
`FILTERING
`PROCESS
`
`FETCH PIO
`
`S1
`.. --
`---
`S5 REFERENCE· -
`
`PROGRAM
`MAP TABLE
`
`I
`
`!
`'
`I
`I
`
`PID=Video#k
`
`ELEMENT/
`PSI FIL TERI NG
`
`PID=PSI
`
`S6
`
`Pl D=Audio#k
`
`S7
`
`SB
`
`' I
`:UPDATE
`
`I
`I
`I
`I
`I
`I
`I
`
`- - _,
`
`VIDEO PACKET
`TRANSFER
`PROCESS
`
`AUDIO PACKET
`TRANSFER
`PROCESS
`
`PSI PACKET
`PROCESS
`
`ROW ADDRESS++
`
`S9
`
`AMAZON 1005
`Page 15 of 35
`
`
`
`TUNER
`
`1
`
`CLOCK
`GENERATOR
`
`4
`
`FIG.16
`
`14
`
`'
`
`DEMODU-
`LATOR
`
`PROGRAM
`PACKET
`FILTER
`
`INTERFACE
`UNIT
`
`2
`
`15
`
`12
`
`0
`
`~ )>
`
`CD
`C
`(fJ
`
`,
`
`MICRO-
`PROCESSOR
`
`USER
`INTERFACE
`UNIT
`
`13
`
`DISPLAY ~16
`INTERFACE
`UNIT
`
`-
`
`-
`
`-
`
`RAM
`
`PACKET
`LANDING
`BUFFER
`
`1--r-.
`
`SYSTEM CONTROL -
`
`PROGRAM+DAT A
`
`1
`7
`
`2
`
`~
`
`-
`
`SYSTEM
`DECODE
`BUFFER
`
`-"
`
`73
`
`-
`
`-
`
`d •
`r:JJ.
`•
`~
`~ .....
`~ = .....
`
`~ :;
`
`N
`~-..J
`'"""
`\C
`\C
`\C
`
`'JJ. =(cid:173)~
`~ .....
`'"""
`Ul
`0 ....,
`N
`~
`
`Ul
`....
`00
`\C
`00
`....
`0--,
`\C
`Ul
`
`AMAZON 1005
`Page 16 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 16 of 23
`
`5,898,695
`
`co
`0
`C\J
`
`a:
`0
`en
`ocn
`cnw
`OU
`0 a:
`a..
`
`-
`
`f'-..
`0
`C\J
`
`(X)
`0
`C\J
`
`..c:
`a:
`0W
`
`wO 98 >w
`
`0
`
`F'-
`-r-.
`CJ
`LL
`
`<(>-a:a:
`(90
`0~ a:W
`a..~
`
`I
`
`a:
`0
`0
`a: I
`(J'J
`1-uOU'J
`z-a:w
`-~a...U
`
`~
`~
`
`LO
`0
`C\J
`
`~
`0
`C\J
`
`C')
`0
`C\J
`
`..::.:::
`13
`
`Q)
`
`VJ
`::::,
`.0
`
`m~a:
`Z...JW
`z:::lX
`<( ::E w
`IW...J
`uoa..
`
`l
`
`z
`I O•
`a: 1-=>a:
`I ou 0 o
`a:a: ~::s
`a:w01-
`wa:W oo
`u
`ctS
`
`I
`
`::> a:
`00
`01-
`~:5
`0
`
`I
`I
`L
`
`,-
`0
`C\J
`
`0
`0
`C\J
`
`C\J
`0
`C\J
`
`C\J-·--.:
`
`a:
`w
`z
`::>
`r-
`~
`0
`a:
`LL
`
`AMAZON 1005
`Page 17 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 17 of 23
`
`5,898,695
`
`~
`T'""
`I
`)
`
`C/J
`::,
`.0
`
`CX)
`T""
`C\J
`
`""
`
`I
`L
`
`-
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`-
`
`a:
`<{W
`~u..
`0~
`co
`
`'.
`
`- I-
`-
`
`-
`
`-
`
`•
`
`~
`c3
`
`Q)
`
`C\J
`0
`C\J
`
`)
`
`0
`C\J
`C\J
`
`~
`a:
`~~ (.)<( oa:
`-IW oz
`w
`CJ
`
`0)
`T""
`C\J
`
`I ~
`
`w
`<((.)
`J-<(
`
`<(u_ Oa:
`ow
`-J-O..:z:
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`I
`
`-
`-
`
`-
`-
`
`.
`CJ
`LL
`
`ERROR FLAG
`ADDER
`
`-
`
`/V
`
`"' T'""
`
`C\J
`
`fV
`<.o
`T""
`C\J
`
`'
`
`MIXER
`
`'.
`
`'. -
`
`a:
`w
`~
`
`I
`Cl)
`
`(
`I
`
`a:
`w
`t-
`_J
`u..
`-
`0
`a..
`I
`(/)
`a..
`. '
`5
`0,
`T""
`C\J
`
`0 a:
`u. --
`OUJ
`~~
`QU.
`0
`-
`wo
`a.. o-
`-0..
`>
`5
`,.... .. .• C\J I~
`,....
`C\J
`
`a:
`UJ
`~
`u.
`a: u
`5
`~ '.
`
`Cl..
`
`C")
`T""
`C\J
`
`>-
`:5
`w
`0
`u
`z
`>-
`(/)
`
`(!)
`:5>-
`u.~
`a:w
`ffo
`a:
`w
`)
`j
`oi::t • LO •
`
`T""
`C\J
`
`T""
`C\J
`
`'~
`
`T""
`C\J
`
`.0
`
`0
`
`,::,
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`·-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`--
`
`I
`
`I ,_
`
`)
`\
`LO
`,....
`
`AMAZON 1005
`Page 18 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 18 of 23
`
`5,898,695
`
`('I')
`I
`(.)
`.....
`I
`(.)
`
`
`,,,',',,,,.,•,:,.:.·,,:,;: ............ .
`C\I
`I
`(.)
`
`',·,•,·,•,•,•'·'•'•'•,•,'•', ..... ,.·
`..-
`I
`(.)
`E771----,
`
`:-:-: .. -.. ,:-:-.-. -.... :·
`C\I
`I
`(.)
`
`~
`a:
`<(
`[l_
`
`.....
`I
`(.)
`·,.., .... : .... ,
`
`1~·11.r.J
`
`(.) z
`>(cid:173)en
`
`.....
`I
`(.)
`
`U)
`a..
`
`I
`
`I
`
`a:
`w
`0
`~ '7
`I
`
`(l3
`._...
`
`O')
`'r"" .
`CJ
`LL
`
`a:
`0 a:
`a:
`
`w _,
`
`C\I
`
`[I]
`
`·-:.•i,,•,-:-:-.·.-::.H:t:···:·
`
`('I')
`I
`(.)
`.....
`I
`(.)
`•.,,•.•.• .............
`........
`C\I
`I
`(.)
`
`,,•,•,
`
`.....
`I
`(.)
`
`~
`a:
`<(
`[l_
`
`·'!:.-"K:-.~.-:,,,•.•::,::::
`C\I
`I
`(.)
`
`.. -........
`,,:.,.,. ·-·~:-•,•.,•.
`.....
`I
`(.)
`
`[J,J
`
`ct)
`I
`0
`
`,.,,,,.• •'•,'•n,• .~,N.•,{•
`C\I
`I
`(.)
`
`,-
`I
`(.)
`
`(.) z
`>(cid:173)en
`
`[I]
`
`[I]
`-0 ._...
`
`-.J:)
`
`._...
`
`0
`N
`CJ
`LL
`
`u -
`
`-""O -
`
`AMAZON 1005
`Page 19 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 19 of 23
`
`5,898,695
`
`FIG.21
`
`-----
`
`FETCH DATA FROM CHANNEL
`DEMULTIPLEXER (DMAC)
`
`.....J
`0
`er:
`I-
`z
`0
`()
`~
`U)
`
`~
`
`-
`
`I-
`w
`:::.:::
`() er:
`~w
`0
`W<(
`Nw
`~I
`<( z
`
`<(
`
`-
`
`SELECT AND SEND VIDEO
`AND AUDIO DATA
`
`..___
`
`ANALYZE PSI DATA AND SEND PID
`INFORMATION TO BE SELECTED
`
`-
`
`ANALYZE SI DATA AND
`GENERATE OSD DATA
`
`AMAZON 1005
`Page 20 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 20 of 23
`
`5,898,695
`
`"' :::::,
`
`.0
`
`0)
`.,-
`C\I
`
`0
`C\I
`C\I
`
`
`
`.---------'-==~I ~ _ U
`
`co
`.,-
`C\I
`\,..,
`
`a:
`<( w
`~u..
`0 ~
`co
`
`-J
`
`w
`~(.)
`<( <(
`o~
`W
`0 .. _
`n.z
`
`a:
`~~
`(.) <(
`oa:
`-..JW
`(.)Z
`w
`(9
`
`~-
`
`j
`
`C\I
`C\I
`C\I
`
`~
`
`~--.......----'
`
`T""
`C\I
`C\J ----'-----~
`SELECTOR
`
`C\I
`C\I .
`CJ
`LL
`
`""
`T""
`C\J ~--.....__--~
`ERROR FLAG
`
`co .___ _ __;_...,.....;..:........:.... _ __,
`ADDER
`.,-
`C\I ~--
`
`........... --~
`
`MIXER
`
`•
`
`._J _Li
`a:
`a:
`w
`w
`~
`~
`u:::
`u..
`au..
`Cl
`Cl
`a.. wo
`a..
`o-
`-a..
`en
`en
`>
`( a..
`; -
`, -
`5
`OJ
`I C\I
`.,-
`.,-
`C\I
`C\I
`
`oa:
`Ow
`
`~~ ---
`
`a: w
`~
`u..
`a:
`() a..
`5_
`
`I
`
`ct)
`.,-
`C\I
`
`>-
`C,
`:5
`::S>-
`w
`u..::5
`Cl
`a:w
`()
`~o
`z
`>-
`a:
`en w
`
`(
`
`LO
`.,-
`C\I
`
`, __ ~'---
`
`I
`
`"q"
`.,-
`C\I
`
`I
`
`I
`
`'
`
`'
`
`.,-
`.,-
`C\I
`
`I
`
`.0
`
`~
`
`C\I
`0
`C\I
`
`u
`
`AMAZON 1005
`Page 21 of 35
`
`
`
`202 ------
`
`b
`
`C
`
`d
`
`PSI-PIO FIL TEA l- .
`
`210---
`-
`-
`211 ---
`
`.
`212""
`
`s:
`m
`:D
`
`en
`SI-PID FILTER j.__ . >< -O:D
`m r
`C) _.
`m
`~
`0
`:D
`-----
`-- l
`
`216
`
`217
`
`221
`
`r218
`
`FIG.23
`
`m
`:D
`)>JJ
`oO
`I-+
`m"'Tl
`:II~
`G)
`
`OMA
`BUFFER ----
`
`bus
`
`PID DATA -
`INTERFACE -
`----219
`elk_
`CLOCK
`• GENERATORl---r---220
`e
`
`-
`
`-
`......
`~
`
`VIDEO/AUDIO
`PIO FILTER
`213 ._._
`-
`PCR FILTER
`-
`
`214 ... _
`-
`SYNC DELAY
`-
`215--.-
`-
`
`ERROR FLAG
`DELAY
`
`224 ... _
`VIDEO/AUDIO
`PID FILTER
`
`.
`223,._
`PSI-PIO FILTER I
`.
`225
`
`-
`
`-
`
`m
`JJ
`DATA ----222
`~ s::
`)>:D
`STORAGE
`oO
`_. MEDIA
`_. O:II
`- ><
`m
`m"'Tl
`INTERFACE
`:D
`UNIT
`:II~
`G)
`
`226
`
`p. q
`
`d •
`r:JJ.
`•
`~
`~ .....
`~ = .....
`
`~ :;
`
`N
`~-..J
`"'""
`\C
`\C
`\C
`
`'JJ. =(cid:173)~
`~ ....
`N
`"'""
`0 ....,
`N
`~
`
`Ul
`....
`00
`\C
`00
`....
`0--,
`\C
`Ul
`
`AMAZON 1005
`Page 22 of 35
`
`
`
`U.S. Patent
`
`Apr. 27, 1999
`
`Sheet 22 of 23
`
`5,898,695
`
`"d"
`C\J .
`CJ
`LL
`
`0
`<(
`0 _J
`~ Cl..
`
`...
`LL
`<(
`
`a:
`ow
`1--
`-
`....Jz
`(.)
`::)
`>-o
`(.)0
`
`.....I
`0
`LLCI:
`<!z
`0
`(.)
`
`0 -Cl..
`
`I 5~
`a:-
`Cl..
`
`I
`
`::Ew
`<(_J
`a:cn
`u
`Cl)
`
`1-- 1--_a:
`z~
`:::> Cl)
`a:
`0
`a:
`a:
`w
`0 z
`>-Cl)
`
`1--w
`~
`u
`<(
`Cl..
`(J)
`1--
`
`1--
`w
`~
`0
`~
`Cl)
`1--
`
`1--
`w
`~
`0
`<(
`Cl..
`Cl)
`1--
`
`1-- -
`WU)
`~w
`0~
`<Ceo
`Cl.. CX)
`Cl) CX)
`1--s
`
`(J)
`
`zm
`1--c)
`
`zw m~
`coo
`
`::.
`
`(J)
`
`'
`
`Cl) w
`!;
`en
`'q°
`
`'
`
`'
`
`\
`
`-n
`
`z~
`0-
`(J)
`() ::> Cl)
`w
`(J)Z
`()
`QI--
`~
`I
`1--
`LL C., <Cz 0 w
`0
`z
`
`~
`
`_J
`
`I
`
`z
`~
`0
`0
`1--z
`:::>
`0
`0
`w
`0
`.....J a..
`
`Cl)
`
`a:
`0 a..
`0
`
`... c.,
`z
`LL
`LL
`:::>
`1--
`(J)
`
`z
`...
`0
`~ Cl) z
`w
`0
`z
`1--
`X
`0
`w
`1--
`LL
`Cl..
`<(
`
`~
`<(
`0
`w
`~
`>
`a: a..
`0 lJ
`
`-
`
`a:
`0
`Cl..
`
`~
`a:
`0
`a:
`Cl..
`
`AMAZON 1005
`Page 23 of 35
`
`
`
`PAT:
`
`PIO= "O"
`PROGRAM
`ASSOCIATION
`TABLE
`
`FIG.25
`
`PMT:
`
`PID= "Mi"
`PROGRAM
`MAP TABLE
`
`PID= "Mj"
`PROGRAM
`MAP TABLE
`
`PID= "Mk"
`PROGRAM
`MAP TABLE
`
`PIO= "Vi" ENCODED VIDEO DATA
`
`PIO= "Ai" ENCODED AUDIO DATA
`
`PIO= "Vj" ENCODED VIDEO DATA
`
`PID= "Aj" ENCODED AUDIO DATA
`
`PIO= "Vk" ENCODED VIDEO DATA
`
`PID= "Ak" ENCODED AUDIO DATA
`
`d •
`r:JJ.
`•
`~
`~ .....
`~ = .....
`
`~
`;"'l
`N
`~-..J
`"'""
`\C
`\C
`\C
`
`'JJ. =(cid:173)~
`~ ....
`
`N
`~
`0 ....,
`N
`~
`
`Ul
`....
`00
`\C
`00
`....
`0--,
`\C
`Ul
`
`AMAZON 1005
`Page 24 of 35
`
`
`
`5,898,695
`
`1
`DECODER FOR COMPRESSED AND
`MULTIPLEXED VIDEO AND AUDIO DATA
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates to decoding video and audio
`data which are multiplexed after compression coding, and
`more particularly to a receiver/decoder for receiving video
`and audio data compression encoded by high efficiency
`coding means and decoding the received encoded data.
`In order to reduce a transmission/record cost of a large
`amount of video data, the video data is compression encoded
`by high efficiency coding means which removes redundancy
`the data is transmitted or recorded. An
`and thereafter
`example of high efficiency coding means is the well known
`MPEG method standardized by ISO/SC29/WG11. In the
`MPEG method, an encoded data multiplexing method as
`well as the video and audio data encoding method are
`standardized as MPEG/Systems.
`in
`In the fields of broadcasting and communications,
`recent years, redundancy of moving picture video data is
`removed to compress the video data which is then transmit(cid:173)
`ted
`in the form of digital
`signals. For video data
`compression, discrete cosine transformation
`(DCT) and
`motion compensation prediction coding such as one stipu(cid:173)
`lated in MPEG specifications are generally performed. With
`high compression ratio of video data, a plurality of broadcast
`programs can be transmitted in a multiplex manner over a
`single transmission channel. A program means a set of video
`data and its associated audio and/or text data.
`Multiplexing of a plurality of programs according to the
`MPEG specifications is stipulated in ITU-T Rec. H.222.0,
`ISO/IEC13818-l,
`1994 (E), "Information Technology(cid:173)
`Generic Coding of Moving Pictures and Associated Audio(cid:173)
`Part 1: Systems", pp. 9-21, wherein it is described that a
`transport stream (hereinafter abbreviated as TS) packet is
`used for such multiplexing which has a fixed length of 188
`bytes. The structure of an apparatus called a set top box is
`shown in the block diagram of FIG. 2. This apparatus
`separates TS packets formed in accordance with the MPEG
`specifications and supplied from a broadcast station or the
`like, and supplies them to a video decoder and an audio
`decoder to output decoded video and audio signals. Con(cid:173)
`ventional techniques will be described with reference to
`FIG. 2.
`A tuner 1 selects data of one channel transmitted from a
`communications medium such as a CATV and a communi(cid:173)
`cations satellite, and supplies the selected channel data to a
`demodulator 2. The demodulator 2 demodulates the channel
`data which was channel encoded by QAM, QPSK, or the
`like, performs an error correction process by using redun(cid:173)
`dancy codes, and supplies the processed data to a demulti(cid:173)
`plexer 3. The processed data is a bit stream data of the TS
`packet format which is shown in FIGS. 3A and 3B. The
`formats are classified into two types shown in FIGS. 3A and
`3B according to the contents of a TS packet. The format
`shown in FIG. 3Ais used for transmitting program elements,
`including video data, audio data, text data such as teletext,
`and other data. Each TS packet of 188 bytes is constituted by
`a transport stream header (abbreviated as TS header) and a 60
`payload containing elements described above. The TS
`header always contains a packet ID (abbreviated as PID)
`representative of the attribute of the TS packet, and some(cid:173)
`times contains a program clock reference ( abbreviated as
`PCR) which is time information used for a decoder to 65
`recover a system clock used as a time reference when each
`element was encoded. The payload is part of a packetized
`
`2
`elementary stream (PES). The PES packet is a variable
`length packet constituting an element unit determined by
`each element, the type of data storage media, and the like.
`The PES packet is constituted by data of each element and
`5 a PES header. The PES header includes a stream ID for
`describing the element contents, time stamp information
`(PTS) for describing a PES packet length and a time when
`the element is displayed, and other pieces of information.
`The element unit designated by PTS is called an access unit.
`ftc::~i~s ;~~~~/~~:~~0sii~~ ~:d F~~~
`10 rr~:itexf~h~\~ft
`3B is used for program specific information (abbreviated as
`PSI) which is additional information used for the system
`control. The payload of the TS packet is part of PSI
`described in units of sections. Each section is constituted by
`15 a section header, PSI, and cyclic redundancy check (CRC)
`used for error correction. The section header indicates the
`attribute of the succeeding PSI and a section length. PSI is
`structured hierarchically and contains information necessary
`for the system control, such as program association table
`20 (PAT) describing program information (specifically, PID of
`PMT to be described later) contained in bit stream data
`transmitted as TS, and a program map table (PMT) describ(cid:173)
`ing a correspondence between the element and PID in each
`program. The demultiplexer 3 shown in FIG. 2 receives a TS
`2s packet, and supplies PSI data via a data bus to a system
`decode buffer allocated in a RAM 7, and video and audio
`data which are elements constituting a program selected by
`to a video decoder 8 and an audio
`a user, respectively
`decoder 10. The demultiplexer 3 samples time information
`30 from the header of the TS packet containing PCR, and
`supplies control signals to a clock generator 4 to recover the
`system clock. A microprocessor 12 decodes the contents of
`PSI data sent to the system decode buffer in RAM 7 and
`stores the results in a system decode buffer 73 in RAM 7 in
`35 the data format usable by system control software programs.
`Software programs are generally stored in the same RAM or
`in a dedicated ROM. The work area of software programs is
`generally developed in RAM 72. In response to an instruc(cid:173)
`tion entered by a user via a user interface unit 13, the
`40 microprocessor 12 supplies PID which is used for deriving
`the TS packet of a program, to the demultiplexer 3, by using
`the decoded PSI data, and also supplies a control signal
`which is used for selecting the program, to the tuner 1. The
`video decoder 8 and audio decoder 10 decode the video and
`45 audio data in cooperation with a video decode buffer 9 and
`an audio decode buffer 11. Data transmission speed on a
`transport channel is different from the bit rate used when
`each element was encoded, because of multiplexing of
`programs. Therefore, if data is supplied at the data trans-
`so mission speed directly to the video decoder 8 and audio
`decoder 10, the video decode buffer 9 and audio decode
`buffer 11 may locally overflow or underflow and video and
`audio outputs are disturbed. It is therefore necessary to insert
`packet transport buffers 5 and 6 between the demultiplexer
`ss and decoders to convert the bit rates in accordance with the
`capacities of the decoder buffers, and thereafter to supply
`element data to the video decoder 8 and audio decoder 10.
`Multiplexing according to the MPEG specifications assume
`that a packet transport buffer having a capacity of 512 bytes
`per each element is provided.
`The present inventors have found out problems of an
`increased number of system components and an increased
`cost to be caused by the provision of the packet transport
`buffers 5 and 6 independently from the system memory.
`Even if the packet transport buffers are implemented in the
`demultiplexer 3, the increased circuit scale and an increased
`cost thereof are inevitable.
`
`AMAZON 1005
`Page 25 of 35
`
`
`
`5,898,695
`
`3
`The MPEG specifications standardize not only a video
`and audio encoding method but also a coded data multi(cid:173)
`plexing method, as the MPEG/Systems.
`FIG. 24 shows
`the structure of a transport packet
`(hereinafter called a TS packet) adopted by the transport
`system which represents one multiplexing method of the
`MPEG/Systems.
`Each TS packet is a fixed length packet of 188 bytes
`including a 4-byte header and a 184-byte payload. The
`4-byte header is constituted by a sync byte, an error flag, a
`unit start flag, a scramble control flag, a priority flag, a set
`of PID data, an adaptation field control flag, and a cyclic
`counter. The contents of PID data identify the payload of the
`TS packet.
`field
`is constituted by an adaptation
`The payload
`(hereinafter abbreviated as AF) designated by the adaptation
`field control flag and a payload having video and audio
`encoded data and multiplexing
`information data. AF is
`constituted by AF length data, a discontinuity flag, a random
`access flag, a priority flag, a PCR flag indicating a presence/
`absence of AF optional data, an OPCR flag, a splice point
`flag, a private data flag, and optional data designated by
`these flags. Of the optional data, PCR data is used for clock
`synchronization between
`the transmission and reception
`sides, and the reception side generates a reference clock of
`27 MHz by using a phase locked loop.
`FIG. 25 illustrates selection of a particular channel of
`encoded video and audio data from a bit stream (TS packets)
`with a plurality of programs (hereinafter called channels)
`multiplexed. A program association table (hereinafter abbre(cid:173)
`viated as PAT) is always transmitted by a TS packet having
`PID="O". PAT contains multiplexing information of a plu(cid:173)
`rality of channels and supplies information on whether each
`channel program map table (hereinafter abbreviated as
`PMT) is transmitted by a TS packet having what PID value.
`FIG. 25 shows an example of multiplexing of three
`channels. In order to select a j-th channel and obtain its PMT,
`the TS packet with PID=Mj is captured. This PMT has
`information that the video data is transmitted by the TS
`packet with PID=Aj and the audio data is transmitted by the
`TS packet with PID= Vj. Therefore, encoded video data can
`be received by capturing the TS packet with PID= Vj and
`encoded audio data can be received by capturing the TS
`packet with PID=Aj.
`The MPEG/Systems described above, however, define
`only syntax of TS packets and the like and does not
`determine how a reception apparatus is actually configured.
`In addition, it does not provide particular definition of
`multiplexing of value added services such as program
`guidance, which definition is relied upon arbitrary decision
`on the side of broadcasting companies or program vendors.
`In conventional
`technique disclosed in JP-A-4-229464
`(corresponding
`to EP-0460751A2), each packet has time
`information which is used on the decode side as a reference 55
`of various timings including a decode timing.
`
`SUMMARY OF THE INVENTION
`
`It is an object of the present invention to provide a 60
`decoder for compressed and multiplexed video and audio
`data, wherein packet landing buffers are allocated in a RAM
`used by a CPU for the system control to thereby reduce the
`number of components and lower the cost of components.
`According to one aspect of the present invention, there is
`provided a decoder for compressed and multiplexed video
`and audio data for receiving a group of packets having a
`
`20
`
`30
`
`10
`
`4
`plurality of multiplexed packet sets each containing video
`data and associated audio data compressed by compression
`codes and packetized and outputting a set of video and audio
`signals, comprising: a video decoder for decoding the corn-
`s pressed video data; an audio decoder for decoding the
`compressed audio data; a first memory for sequentially
`storing the group of packets; a processor for executing a
`process in accordance with a stored program, the process
`including sequentially
`reading a packet from the first
`memory, filtering packets containing a set of particular video
`and audio data and a control packet containing attribute
`information of the group of packets, and supplying the
`particular video and audio data to the video and audio
`decoders; a second memory having a work area for at least
`the stored program; a third memory for storing the attribute
`15 information contained in the control packet; and an interface
`unit for transferring an external control signal
`to the
`processor, the external control signal being used for filtering
`a set of video and audio data, wherein the first to third
`memories are provided in the same memory element.
`A storage device of RAM used by a processor (CPU) as
`a main memory stores operating system software and is
`required to have a capacity of several mega bits. It is
`therefore easy to allocate the memory of which capacity is
`required 512 bytes for a packet landing buffer for each data
`25 element in the RAM. Therefore, the number of components
`is not increased.
`It is another object of the present invention to provide a
`receiver for compressed video and audio data capable of
`receiving a bit stream with a plurality of multiplexed
`channels, decoding
`the video and audio data, and also
`receiving value added service data flexibly.
`According to another aspect of the invention achieving
`the above object, there is provided an apparatus comprising:
`35 data selecting means for selecting an encoded stream of one
`channel ( a group of packets), multiplexing information data,
`and additional information data, from a multiplexed stream
`(packets); bus access means for supplying
`the selected
`encoded stream and the like to a bus; a microprocessor
`40 connected to the bus; a random access memory; a program
`memory; means for processing the additional information
`data; means for decoding the video data; and means for
`decoding the audio data.
`The apparatus may further comprises: means for gener-
`45 ating a clock signal in accordance with clock information in
`the encoded stream; packet sync supply means for supplying
`a packet sync signal of the encoded stream to the micro(cid:173)
`processor; means for adding an error flag indicative of
`failure in correcting transmission errors to the encoded
`50 stream, and data storage media interface means.
`The encoded stream of one channel and other data
`selected by the data selecting means are stored via the bus
`access means and the bus into the random access memory,
`data read from the random access memory is analyzed and
`discriminated, and via the bus the video data is supplied to
`the video data decoding means, the audio data is supplied to
`the audio data decoding means, the additional information
`data or processed additional information data is supplied to
`the additional information data processing means.
`The video data decoding means expands and decodes the
`encoded video data and the audio data decoding means
`expands and decodes the encoded audio data to reproduce
`video and audio signals. The additional information data
`processing means allows, for example, a program guide, to
`65 be displayed on video data in an overlay manner.
`Th