(19) 11 Patent Number: 6037932
Total Page:16
File Type:pdf, Size:1020Kb
USOO6037932A United States Patent (19) 11 Patent Number: 6,037,932 Feinleib (45) Date of Patent: Mar. 14, 2000 54 METHOD FOR SENDING COMPUTER FOREIGN PATENT DOCUMENTS NES RART OF VERTICAL 0 723 369 A1 1/1995 European Pat. Off.. 0 757 485 A2 7/1996 European Pat. Off.. 75 Inventor: David Feinleib, Redmond, Wash. Primary Examiner Victor R. Kostak Attorney, Agent, or Firm-Lee & Hayes, PLLC 73 ASSignee: Microsoft Corporation, Redmond, 57 ABSTRACT S. A method for encoding a network data packet, Such as an 21 Appl. No.: 08/726,529 I internet PProtoco 1 (IP) dataata packet, iinto a fformat ffor trans mission as part of the Vertical Blanking Interval (VBI) of a 22 Filed: Oct. 7, 1996 broadcast Video signal is described. The method includes O O receiving a network data packet from a data network. The Related U.S. Application Data network data packet has a data block and header informa 60 Provisional application No. 60/018,526, May 28, 1996. tion. The network data packet is then encoded into a 51) Int. Cl.'7 ..................................................... H04N 7/173 Variable-lengthiable-length data groupgrOur packet having a Variable-lengtiable-length 52 U.S. Cl. ...................... 345/327, 348/478; 395/20049 data block and header information. The network data packet 58) Field of Search s 34s/478,476 is inserted in its entirety into the data block of the data group 348/7, 12 13, 10,345,327,328. 395200 47. packet. In one implementation, the header information for s u- as ---19 u-sus 2004s.200.49 the data group packet includes a 2-byte type header indi • I was a \ \ . cating a type of network data contained in the data block of 56) References Cited the data group packet and a 6-byte reserved space header that is reserved for future definition by the developer. One U.S. PATENT DOCUMENTS potential use of the reserved space header is for a MAC 5,541,662 7/1996 Adams et all 348/460 address. In a Second implementation, the header information 5,552,833 9/1996 Henmi et al... ... 348/47s for the data group packet consists of a conventional 5,594.22s 1/1997 Hershey et al. ... 370/471 NABTS-defined record header. The variable-length data 5,604,542 2/1997 Dedrick ................ ... 348/478 group packet is then encoded into one or more fixed-length 5,689,799 11/1997 Dougherty et al. ......................... 455/2 VBI-compatible packets. Each VBI-compatible packet has 5,694,163 12/1997 Harrison. ... 348/13 the potential to Store up to 28 bytes of data. The data group 5,774,664 6/1998 Hidary ...................................... 38/12 packet is partitioned and placed into the data blocks. 5,774,666 6/1998 Portuesi ... ... 395/200.48 5,818,935 10/1998 Mau ........................................ 348/467 24 Claims, 6 Drawing Sheets PfP Packet 122 -120 P UDP Data (20) \ (8) \ (NBytes) W / 134 to to 132 - 136 \ - - 1 30 \ Reserved Type Data Paddin (6) (2) A. (MBytes) N A. 9 W y w A y \ \ w \, f \ v. 138 | \ 0x08 0x00 / . i y \ / y w A. \ v V ? W 2O f y 20 24 Ww 2O / \ | y | - W f W w A. S. So 2 Data Block (28) SS O g Data Block (28) |S|2 c5 g Data Block (28) -Prefix—-> 22 N-24 22 N-24 22 s Data Packet U.S. Patent Mar. 14, 2000 Sheet 1 of 6 6,037,932 ZZ s??Ágg—? U.S. Patent Mar. 14, 2000 Sheet 2 of 6 6,037,932 g 5 U.S. Patent Mar. 14, 2000 Sheet 3 of 6 6,037,932 RECEIVE NETWORK DATA 100 PACKET FROM DATA NETWORK ENCODE NETWORK DATA PACKET INTO VARIABLE- 102 LENGTH DATA GROUP PACKET ENCODE DATA GROUP PACKET INTO FIXED-LENGTH 104 VB-COMPATIBLE DATA PACKETS TRANSMIT VEB-COMPATIBLE 106 DATA PACKETS OVER BROADCAST MEDIUM 108 RECEIVE VB-COMPATIBLE DATA PACKETS / RECONSTRUCT DATA 11 O GROUP PACKET FROM VB COMPATIBLE DATA PACKETS / EXTRACT NETWORK DATA 112 PACKET U.S. Patent 6,037,932 »% U.S. Patent 6,037,932 NY S N U.S. Patent Mar. 14, 2000 Sheet 6 of 6 6,037,932 - 150 164 Application / -162 WinSOCk 2 -160 TCP/IP UDP/IP 156 Layered Miniport 154 152 Receiver Board 6,037,932 1 2 METHOD FOR SENDING COMPUTER especially on their computers. Unfortunately, most computer NETWORK DATAAS PART OF VERTICAL applications today are not configured to be compatible with BLANKING INTERVAL the VBI data. To receive the VBI data, application devel operS must Specialize their products. This is particularly the RELATED APPLICATION case for developers building applications for a Windows(E)- based operating System manufactured and Sold by This application claims the benefit of U.S. Provisional MicroSoft, as Such applications must be configured to call Application No. 60/018,526, filed May 28, 1996. Specialized functions that are not a Standard part of the TECHNICAL FIELD Windows(R operating system. It would be beneficial to provide a more global approach This invention relates to methods for Sending computer to transmitting VBI data So that it can be easily used in network data, and particularly Internet Protocol (IP) data, as computer applications without calling Specialized functions. part of the Vertical Blanking Interval of a broadcast video In the network environment, computer applications use Signal (e.g., a conventional television signal). Standard sets of Application Programming Interfaces (APIs) 15 to transmit and receive data over networks and over the BACKGROUND OF THE INVENTION Internet. For example, applications designed to run on Conventional broadcast television Signals are transmitted WindowS(R)-based operating Systems employ a Standard Set in a data format that is used to construct individual television of APIs that are defined in the Windows Sockets frames. Each frame contains video image data (i.e., pixel Specification, a well known specification. These APIs have data) used to create images on the television Screen and been defined by industry committees and are widely in use. control information used to control the presentation of the The Sockets APIs provide a network independent way to image, Such as Synchronization and timing information. The Send and receive data, no matter what the underlying com Video Blanking Interval (VBI) is the upper 21 lines of a puter network (e.g., Ethernet, asynchronous transfer mode typical television frame. These VBI lines are not displayed (ATM), Satellite, etc.). Computer applications do not need to on the television, but are instead used to carry the television 25 be specially written to receive data from a particular net control information. Up to ten VBI lines can be used for work. Instead, a developer writeS code for an application transmission of data separate from and in addition to the that interfaces to the Windows(R Sockets API, enabling the television image control information. Additionally, line 21 application to Send and receive data over a number of of the VBI is used for transmission of closed captioning different networkS Supported by the computer's hardware. information. One common and widely used type of network data is Astandard format for sending data as part of the VBI lines called Internet Protocol (IP) data. IP data defines a standard is specified by the Electronic Industries ASSociation docu format for carrying data over essentially any underlying ment EIA-516 (May, 1988): “Joint EIA/CVCC Recom network, including the Ethernet and the Internet. The IP mended Practice for Teletext: North American Basic Tele Standard defines a packet used to encapsulate the data, and text Specification (NABTS).” The NABTS specification 35 IP data is always encapsulated in this packet, regardless of defines a format for dividing lengthy Streams of data into the transmission network. fixed-length data packets. It is these data packets that are The inventor has conceived of a technique to repackage encoded into the VBI and transmitted over the broadcast network data, such as IP data, into a VBI-compatible format network. 40 which can be transmitted as part of a traditional broadcast FIG. 1 shows a VBI-compatible data packet 20 consisting television Signal. At the receiver, the network data is of 33 eight-bit bytes. The VBI data packet 20 comprises a extracted from the VBI Signal and passed to the computer data block 22, which may be up to 28 bytes in length, and application through a Standard Set of existing APIs, rather a five-byte prefix or header 24. The data block 22 varies in than through proprietary or non-Standard functions known length depending upon the size of an optional Suffix or trailer 45 only to Single monolithic client applications. 26, which follows the data block. The trailer 26 can be 0, 1, 2, or 28 bytes in length. Accordingly, the data block can be SUMMARY OF THE INVENTION 0, 26, 27, or 28 bytes in length. Different encoders have One aspect of this invention concerns a method for different modes which dictate the length of the trailer 26 and encoding network data, Such as Internet Protocol (IP) data, hence, the length of the actual data Stored in the data block 50 into a format for transmission as part of the Vertical Blank 22. The optional trailer 26 provides room for Specifying ing Interval (VBI) of a broadcast video signal. This method error detection or error detection and correction data to be includes configuring a network data packet having a data used by receivers. The five-byte header 24 consists of three block and header information. As an example, an IP packet packet address bytes, one continuity index byte, and one has a variable length data block and fixed length header packet Structure byte.