1460733631-6bc26408-b7ca-4894-918a-5931b686a288

1. An apparatus of generating a transport packet, the apparatus comprising:
a packet generating unit to generate a transport packet having a variable length by packetizing an elementary stream and inverting each bit of a value of a field in a header of the transport packet,
wherein a synchronization area is configured in the transport packet to indicate the variable length.
2. The apparatus of claim 1, wherein the packet generating unit sets the length of the transport packet to be a multiple of a predetermined number of bytes.
3. The apparatus of claim 2, wherein the predetermined number of bytes is 188 bytes.
4. The apparatus of claim 1, further comprising:
a packet length setting unit to set the field in an area of the header, the field indicating the length of the transport packet,
wherein the packet generating unit allocates the area of the header to the transport packet.
5. The apparatus of claim 4, wherein the packet length setting unit increases the value of the field by one to indicate the length of the transport packet.
6. The apparatus of claim 4, wherein the packet length setting unit inverts each bit of the value of the field to indicate the length of the transport packet.
7. The apparatus of claim 1, further comprising:
a packet length setting unit to indicate the length of the transport packet using the synchronization area,
wherein the packet generating unit sets the synchronization area in the transport packet.
8. The apparatus of claim 7, wherein the packet length setting unit increases a value of the synchronization area by one to indicate the length of the transport packet.
9. The apparatus of claim 7, wherein the packet length setting unit changes a value of a predetermined area of the synchronization area to indicate the length of the transport packet.
10. An apparatus of depacketizing a transport packet, the apparatus comprising:
a depacketizing unit to depacketize a transport packet having a variable length by checking the transport packet for each multiple length of a predetermined number of bytes and detecting a starting point of the transport packet,
wherein a synchronization area in the transport packet indicates the variable length.
11. The apparatus of claim 10, wherein the length of the transport packet is set to be a multiple of the predetermined number of bytes.
12. The apparatus of claim 11, wherein the predetermined number of bytes is 188 bytes.
13. The apparatus of claim 10, wherein:
the transport packet includes a header, and the header includes a field indicating the length of the transport packet; and
the depacketizing unit decodes the transport packet using the field.
14. The apparatus of claim 11, further comprising:
a synchronization area decoding unit to check the synchronization area of the transport packet for each multiple length of the predetermined byte, and to detect the starting point of the transport packet based on a predetermined rule with respect to the synchronization area to decode the transport packet.
15. A method of generating a transport packet, the method comprising:
generating by a packet generating unit a transport packet having a variable length, and the length being a multiple of a predetermined number of bytes by packetizing an elementary stream and inverting each bit of a value of a field in a header of the transport packet,
wherein a synchronization area in the transport packet indicates the variable length.
16. The method of claim 15, wherein the generating comprises:
allocating an area of the header to the transport packet;
setting the field in the area of the header, the field indicating the length of the transport packet; and
indicating the length of the transport packet using the value of the field.
17. The method of claim 15, wherein the generating comprises:
setting the synchronization area in the transport packet; and
indicating the length of the transport packet using the synchronization area.
18. A method of depacketizing a transport packet, the method comprising:
depacketizing by a depacketizing unit a transport packet having a variable length, the length being a multiple of a predetermined number of bytes by checking the transport packet for each multiple length of a predetermined number of bytes and detecting a starting point of the transport packet,
wherein a synchronization area in the transport packet indicates the variable length.
19. The method of claim 18, wherein:
the transport packet includes, in a header of the transport packet, a field indicating the length of the transport packet; and
the depacketizing comprises:
detecting the starting point of the transport packet using a value of the field; and
decoding the transport packet from the starting point of the detected packet.
20. The method of claim 18, wherein the depacketizing comprises:
checking the synchronization area of the transport packet for each multiple length of the predetermined number of bytes; and
detecting the starting point of the transport packet based on a predetermined rule with respect to the synchronization area to decode the transport packet.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A system for providing communication between a host computer and an embedded computer, the system comprising:
an embedded computer executing a plurality of threads that provide a communication interface, each communication interface having a plurality of data fields;
a script engine for executing script instructions;
a communication database identifying each of the communication interfaces, wherein the communication database is automatically generated, at least in part, from information comprising:
an interface description file that defines the communications interfaces;
machine characteristics of the embedded device; and
machine characteristics of a platform that is executing the script engine;

a communication module for providing an application programming interface for the script instructions to access the communication interface, wherein the communication module is automatically generated based upon information from information from the communication database; and
wherein the script instructions identify at least one of the communication interfaces in the communication database and invoke a function with respect to at least one field in the identified communication interface via the application programming interface, wherein the function is selected from the group comprising: storing data in one of the data fields, reading data from one of the data fields, and testing a data field.
2. A system for providing communication between a host computer and an embedded computer, the system comprising:
an embedded computer executing a plurality of threads that provide a communication interface, each communication interface having a plurality of fields;
a communication database identifying each of the communication interfaces;
a communication module for providing an application programming interface for the script instructions to access the communication interface, wherein the communication module is automatically generated based in part from information that is maintained in the communication database; and
wherein the script instructions identify at least one of the communication interfaces in the communication database and invoke a function with respect to at least one field in the identified communication interfaces via the application programming interface.
3. The system of claim 2, wherein the function is selected from the group comprising: setting a field, reading a field, and testing a field.
4. The system of claim 2, wherein the communication module on the host computer automatically formats data for transmission from a thread executed by said embedded computer to a thread executed by said host computer, or for transmission from a thread executed by said host computer to a thread executed by said embedded computer, or for transmission from a thread executed by one of said computers to a different thread executed by the same computer.
5. The system of claim 4, wherein the process of formatting data for transmission comprises:
determining whether the data is to be transmitted between different threads on the same computer, and
transmitting the data without modification where the data transmission is intended to occur between different threads on the same computer.
6. The system of claim 4 wherein the process of formatting data for transmission comprises:
determining whether the data is to be transmitted between threads on the host computer and the embedded computer,
performing the following steps where the data is to be transmitted between a thread on the host computer and a thread on the embedded computer, or between a thread on the embedded computer and a thread on the host computer:
copying data in payload and data referenced by pointers into a message for transmission,

formatting, if necessary, the byte order of the data elements in the payload,
formatting, if necessary, the size of the data types in the payload, and
adjusting alignment of the data structures.
7. The system of claim 6 wherein the process of formatting data for transmission is performed solely by the host computer.
8. The system of claim 6 wherein the process of formatting data for transmission is performed solely by the embedded computer.
9. The system of claim 4 wherein the process of formatting data for transmission comprises copying data in payload and data referenced by pointers into a message for transmission.
10. The system of claim 4 wherein the process of formatting data for transmission comprises formatting the byte order of the data elements in the payload.
11. The system of claim 4 wherein the process of formatting data for transmission comprises formatting the size of the data types in the payload.
12. The system of claim 4 wherein the process of formatting data for transmission comprises adjusting alignment of the data structures.
13. A method of providing communication with a thread, the method comprising:
retrieving a reference to a communication object, wherein the communication object provides an application programming interface for a scripting program to access a communication interface that is provided by a thread that is executing on an embedded computer;
storing data in at least one data field via the application programming interface; and
transmitting the stored data to the thread via application programming interface and the communication interface.
14. A method of providing communication with a thread, the method comprising:
retrieving a reference to a communication object, wherein the communication object provides a read method for a scripting program to access a communication interface; and
invoking a read method of the communication object thereby receiving stored data that is provided via the communication interface by a thread that is executing on an embedded computer.
15. A method of providing communication with a thread, the method comprising:
generating a communication database that describes at least one communication characteristic of a communication interface that is defined in an interface description file;
retrieving a reference to a communication object, wherein the communication object provides an application programming interface for a scripting program to access a communication interface that is provided by a thread that is executing on an embedded computer; and
storing data in at least one data field in the communication via the use of the application programming interface.
16. A method of providing communication with a thread, the method comprising:
retrieving a reference to a communication object, wherein the communication object provides an application programming interface for a scripting program to access a communication interface that is provided by a thread that is executing on an embedded computer; and
storing data in at least one data field in the communication via the use of the application programming interface.