WO2007116539A1 - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
WO2007116539A1
WO2007116539A1 PCT/JP2006/315053 JP2006315053W WO2007116539A1 WO 2007116539 A1 WO2007116539 A1 WO 2007116539A1 JP 2006315053 W JP2006315053 W JP 2006315053W WO 2007116539 A1 WO2007116539 A1 WO 2007116539A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
lines
image data
cycle
amount
Prior art date
Application number
PCT/JP2006/315053
Other languages
English (en)
French (fr)
Inventor
Yasuhiko Nakano
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2008509681A priority Critical patent/JP4825265B2/ja
Priority to EP06781963A priority patent/EP2003892A4/en
Publication of WO2007116539A1 publication Critical patent/WO2007116539A1/ja
Priority to US12/235,350 priority patent/US20090010342A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44231Monitoring of peripheral device or external card, e.g. to detect processing problems in a handheld device or the failure of an external recording device

Definitions

  • the present invention relates to a data transfer apparatus that compresses and transfers data.
  • Image data is usually compressed and transferred using a compression method such as MPEG (Moving Picture Experts Group) 2.
  • MPEG Motion Picture Experts Group
  • the MPEG2-TS format is often used when transferring data in the MPEG2 format.
  • the actual data to be transferred is encapsulated in a fixed length of 188 bytes along with various control data.
  • Patent Documents 1 and 2 disclose techniques relating to code amount control related to MPEG2.
  • Patent Document 1 Japanese Patent Laid-Open No. 2001-28753 “Moving Image Encoding Device and Method”
  • Patent Document 2 Japanese Patent Laid-Open No. 2001-238215 “Moving Image Encoding Device and Method” Disclosure of the Invention
  • An object of the present invention is to provide a data transfer apparatus and a data transfer method capable of transferring data in real time with a simple configuration.
  • a first aspect of the present invention is a one-cycle transfer amount calculation unit that calculates the number of processing units of the input data to be transferred in one cycle and the amount of data corresponding to the number of processing units based on the type of input data.
  • a buffer unit capable of storing data corresponding to the number of processing units in the input data, a data amount corresponding to the calculated number of processing units, and the buffer unit.
  • An invalid data adding unit that calculates a difference from the data stored and adds invalid data to the data stored in the buffer unit by the difference.
  • the data transfer apparatus includes a packet generation unit that generates and transmits a packet based on the data to which the invalid data is added.
  • the image data transfer device is an image data transfer device that compresses and transfers image data, and the line of the image data transferred in one cycle based on the type of the image data.
  • a one-cycle transfer amount calculation unit for calculating a data amount corresponding to the number and the number of lines, and the image data processed by the variable-length code
  • the difference between the buffer unit capable of storing the data for the number of lines, the amount of data corresponding to the calculated number of lines, and the data stored in the buffer unit is calculated, and the difference is calculated. Only, an invalid data adding unit that adds invalid data to the data stored in the buffer unit, and a packet generating unit that generates and transmits a packet based on the data to which the invalid data is added.
  • An image data transfer device is characterized.
  • the one-cycle transfer amount calculation unit calculates the number of lines transferred in one cycle and the data amount corresponding to the number of lines, and also corresponds to the number of lines stored in the buffer unit. Invalid data is added to the data by the invalid data adding unit so that the data amount matches the calculated data amount.
  • This makes it possible to set the packet size to a fixed length even for data processed by a variable length code, and is required, for example, when performing isochronous transfer in an inexpensive system such as an IEEE1394 interface. The fixed bit rate requirement is satisfied, and image data can be transferred in real time with a simple configuration.
  • the image data transfer device is an image data transfer device that compresses and transfers image data, and the line of the image data transferred in one cycle based on the type of the image data.
  • the difference between the buffer unit capable of storing data for the number of lines to be fixed length, the amount of data corresponding to the calculated number of lines to be fixed length, and the data stored in the buffer unit is shown.
  • an invalid data addition that adds invalid data to the data stored in the buffer unit by the difference.
  • An image data transfer apparatus comprising a packet generation unit for transmitting the data.
  • the image data transfer device for example, by setting the number of lines to be the fixed length to be greater than or equal to the number of lines of the image data transferred in the one cycle, a larger number of lines
  • the code amount monitoring by the code amount monitoring unit in the system can be performed more easily.
  • the image data transfer method is an image data transfer method for compressing and transferring image data, and the line of image data transferred in one cycle based on the type of the image data.
  • a one-cycle transfer amount calculation step for calculating the number of data and the amount of data corresponding to the number of lines, and a step of storing data for the number of lines in the buffer unit among the image data processed by variable length encoding, The difference between the data amount corresponding to the calculated number of lines and the data stored in the buffer unit is calculated, and the invalid data is added to the data stored in the buffer unit by the difference.
  • the image data transfer method of the present invention is an image data transfer method for compressing and transferring image data. Based on the type of the image data, the number of lines of the image data transferred in one cycle, a fixed length Out of the image data processed by one-cycle transfer amount calculation step and variable-length encoding to calculate the amount of data corresponding to the number of lines to be fixed and the number of lines to be fixed length, and to the fixed length Storing the data for the number of lines to be stored in the buffer unit, calculating the difference between the data amount corresponding to the calculated number of lines to be fixed length and the data stored in the buffer unit, and Due to the difference, an invalid data addition step for adding invalid data to the data stored in the buffer unit, and the leading force for the data to which the invalid data has been added In one cycle, the data amount corresponding to the number of lines of the image data to be transferred is cut out, and the cutout is performed.
  • An image data transfer method comprising a step of generating and transmitting a packet for each data amount.
  • the packet size can be set to a fixed length even for data processed by variable-length coding, and the fixed bit rate required for performing isochronous transfer is defined. Therefore, data can be transferred in real time with a simple configuration.
  • FIG. 1 is a diagram showing an in-vehicle image data transfer system as an application example of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a data transfer apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing image data size, transfer rate, compression rate, and one-cycle transfer amount for each device (channel).
  • FIG. 4 is a diagram showing a modification (part 1) of FIG.
  • FIG. 5 is an example of a table held by a one-cycle transfer amount calculation unit.
  • FIG. 6A is a diagram showing a code key table when pixels are expressed in RGB when Huffman code key is used as variable length coding.
  • FIG. 6B is a diagram showing a code key table when pixels are expressed in YUV when Huffman code key is used as variable length coding.
  • FIG. 7 is a diagram for explaining an example in which invalid data is distributed in data and the data is fixed length.
  • FIG. 8 is a diagram for explaining an example in which invalid data is added at the end to make the data a fixed length.
  • FIG. 9 is a diagram showing the principle of the present invention.
  • FIG. 10 is a diagram showing an image of data.
  • FIG. 11 is a diagram showing a packet configuration.
  • FIG. 12 is a block diagram showing a configuration for performing compression processing.
  • FIG. 13 is a view showing a term chart of Example 7.
  • FIG. 14 is a diagram showing the flow of Example 7.
  • FIG. 15 is a diagram showing term charts of Examples 8 and 9.
  • FIG. 16 is a diagram showing the flow of Example 8.
  • FIG. 17 shows the flow of Example 9.
  • FIG. 18 is a view showing a term chart of Example 10.
  • FIG. 19 is a diagram showing the flow of Example 10.
  • FIG. 20 is a diagram showing a configuration of LSI transmission / reception.
  • FIG. 21 is a diagram showing a reception flow in Example 11.
  • FIG. 22 is a diagram showing a flow of the present invention.
  • FIG. 23 is a diagram showing a flow of the present invention.
  • FIG. 24 is a diagram showing a configuration example of a recording medium that can be read by a computer with a control program.
  • FIG. 25 is a detailed block diagram of an isochronous packet.
  • Fig. 9 shows the principle of the present invention.
  • the system shown in FIG. 9 includes a preprocessing unit 91, a preprocessed buffer 92, and a fixed-length packet generation processing unit 93.
  • the preprocessing unit 91 acquires input data, performs a predetermined process, and stores the processed data in the preprocessed buffer 92.
  • the input data can be variable length data or fixed length data.
  • the preprocessing unit 91 performs processing based on a unit (a line in the case of an image) indicated by a predetermined value (for example, 4).
  • the predetermined value is a data transfer amount that is calculated by the one-cycle transfer amount calculation processing unit 94 of the fixed-length packet generation processing unit 93 described later and can be superimposed on one cycle of one fixed-length packet that is output periodically.
  • the quotient obtained from “average data amount per unit (line in the case of image) stored in the data transfer amount per cycle ⁇ pre-processed buffer or input data)”. The value is based on.
  • the affinity between the processing in the pre-processing unit and the processing of the transfer layer is increased. Becomes possible. Note that the predetermined value is not calculated by the one-cycle transfer amount calculation processing unit 94, and a preset value can also be used.
  • the pre-processing unit 91 may be omitted.
  • the data reading unit 95 directly reads input data.
  • the pre-processed buffer 92 stores variable-length data (data for each line in the case of an image) that is divided into certain chunks. For example, as shown in FIG. 10, one line for a 720 ⁇ 480 image is stored as a lump for each predetermined value (4 in this example).
  • the fixed-length packet generation processing unit 93 includes a one-cycle transfer amount calculation processing unit 94, a data reading unit 95, a packet generation unit 96, and a transfer amount table 97.
  • the data reading unit 95 acquires the data stored in the preprocessed buffer 92.
  • the one-cycle transfer amount calculation processing unit 94 obtains information necessary for packet transfer from the transfer amount table 97 (for example, a device number when there are a plurality of image processing devices (devices that generate input data)). Or the amount of data to be transferred in one cycle (one packet), which is determined according to the input data, or the above-mentioned predetermined value corresponding to the amount of data.
  • the transfer amount table 97 instead of using the transfer amount table 97, it is also possible to receive the input of data necessary for processing and calculate it every time processing is performed. For high-speed processing, it is desirable to set the type of input data and the 1-cycle transfer amount corresponding to it in advance in the transfer amount table 97.
  • the packet generation unit 96 after the data (A to D) for four lines, is filled with EOF (End Of File) and invalid data (for example, “0” padded as shown in FIG. 11). ) Is added and transferred as fixed-length data.
  • EOF End Of File
  • invalid data for example, “0” padded as shown in FIG. 11
  • FIG. 12 shows an example in which the present invention is applied as a data transmission unit of an image processing apparatus and the preprocessing unit 91 is a compression processing unit 121.
  • Image data is input to the compression processing unit 121, and compressed data is generated by the quantization processing unit 122, the encoding processing unit 123, the code amount monitoring unit 124, and the like.
  • the compressed data buffer 125 stores, for example, the line 1 compressed data to the line 4 compressed data as one block if the above-mentioned predetermined value is used.
  • EOF and “0” are added to the line 1 compressed data to line 4 compressed data in the same way as the operation in the transfer layer in Fig. 9, and the fixed length packet data is output.
  • the pre-processing unit 91 or the compression processing unit 121 and the fixed-length packet generation processing unit 93 are distributed on different computers even if they are mounted on the same computer. Even if it is mounted, it does not help.
  • the processing target of the present invention may be, for example, audio data in addition to image data alone.
  • image data is described as a processing target. Therefore, for example, data per unit time (for example, audio data for one second) is used if the voice data is a force that uses a line as an explanation of the processing unit. Can be handled as a processing unit.
  • the present invention provides a system (data transfer device) that realizes the request at a low cost with a simple configuration when real-time performance is required for transfer of image data.
  • the camera 11 captures an image of a place that is likely to be a blind spot in the driver's field of view, such as on the side or behind the road, and is connected to the main display device 15 and the main display device 15 via the bus 16. Output to the seat display device 17.
  • a DVD (Digital Versatile Disk) player 12 plays a DVD.
  • the terrestrial digital broadcast tuner 13 selects a terrestrial wave and converts it into a video signal, converts the video signal into digital image data, and outputs it to the main display device 15 and the rear display device 17.
  • the car navigation device 14 updates the information indicating the current position of the vehicle at a predetermined interval and outputs it to the main display device 15 and the rear seat display device 17.
  • An IEEE (Institut of Electrical and Electronics Engineers) 1394 interface is specified as an interface that can realize real-time transfer at low cost in order to connect an image processing device such as Device 17.
  • isochronous transfer and asynchronous transfer are defined as packet transfer processes.
  • isochronous transfer priority is given to the transmission of image data in real time, and error checking of the actual data contained in the packet is omitted during transfer.
  • the actual data area of the isochronous packet includes a part of the image data of each channel (each device).
  • Asynchronous transfer is a type of control protocol that requires acknowledgment of the transfer destination.
  • the packet size of a isochronous packet needs to be a fixed length. This is because when each node asks the arbiter (arbitration circuit) to start isochronous transfer, the bit rate (fixed value) is put in the question. This is because it is prescribed.
  • one cycle of data transfer in the IEEE1394 standard is 125 ⁇ sec, and within that cycle, data can be transferred in the order of the isochronous packet and asynchronous packet of each channel (each device).
  • the number of bytes of actual data in the isochronous packet that can be transferred in one cycle differs according to the more detailed specifications of the IEEE1394 standard. In other words, if the sum of the actual data contained in the isochronous packet of each channel is less than 1 Kbyte, 2 Kbyte, 4 Kbyte, and 8 Kbyte, respectively, according to the regulations of S100, S200, S400, and S800 These isochronous packets of each channel can be transferred in one cycle.
  • this embodiment is not limited as long as it is a device equipped with a data transfer method having a function equivalent to that of isochronous transfer.
  • USB Universal Serial Bus
  • the present invention is not limited to an image processing apparatus as long as it is an apparatus that inputs variable-length or fixed-length data (for example, image data, audio data, etc.) and outputs fixed-length data.
  • FIG. 2 is a block diagram showing the configuration of the data transfer apparatus according to the embodiment of the present invention.
  • the block diagram shown in FIG. 2 shows the transmission unit (compression unit (compression layer), the compression unit (compression layer), the camera 11, the DVD player 12, the terrestrial digital broadcast tuner 13, the car navigation device 14 described in FIG. It is composed of a transfer unit (transfer layer), and the transmission unit is hereinafter referred to as data transfer device 20).
  • the transmission unit is hereinafter referred to as data transfer device 20.
  • the receiving units of the main display device 15 and the rear seat display device 17 that receive and display will be described later.
  • the data transfer apparatus 20 includes a preprocessing unit 21, a quantization unit 22, a coding unit 23, a quantization table creation unit 24, quantization tables 25a, 25b, and 25c, and a coding table creation unit.
  • a preprocessing unit 21 a quantization unit 22, a coding unit 23, a quantization table creation unit 24, quantization tables 25a, 25b, and 25c, and a coding table creation unit.
  • the transfer unit includes a generation unit 32, a one-cycle transfer amount calculation unit 33, a one-line average data amount 'read data amount calculation unit 37, an invalid data addition unit 38, a packet generation unit 39, and the like.
  • the preprocessing unit 21 determines the redundancy of the image data by 2D prediction differential pulse code modulation (2D prediction DPCM (Differential Pulse Code Modulation)), 1D prediction DPCM, 1D discrete cosine transform (1D DCT (Discrete Cosine Transform)) etc. to reduce by pre-processing.
  • 2D prediction differential pulse code modulation (2D prediction DPCM (Differential Pulse Code Modulation)
  • 1D prediction DPCM 1D discrete cosine transform
  • 1D DCT Discrete Cosine Transform
  • the quantization unit 22 performs further quantization and quantization on the result of the preprocessing.
  • the encoding unit 23 performs variable length encoding (Wyle encoding, Golomb encoding, Huffinan encoding, Run Length encoding, etc.) on the coarser quantized data.
  • the quantization table creation unit 24 holds a bit string that is likely to be output as a result of the preprocessing (the tendency of the output bit string) for each image processing device (11 to 14: channel), and the image data to be processed Based on the channel, a number of quantization tables that are likely to be matched are created (quantization tables 25a, 25b, and 25c are created in the figure).
  • quantization tables 25a, 25b, and 25c are generated before the operation starts.
  • the quantization table creation unit 24 can dynamically generate the quantization tables 25a, 25b, and 25c so that there is no problem in operation when the image processing apparatus is operated.
  • the code table creation unit 26 holds, for each image processing device (channel), a bit string that is likely to be output as a result of further coarse quantization (the tendency of the output bit string), and image data to be processed Based on these channels, a number table (sign table 27a, 27b, 27c is created in the figure) that is likely to be matched is created.
  • a number table (sign table 27a, 27b, 27c is created in the figure) that is likely to be matched is created.
  • the sign key tables 27a, 27b, and 27c are also generated by the sign key table creating unit 26 before the operation is started. However, it is possible to dynamically generate the code table 27a, 27b, 27c so that there is no problem in operation when the image processing apparatus is operated.
  • the first buffer 28 and the second buffer 29 are configured by, for example, a FIFO (First-In First-Out), and store data from the encoding unit 23.
  • FIFO First-In First-Out
  • the code amount monitoring unit 36 monitors the overall code amount of the encoded data sequentially stored in the first buffer 28 or the second buffer 29, and if the code amount is too large, the code amount is averaged. An instruction to select a code table or quantization table to be shortened is output to the switch unit 34 or 35. If the code amount is too small, an instruction to select a code table or quantization table to increase the code amount is output. Is output to switch 34 or 35.
  • the compression unit (which may include a preprocessing unit) corresponds to the preprocessing unit 91 in FIG. 9 or the compression layer in FIG.
  • the first buffer 28 and the second buffer 29 correspond to the preprocessed buffer 92 in FIG. 9 or the compressed data buffer 125 in FIG.
  • the access control unit 31 controls access (read / write) of data to and from the first buffer 28 and the second buffer 29.
  • the buffer has a two-stage nother structure, but it may be a single buffer.
  • the write destination switching timing generation unit 32 allows a buffer permitting data writing from the encoding unit 23 to the second buffer 29 from the first buffer 28 or from the second buffer 29 to the first buffer.
  • a switching signal (for example, a clock signal) indicating the timing of switching to the buffer 28 is generated. Even in the case of a single buffer, it can be switched by dividing the data page.
  • the one-cycle transfer amount calculation unit 33 calculates the number of lines that need to be transferred in one cycle, and calculates the number of bytes corresponding to the number of lines.
  • 1 line average data amount 'read data amount calculation unit 37 obtains the amount of data buffered this time in the first buffer 28 or second buffer 29 and distributes invalid data as a guideline. Number and from the first buffer 28 or the second buffer 29 Calculate the number of bytes of data to read.
  • the invalid data adding unit 38 adds invalid data to the data output from the first buffer 28 or the second buffer 29 after EOF (End of File) as necessary. Add invalid bits (eg, “0”, stuff bits) as padding.
  • the packet generation unit 39 generates a isochronous packet based on data with invalid data added or data output from the first buffer 28 and the second buffer 29.
  • the transfer unit corresponds to the transfer layer in FIG. 9 or FIG.
  • variable length encoded data is written to either the first buffer 28 or the second buffer 29.
  • Figure 3 shows the image data size, transfer rate, compression rate, and 1-cycle transfer for each image processing device (camera 11, DVD player 12, terrestrial digital broadcast tuner 13, car navigation device 14 etc .: channel). It is the figure which showed quantity.
  • the item number corresponds to the device type.
  • item number “1” corresponds to image data from a car navigation device
  • item number “2” corresponds to image data from a DVD player.
  • each device is assigned to one of the channels, The number corresponds to the channel number and can also be changed.
  • the horizontal size is the number of pixels per line of image data
  • the byte Z pixel is the number of bytes per pixel
  • the vertical size is the number of lines of image data
  • the transfer rate is 1 second.
  • the number of image data (frames) that must be processed and the compression ratio are the compression ratios (desired compression ratios) that are guaranteed to be achieved by the processes from pre-processing to variable-length encoding.
  • the number of transfer lines per cycle must be transferred in one IEEE1394 cycle (125 ⁇ sec) in order to satisfy the specifications such as the image data power transfer rate conditions of each channel.
  • the value rounded up to an integer is shown, and the value in parentheses is the value when rounding is not performed).
  • the number of bytes transferred per cycle is the number of bytes corresponding to this number of lines.
  • the transfer rate is 60 (frame Zsec), and 480 lines are included in one frame. Therefore, the number of lines that must be transferred per second is 60 (frame Zsec) X 480 (line Z frame).
  • each line is 800 bytes
  • each pixel is 3 bytes (1 pixel: R, G, B)
  • the compression rate is (1Z3).
  • the number of bytes corresponding to these four lines is
  • the one-cycle transfer amount calculation unit 33 inputs a device type (car navigation device, terrestrial digital broadcast tuner, DVD player, etc.) or channel number, and corresponds to the device type or channel number. Calculate (get) the number of lines and bytes that need to be transferred in a cycle.
  • this number of bytes is, for example, the number of bytes corresponding to 3.6 lines (2 880 bytes) in the above-described calculation.
  • the number of bytes (3200 bytes) is used as the number of bytes that need to be transferred.
  • the write destination switching timing generation unit 32 inputs the number of lines generated by the one-cycle transfer amount calculation unit 33 through the signal line (1), and signals indicating the head positions of the respective lines.
  • An HSYNC (horizontal sync signal) signal (for example, a clock) is input, and the HSYNC (horizontal sync signal) signal is counted up until the number of lines is reached.
  • a signal indicating the position reaching the number of lines (clock indicating the switching timing) is output to the access control unit 31 via the signal line (2).
  • the access control unit 31 switches a buffer that permits data writing from the encoding unit 23 based on the clock signal.
  • the read data amount calculation unit 37 inputs the number of lines and bytes that must be transferred in one cycle calculated by the one-cycle transfer amount calculation unit 33 via the signal line (3). Then, a clock indicating the switching timing calculated by the write destination switching timing generation unit 32 is input via the signal line (2). [0059] Clock power indicating switching timing 1-line average data amount ⁇ Read data amount calculation unit 37 When input to the 7-line average data amount ⁇ read-data amount calculation unit 37, Get the number of bytes of data to be transferred in the current cycle stored in the buffer (either buffer 1 or buffer 29) where data writing from unit 23 is invalid.
  • the average data amount per line / read data amount calculation unit 37 receives data for the number of lines that must be transferred in one cycle from the one-cycle transfer amount calculation unit 33, and obtains the data per line. Calculate the average number of bytes.
  • the average data amount per line / read data amount calculation unit 37 receives data for the number of lines that must be transferred in one cycle from the one-cycle transfer amount calculation unit 33, and obtains the data per line. Calculate the average number of bytes.
  • the average data amount per line / read data amount calculation unit 37 receives data for the number of lines that must be transferred in one cycle from the one-cycle transfer amount calculation unit 33, and obtains the data per line. Calculate the average number of bytes.
  • the number of the remaining bits There are several possible patterns for entering invalid data. In data 1 of FIG. 15 described later, invalid data is inserted in the last cycle, and in data 2, invalid data is evenly distributed in a plurality of cycles.
  • data for a plurality of fixed-length lines may be input in one cycle (Fig. 18). In this case, multiple invalid data are included in one cycle.
  • the access control unit 31 to which the amount of data (number of bytes) to be read by the nofkaka is input via the signal line (4) is not permitted to be written from the code unit 23 at that time. That is, it instructs the buffer in which the data to be transferred this time is buffered (either the first buffer 28 or the second nother 29) to output data corresponding to the number of knots based on its leading force.
  • the data when the data of the number of bytes is output also by the notifier, the data is input to the invalid data adding unit 38.
  • the invalid data adding unit 38 inputs the average number of bytes per line through the signal line (5).
  • the invalid data adding unit 38 adds invalid data (the number of invalid data) to the amount of data that should be fixed length in the compression layer by adding the data for the specified number of lines of the notifier power. Add data that includes a sign indicating that the value of the ksel is valid (ie, invalid data). Then, the data with invalid data added is output to the packet generator 39.
  • the packet generation unit 39 is configured to perform one cycle calculated by the one-cycle transfer amount calculation unit 33. Input the number of lines via the signal line (6).
  • the packet generation unit 39 counts up the number of times the data with invalid data added is received from the invalid data addition unit 38, and the number of times reaches the number of V and lines that must be transferred in one cycle. In this case, the data received by the number of lines is concatenated to generate actual data, and a header part is added to the actual data to generate a isochronous packet and send it to the transmission line.
  • Figure 23 shows the processing when the number of lines to be transferred in one cycle and the number of lines included in one packet (the number of lines to be fixed) do not have to be equal.
  • the flowchart of FIG. 22 illustrates a process when the number of lines to be transferred in one cycle is equal to the number of lines included in one packet.
  • step S221 based on the type of image data, the number of lines of image data to be transferred in one cycle and the data amount corresponding to the number of lines (data amount to be transferred in one cycle) are determined. calculate.
  • step S222 data corresponding to the number of lines to be transferred in one cycle among the image data processed by variable length coding (or other preprocessing) is stored in a buffer unit (memory).
  • step S223 a difference between the amount of data corresponding to the calculated number of lines and the data stored in the nota section is calculated, and if the data stored in the buffer section is smaller, the difference is calculated. Only the difference is added to invalid data to the data stored in the nota part. If the data stored in the noffer section is larger, the case shown in Fig. 23 is obtained.
  • step S224 a packet is generated and transmitted based on the data with invalid data added.
  • the data stored in the buffer in step S222 can be not the number of lines to be transferred in one cycle but the number of other preset lines.
  • the flowchart shown in Fig. 23 shows the case where the number of lines to be fixed length is larger than the number of transfer lines per cycle. Corresponds to data 1 and data 2 in Figure 15. First, data 1 is explained.
  • step S231 of the flowchart shown in FIG. 23 based on the type of image data, the number of lines of image data to be transferred in one cycle, the number of lines to be fixed (the number of lines included in one packet), And calculate the amount of data corresponding to the number of lines to be fixed length
  • step S232 among the image data processed by variable-length coding (or other preprocessing), data for the number of lines to be fixed length is stored in the buffer unit (memory).
  • step S233 the difference between the amount of data corresponding to the calculated number of lines to be fixed and the data stored in the buffer is calculated, and only the difference is invalidated in the data stored in the buffer. The correct data.
  • step S234 data to which invalid data is added is cut out for each data amount corresponding to the number of lines of image data transferred in one cycle from the beginning, and a packet is generated and transmitted for each cut out data amount. To do.
  • step S231 the number of lines of image data to be transferred in one cycle, the number of lines to be fixed (the number of lines included in one packet), and the number of lines to be fixed are determined based on the type of image data. Calculate the corresponding amount of data.
  • step S232 data corresponding to the number of lines to be fixed length is stored in the buffer unit (memory) among the image data processed by variable length coding (or other preprocessing).
  • step S233 the difference between the amount of data corresponding to the calculated number of lines to be fixed and the data stored in the buffer is calculated, and only the difference is invalidated in the data stored in the buffer. The amount of data is calculated so that invalid data can be distributed evenly over multiple cycles.
  • step S234 a data amount corresponding to the number of lines of image data transferred in one cycle from the buffer is cut out, and invalid data that is equally arranged for each cut out data amount is added, and a packet is added. Generate and send multiple items. Skip the flow [0078] (Example 2)
  • Example 2 will be described.
  • the second embodiment is a modification of the first embodiment.
  • the readout timing of each line of image data is determined.
  • the average data amount per line 'read data amount calculation unit 37 is replaced with an invalid data write unit 41 and a read instruction unit 42, and invalid data is added. Part 38 disappears.
  • the invalid data writing unit 41 in FIG. 4 must receive the timing at which the write destination buffer is switched via the signal line (2) and transfer it to one cycle via the signal line (7). Receives the number of bytes. Then, the invalid data writing unit 41 obtains the number of data stored in the buffer that cannot be written by the encoding unit 23, and
  • the read instruction unit 42 inputs the number of bytes via the signal line (7), which must be transferred in one cycle calculated by the one-cycle transfer amount calculation unit 33.
  • the read instruction unit 42 receives a buffer (first buffer 28, second buffer) in which writing from the coding unit 23 is invalid.
  • the access control unit 31 is instructed to read from the head the number of bytes that must be transferred in one cycle from the beginning stored in the buffer 29 (one of the buffers 29).
  • the packet generator 43 generates an isochronous packet having the data as the actual data every time the buffer capacity of the preceding stage is received, and sends it to the transmission path.
  • the one-cycle transfer amount calculation unit 33 in FIG. When a device type or channel number is entered, the number of lines that must be transferred in one cycle, the number of lines to be fixed length, the number of bytes corresponding to the number of lines to be fixed length, corresponding to the device type or channel number Calculate (acquire).
  • the write destination switching timing generation unit 32 in FIG. 2 receives the number of lines to be fixed length and an HSYNC (horizontal synchronization signal) signal, and allows a buffer ( Switch between first buffer 28 and second buffer 29). That is, in this case, both the first buffer 28 and the second buffer 29 are FIFOs capable of storing variable-length encoded data for the number of bytes corresponding to the number of lines to be fixed length.
  • the read data amount calculation unit 37 determines the number of lines to be fixed length calculated by the one-cycle transfer amount calculation unit 33 and the number of bytes corresponding to the number of lines by using the signal line (3). And a clock indicating the switching timing calculated by the write destination switching timing generation unit 32 is input via the signal line (2).
  • Clock power indicating switching timing 1-line average data amount ⁇ Read data amount calculation unit 37 When input to the 7-line average data amount ⁇ read data amount calculation unit 37, Buffer in which data writing from section 23 is disabled (first buffer Get the number of bytes of data to be transferred in the current cycle stored in buffer 28 or buffer 2).
  • the average data amount per line / read data amount calculation unit 37 divides the number of Neutes that also acquired the buffer power this time by the number of lines to be fixed length, thereby calculating the amount of data to be read at one time from the koffa. calculate.
  • the average data amount per line / read data amount calculation unit 37 divides the number of bytes corresponding to the number of lines to be fixed length by the number of lines to be fixed length, thereby invalid data from the current buffer. Calculate the average number of bytes per line, which is used as a guide when distributing the number of acquired bytes.
  • the access control unit 31 that has input the amount of data (number of bytes) to be read out also by the nofka via the signal line (4) is permitted to be written from the code unit 23 at that time. That is, it instructs the buffer in which the data to be transferred this time is buffered (either the first buffer 28 or the second nother 29) to output data corresponding to the number of knots based on its leading force.
  • the data when the data of the number of bytes is output also by the notifier, the data is input to the invalid data adding unit 38.
  • the invalid data adding unit 38 inputs the average number of bytes per line through the signal line (5).
  • the invalid data adding unit 38 takes the difference between the average number of bytes per line and the number of bytes of data acquired by the notifier, and only the difference is invalid data (the value of the pixel is valid). Data with a sign indicating that there is no data). Then, the data with invalid data added is output to the packet generator 39.
  • the packet generation unit 39 inputs the number of lines, which is calculated by the one-cycle transfer amount calculation unit 33 and must be transferred in one cycle, via the signal line (6).
  • the packet generation unit 39 counts up the number of times the invalid data added data is received from the invalid data addition unit 38, and the number of times reaches the number of V and lines that must be transferred in one cycle.
  • the data received by the number of lines is concatenated to generate actual data, and a header part is added to the actual data to generate a isochronous packet. [0096] (Example 4)
  • the invalid data writing unit 41 in FIG. 4 receives the timing at which the data write destination noferer from the encoding unit 23 is switched via the signal line (2) and the signal line (7). The number of bytes corresponding to the number of lines to be fixed length is received via. Then, the invalid data writing unit 41 obtains the number of data stored in the buffer that cannot be written from the sign key unit 23, the number of bytes corresponding to the number of lines to be fixed length, The difference from the obtained number of bytes is taken, and by that difference, invalid data (invalid bytes) is added to the end of the data stored in the buffer.
  • the read instruction unit 42 inputs the number of bytes corresponding to the number of lines via the signal line (7), which must be transferred in one cycle calculated by the one-cycle transfer amount calculation unit 33.
  • the read instruction unit 42 reads the buffer (the first buffer 28, the second buffer 29, etc.) in which the writing from the coding unit 23 is invalid.
  • the data to be transferred in the current cycle (stored in either one of the buffers) must be transferred in the first cycle from the beginning, V and the number of bytes to be read are output to the access control unit 31. To do.
  • the packet generation unit 43 Each time the upstream buffer capacity receives data, the packet generation unit 43 generates an isochronous packet having the data as actual data and sends it to the transmission path.
  • the number of lines to be fixed length matches the number of lines that must be transferred in one cycle, and the number of lines to be fixed length exceeds the number of lines that must be transferred in one cycle. Dealt with the case.
  • the one-cycle transfer amount calculation unit 33 normally maintains a table as shown in FIG. 5, and based on the table, the number of lines that need to be transferred in one cycle and a line with a fixed length. Number of bytes corresponding to the number of lines to be fixed length.
  • item number “2” in FIG. 5 is changed to item number “2” in FIG. 3 (image data from the DVD player).
  • the code amount control unit 36 Quantity control cannot be performed so easily.
  • the code amount can be controlled easily.
  • Fig. 6A and Fig. 6B show the code table when the pixel is expressed in RGB and YUV when the Huffinan code is used as the variable length code. Show.
  • FIG. 6A is a diagram showing a Huffman encoding table when pixels are expressed in RGB.
  • Invalid data is associated with a code having redundancy according to its appearance probability.
  • Fig. 6B shows the Huffman encoding table when pixels are expressed in YUV.
  • the appearance probability P of invalid data is shown in the coding table for luminance component Y corresponding to luminance component Y.
  • Invalid data is shown in the coding table for luminance component Y corresponding to luminance component Y.
  • Fig. 7 it is assumed that invalid data is distributed in the data so that the data has a fixed length.
  • the data actually stored in the buffer as a result of the variable-length code The first line is 1200 bytes, the second line is 600 bytes, the third line is 700 bytes, and the fourth line is S660 bytes. The sum is 3160 bytes, and the 3200 bytes set as fixed length is 40 bytes short! /.
  • the average data amount per line and the read data amount calculation unit 37 in Fig. 2 divide the number of bytes (3160 bytes) of the data acquired by the notifier by the number of lines (4 lines), so that it can Calculate the amount of data to be read (790 bytes).
  • the average data amount per line / read data amount calculation unit 37 must transfer the number of bytes (3200 bytes) in one cycle, and the number of lines that must be transferred in one cycle. Divide by (4 lines) to calculate the average number of bytes per line (800 bytes) used as a guide when distributing invalid data in the number of bytes retrieved from the buffer this time.
  • the invalid data adding unit 38 calculates the difference between the average number of bytes per line (800 bytes) and the number of bytes of data input to the preceding buffer (790 bytes).
  • the buffer capacity is added to the input data and output to the packet generator 39.
  • Fig. 8 it is assumed that invalid data is added at the end to make the data a fixed length.
  • the data actually stored in the buffer as a result of the variable length code ⁇ is 1200 bytes for the 1st line, 600 bytes for the 2nd line, 700 bytes for the 3rd line, 4th line power S660 bytes.
  • the sum is 3160 bytes, and the 3200 bytes set as fixed length is 40 bytes short! /.
  • the invalid data writing unit 41 in FIG. 4 calculates the difference between the number of bytes of data acquired from the buffer (3160 bytes) and the length of 4 lines acquired from the 1-cycle transfer amount calculation unit 33 (3200 bytes). The invalid data is added to the end of the data in the buffer by the difference (40 bytes).
  • the read instruction unit 42 in FIG. 4 writes invalid data by the invalid data writing unit 41.
  • the instruction to read from the buffer the number of bytes (3200 bytes) corresponding to the number of lines that must be transferred in one cycle calculated by the one-cycle transfer amount calculation unit 33 is output to the access control unit 31. To do.
  • information indicating the position of the HSYNC signal that determines the line read timing is inserted into the header portion of the transmitted asynchronous packet, and the line break is determined on the receiving side.
  • Other methods can be used to determine line breaks. For example, a sign of a line end signal indicating the end of a line may be placed at the end of each line. In this case, the line end signal is made to correspond to a code having redundancy according to the appearance probability.
  • the number of lines calculated by the one-cycle transfer amount calculation unit 33 is an integer value. However, the number of lines may be a fraction (non-integer value).
  • Fig. 13 shows the timing of data transfer in one IEEE1394 cycle time of 125 sec.
  • the number of lines to be transferred must be transferred within one cycle in order for the image data of each channel to meet specifications such as transfer rate conditions.
  • the number of lines and bytes transferred in one cycle are calculated.
  • One frame of the car navigation system is 800 X 480.
  • the rate of frames transferred in 1 second is 60 (frame Zsec).
  • Fig. 13 (a) shows the empty packet transfer method (1).
  • empty packets are transferred 12 times at the end.
  • empty packets are transferred together at the end, there is a problem that the memory size on the side that received the output empty packets must be prepared accordingly.
  • Fig. 14 shows a flow chart of distributed transfer of empty packets in one frame.
  • step S141 the amount of data to be transferred in one cycle (eg 125 ⁇ sec) is calculated.
  • 60 (frame Zsec) X 480 (lines frame) X (125 ⁇ sec / 1) 3.6 lines.
  • an empty packet can be sent every time an actual data packet is sent several times according to this instruction.
  • the one-cycle transfer amount calculation unit 33 shown in Fig. 2 calculates how much data can be transferred in one cycle (125 sec).
  • the empty packet insertion timing calculation shown in steps S142 to S148 is performed by providing a one-cycle transfer amount calculation unit 33 or a dedicated processing unit.
  • the packet generation unit 39 inputs the line number information and the empty packet insertion information calculated by the one-cycle transfer amount calculation unit 33 and must be transferred in one cycle via the signal line (6). If a separate processing unit is provided, a separate signal line is required.
  • the packet generation unit 39 counts up the number of times the invalid data is added from the invalid data adding unit 38. The number of times must be transferred in that one cycle. When the number of lines is reached, the received data is concatenated to generate the actual data. At the same time, the actual data is added to generate a isochronous packet and send it to the transmission line. At this time, if the empty packet insertion information capability is enabled, the packet generation unit 39 sends an empty packet to the transmission line, and if disabled, sends a packet of actual data to the transmission line.
  • Example 8 as in Example 7, the data (number of lines) transferred in one cycle and the compression unit If the data (number of lines) in the generated buffer has an affinity, that is, if the number of transfer lines in one cycle and the number of lines in the buffer are not the same (the processing unit in the transfer layer and the processing unit in the compression layer are The case of equality will be explained.
  • Fig. 15 shows an example in the case of no affinity.
  • an explanation will be given assuming an isochronous packet or the like in which one cycle is 125 sec.
  • the number of transfer lines per cycle is 4, for example, when the number of lines in the nofer is 8 lines, that is, when the processing unit in the transfer layer is less than the processing unit in the compression layer, see Fig. 15.
  • Control is performed as shown in data 1.
  • FIG. 16 is a flowchart showing the operation of the eighth embodiment.
  • step S161 data is acquired. For example, the image processor power is acquired for one line of data of one frame of image data.
  • compression processing including code amount control and encryption processing
  • step S162 the prediction code is calculated and the prediction amount is calculated.
  • step S163 the quantization is performed.
  • step S 164 sign y is performed.
  • step S165 for example, one line of compressed data is written to the buffer.
  • the noffer is the preprocessing buffer 92 shown in FIG. 9 or the compressed data buffer 125 shown in FIG.
  • step S166 it is determined whether transfer data for a predetermined line is stored. If the predetermined line is stored, the process proceeds to step S167. If not stored, the process proceeds to step S168.
  • the predetermined line indicates a processing unit in the transfer layer, and it is determined whether the number of lines to be transferred in one cycle has accumulated. If this step is performed in the configuration shown in FIG.
  • step S167 it is determined whether padding should be inserted.
  • the number of compressed lines is 8, which is the number of lines transferred in one cycle, so if it is the 8th line, the process proceeds to step S168. Otherwise, it is 4 lines with EOF added to the data Data is generated and the process proceeds to step S169. If this step is performed in the configuration shown in FIG. 2, this function is added to the average data amount / read data amount calculation unit 37 for one line.
  • step S168 the compressed data for a predetermined line and EOF are padded with “0” s to form a predetermined data amount (8 lines), and the process proceeds to S169.
  • this step is performed in the configuration shown in FIG. 2, this function is added to the invalid data adding unit 38.
  • step S169 a packet that conforms to the standard of the transfer path is formed and transferred. This step is performed by the packet generator 39 when implemented in the configuration shown in FIG.
  • whether or not padding can be inserted is determined for a predetermined line and the force is also determined whether or not padding can be inserted for each line. ⁇ Mawa na ⁇ . In this case, padding is counted for each line using a counter, etc., and the insertion is cut in half by the count value.
  • the padding insertion timing (padding insertion information) shown in steps S166 and S167 is calculated by the one-line average data amount 'read data amount calculation unit 37. Here, this calculation is performed by providing a separate processing unit.
  • the access control unit 31 to which the amount of data to be read by the nofka (the number of bytes and the number of bits because it is variable-length coding, to be exact) is input via the signal line (4) is the code unit 23 at that time.
  • the initial force is also the data of the number of bytes. Instruct to output.
  • the data is input to the invalid data adding unit 38.
  • the invalid data addition unit 38 calculates the difference between the average number of lines per line from the average data amount per line / read data amount calculation unit 37 and the number of data acquired from the nota, and only the difference. Add invalid data. At that time, padding insertion information If invalid, invalid data is added. If disabled, padding is not tracked and the data is output to the packet generator 39. If a separate processing unit is provided, another signal line is required.
  • the packet generation unit 39 inputs the line number information calculated by the one-cycle transfer amount calculation unit 33 and must be transferred in one cycle via the signal line (6).
  • the packet generator 39 counts up the number of times the invalid data is added from the invalid data adding unit 38. The number of times must be transferred in that one cycle.
  • the received data is concatenated to generate the actual data.
  • the actual data is added to generate a isochronous packet and send it to the transmission line.
  • the eighth embodiment when the number of transfer lines per cycle is four lines, for example, the following problem occurs when the number of lines in the noferer is eight lines. In other words, the buffer size of the compression unit (compression layer) cannot be minimized. Also, as shown in Fig. 17, if EOF and “0” padding are performed only on the last packet, the amount of wrinkles may occur at the end when the code amount is controlled.
  • the “0” -padded portion (A or B) in data 1 of FIG. 15 is divided into the first packet and added.
  • the “0” -padded part is set to AZ2 or BZ2 and added to the end of EOF of each packet.
  • FIG. 17 is a flowchart showing the operation of the ninth embodiment.
  • step S171 data is acquired. For example, the image processor power is acquired for one line of data of one frame of image data.
  • compression processing including code amount control and encryption processing
  • step S172 the prediction code is calculated and the prediction amount is calculated.
  • step S173 the quantization is performed.
  • step S174 sign y is performed.
  • step S175 for example, one line of compressed data is written to the buffer.
  • the noffer is the preprocessing buffer 92 shown in FIG. 9 or the compressed data buffer 125 shown in FIG. Also, the first buffer 28 and the second buffer 29 shown in FIG.
  • This S172 ⁇ S1 75 is substantially the same as the processing performed by the compression unit (compression layer) described above, and therefore will not be described in detail.
  • step S 176 it is determined whether transfer data for a predetermined line is stored. If the predetermined line is stored, the process proceeds to step S177. If not stored, the process proceeds to step S171.
  • the number of lines 8 in the noffer may be divided into two and 4 lines may be set as predetermined lines. In the former case, within one cycle, the compressed data need not necessarily be 4 lines, but may be 3 lines and 5 lines, or 4.5 lines. In short, there is no problem if 8 lines can be transmitted in the second cycle. In the latter case, it is controlled as 4 lines for average transmission.
  • step S177 the amount of padding is calculated.
  • the “0” -padded portion A or B calculated in Example 8 ( Calculate the amount of padding).
  • 8 lines and Z4 lines 2
  • a and B are divided into two. That is, the amount of padding of AZ2 and BZ2 (the amount of padding) is calculated after one packet of data 2 and EOF, and the process proceeds to step S179.
  • this step is implemented in the configuration shown in Fig. 2, this function is added to the one-line average data amount / read data amount calculation unit 37.
  • step S178 the specified line of compressed data and EOF are padded with “0” (4 lines of data are padded with “0” of data + EOF + calculated amount (AZ2 or BZ2)), and then to S179. Transition.
  • this step is performed in the configuration shown in FIG. 2, this function is added to the invalid data adding unit 38.
  • step S179 the packet is formed in accordance with the standard of the transfer path and transferred. This step is performed by the packet generator 39 when implemented in the configuration shown in FIG.
  • step S178 it is determined whether or not the padding can be inserted by accumulating a predetermined line. However, it may be determined whether or not padding can be inserted for each line. Thereafter, it is determined whether or not a predetermined number of lines have been stored, and when the predetermined line is reached, the process of step S178 may be performed. In this case, padding is counted for each line using a counter or the like, and insertion is determined based on the count value.
  • the padding amount need not be calculated every time unless there is a change.
  • the read data amount calculation unit 37 calculates the padding amount (padding amount information) shown in steps S176 and S177. Here, this calculation is performed by providing a separate processing unit.
  • the invalid data adding unit 38 performs padding and the difference between the average number of data per line and the number of read data amount calculation unit 37 from the average number of noises per line and the number of data acquired from the noffer (more precisely, the number of bits). Based on the quantity information, invalid data (for AZ 2 and BZ2) is added as shown in step S178. At that time, the padding data is output to the packet generation unit 39 according to the padding amount information. If a separate processing unit is provided, another signal line is required.
  • the packet generation unit 39 inputs the line number information calculated by the one-cycle transfer amount calculation unit 33 and must be transferred in one cycle via the signal line (6).
  • the packet generator 39 counts up the number of times the invalid data is added from the invalid data adding unit 38. The number of times must be transferred in that one cycle.
  • the received data is concatenated to generate the actual data.
  • the actual data is added to generate a isochronous packet and send it to the transmission line.
  • Example 10 there is no affinity between the data (number of lines) transferred in one cycle and the data (number of lines) in the notifier generated by the compression unit.
  • the number of lines that is, the case where the processing unit in the transfer layer is greater than the processing unit in the compression layer.
  • One cycle is explained assuming a 125 sec isochronous packet. If the number of transfer lines per cycle is 8, for example, if the number of lines in the nota- ter is the power line, control is performed as shown in data 3 in Fig. 18.
  • FIG. 19 is a flowchart showing the operation of the tenth embodiment.
  • step S191 data is acquired. For example, the image processor power is acquired for one line of data of one frame of image data.
  • compression processing (which may include code amount control and encryption processing) is performed.
  • step S192 a prediction code is calculated to calculate a prediction amount, and in step S193, quantization is performed.
  • step S 194 sign y is performed.
  • step S195 for example, one line of compressed data is written to the buffer.
  • the noffer is the preprocessing buffer 92 shown in FIG. 9 or the compressed data buffer 125 shown in FIG.
  • step S 196 it is determined whether transfer data for a predetermined line is stored. If the predetermined line is stored, the process proceeds to step S197. If not, go to step S191.
  • the predetermined line is a processing unit in the compression layer. For example, it is determined whether data for the first 4 lines of 8 lines transferred in one cycle has accumulated. This step is performed by the read data amount calculation unit 37 when the one-line average data amount is implemented in the configuration shown in FIG.
  • step S197 the compressed data of the first predetermined line (first predetermined line value: C) and E OF are padded with "0" to form a predetermined data amount (4 lines). Transition. If this step is implemented in the configuration shown in FIG. 2, this function is added to the invalid data adding unit 38.
  • step S198 it is determined whether transfer data of the number of lines (second predetermined line value: D) for one cycle is stored. If the data for one transfer line has been stored, the process proceeds to step S199. If not, the process proceeds to step S191. here Judges whether the remaining 4 lines of the 8 lines transferred in 1 cycle have accumulated. When this step is implemented in the configuration shown in FIG. 2, this function is added to the one-line average data amount / read data amount calculation unit 37.
  • step S199 the first predetermined line of compressed data and EOF are padded with "0" to form a predetermined data amount (8 lines), and the flow shifts to S1910.
  • step S 1910 a packet that conforms to the standard of the transfer path is formed and transferred. This step is performed by the packet generator 39 when implemented in the configuration shown in FIG.
  • a predetermined line compression layer processing unit
  • the force also determines whether or not padding can be inserted.
  • it is determined whether or not padding can be inserted for each line. Even if it is determined whether a predetermined number of lines have been stored after that, it does not work.
  • the padding here is counted for each line by a counter or the like, and the insertion is judged based on the count value.
  • the 1-line average data amount 'read data amount calculation unit 37 calculates the padding insertion timing (padding insertion position information) shown in steps S196 and S198. Here, this calculation is performed by providing a separate processing unit.
  • the invalid data adding unit 38 calculates the difference between the average number of lines per line and the average number of readings per line from the reading data amount calculating unit 37 and the number of data acquired from the nota, and only the difference is invalid data. Add At that time, if the padding insertion position information capability is enabled, invalid data is inserted into the line instructed to be inserted during the enable. If disabled, no invalid data is added. Thereafter, the generated data is output to the packet generation unit 39. If a separate processing unit is provided, another signal line is required.
  • the padding data is output to the packet generation unit 39 according to the padding insertion position information. If a separate processing unit is provided, another signal line is required.
  • the packet generation unit 39 inputs the line number information calculated by the one-cycle transfer amount calculation unit 33 and must be transferred in one cycle via the signal line (6). [0167] Then, the packet generation unit 39 counts up the number of times the invalid data is added from the invalid data adding unit 38. The number of times must be transferred in that one cycle. When the number of lines is reached, the received data is concatenated to generate the actual data. At the same time, the actual data is added to generate a isochronous packet and send it to the transmission line.
  • decoding when a transmission packet of the present invention is received will be described.
  • the LSI 200 shown in FIG. 20 performs image processing and data transmission / reception processing.
  • the transmission unit is transmitted from an image processing device (for example, a DVD player, a car navigation system, terrestrial digital) or the like, and the VIF unit 201 (Video Interface) receives the data.
  • the output of the VIF unit 201 is encoded by the encoding unit 202, and the result is output by the transfer unit 206 of IEEE1394 standard, for example.
  • the receiving unit receives data transmitted according to the IEEE1394 standard by the receiving unit 204, and the decoding unit 205 decodes the result.
  • the decoded data is transferred to a display device such as an LCD panel via the VIF unit 203.
  • FIG. 20 shows an example in which input data and output data to LSI 200 are transferred according to the 1394 standard. Therefore, transfer unit 206 performs blocking (packet generation) for the 1394 standard, and receives the receiving unit. 204 is an example of receiving a block for the 1394 standard. Naturally, when data is transferred according to another standard, the data is transferred and received according to the other standard.
  • the compression processing (which may include encryption processing) V performed by the encoding unit 202 and the decompression processing (encryption decryption processing may be included) performed by the decoding unit 205! /, ) Is the corresponding processing content.
  • FIG. 21 shows the operation at the time of reception.
  • step S211 a packet is received.
  • step S212 actual data before EOF is extracted from the packet formed by the data, EOF and “0” formed in the above embodiment.
  • step S213 decoding is performed, and in step S214, the decoded data is stored in a buffer or the like.
  • the force is not limited to “0” which is padded with “0” after EOF.
  • Fig. 24 shows an example of a recording medium from which the recorded control program can be read by a computer system.
  • a recording medium for example, it is inserted into a storage device 241 such as a ROM node disk device provided as an internal or external accessory device in the computer system 240, or a medium driving device 242 provided in the computer system 240. Therefore, it is possible to use a portable recording medium 243 such as a flexible disk, MO (magneto-optical disk), CD-ROM, DVD-ROM, etc. that can read out the recorded control program.
  • a storage device 241 such as a ROM node disk device provided as an internal or external accessory device in the computer system 240, or a medium driving device 242 provided in the computer system 240. Therefore, it is possible to use a portable recording medium 243 such as a flexible disk, MO (magneto-optical disk), CD-ROM, DVD-ROM, etc. that can read out the recorded control program.
  • MO magnetic-optical disk
  • the recording medium may be a storage device 246 provided in a computer system functioning as the program server 245 connected to the computer system 240 via the communication line 244.
  • the transmission signal obtained by modulating the carrier wave with the data signal representing the control program is transmitted from the program server 245 to the computer system 240 through the communication line 244 as a transmission medium.
  • the control program can be executed by the CPU of the computer system 240 by demodulating the received transmission signal and reproducing the control program.
  • FIG. 25 shows an example of a detailed configuration diagram of the isochronous packet.
  • the isochronous packet consists of 4 bytes of header power byte, header CRC power byte, data, and data CRC.
  • the data is further subdivided as shown in the right figure.
  • the source packet is a combination of a source packet header and compressed data. For example, only the compressed data part may be encrypted. With this configuration, the isochronous packet can be Sometimes the data is rounded to N times.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 簡素な構成でリアルタイムに画像データを転送することを可能とした画像データ転送装置を提供することである。本発明の画像データ転送装置は、画像データの種類を基に、1サイクルにおいて転送される画像データのライン数およびそのライン数に対応するデータ量を算出する1サイクル転送量算出部33と、可変長符号化によって処理された前記画像データのうち、前記ライン数分のデータを格納することが可能なバッファ部(28、29)と、算出されたライン数に対応するデータ量と、バッファ部(28、29)に格納されたデータとの差を算出するとともに、その差だけ、バッファ部(28、29)に格納されたデータに無効なデータを追加する無効データ追加部38と、無効なデータが追加されたデータを基に、パケットを生成して送信するパケット生成部39を備える。

Description

明 細 書
データ転送装置およびデータ転送方法
技術分野
[0001] 本発明は、データを圧縮して転送するデータ転送装置に関する。
背景技術
[0002] 画像データは、通常、 MPEG (Moving Picture Experts Group) 2等の圧縮方式を 用いて圧縮して転送される。 MPEG2方式でデータを転送する場合、 MPEG2-TS 形式がしばしば用いられている。この形式では、転送される実データを各種制御デー タとともに 188バイトの固定長内に入れてカプセル化している。
[0003] 動画像の送信などリアルタイム性が要求される環境をこの MPEG2方式で実現しよ うとした場合、時間同期を避けるためのタイムスタンプ等の情報をヘッダ部に格納す るとともに、そのヘッダ部の後に、画像データ、音声、番組情報、等のメタデータを入 れて、複数のストリームを重畳させる。この結果、回路が複雑ィ匕するとともに、回路規 模が大型化し、システムの実現にコストがかかる。
[0004] 例えば、 MPEG2に関する符号量制御に関する技術が特許文献 1および 2に開示 されている。
特許文献 1:特開 2001— 28753号公報「動画像符号化装置及びその方法」 特許文献 2:特開 2001— 238215号公報「動画像符号化装置及びその方法」 発明の開示
[0005] 本発明の課題は、簡素な構成でリアルタイムにデータを転送することを可能とした データ転送装置およびデータ転送方法を提供することである。
本発明の第 1態様は、入力データの種類を基に、 1サイクルにおいて転送される べき前記入力データの処理単位数およびその処理単位数に対応するデータ量を算 出する 1サイクル転送量算出部と、前記入力データのうち、前記処理単位数分のデ ータを格納することが可能なバッファ部と、前記算出された処理単位数に対応するデ ータ量と、前記バッファ部に格納されたデータとの差を算出するとともに、その差だけ 、前記バッファ部に格納されたデータに無効なデータを追加する無効データ追加部 と、
前記無効なデータが追加されたデータを基に、パケットを生成して送信するパケット 生成部を備えるデータ転送装置である。
[0006] 本発明の第 2態様の画像データ転送装置は、画像データを圧縮して転送する画像 データ転送装置において、前記画像データの種類を基に、 1サイクルにおいて転送 される前記画像データのライン数およびそのライン数に対応するデータ量を算出する 1サイクル転送量算出部と、可変長符号ィ匕によって処理された前記画像データのうち
、前記ライン数分のデータを格納することが可能なバッファ部と、前記算出されたライ ン数に対応するデータ量と、前記バッファ部に格納されたデータとの差を算出すると ともに、その差だけ、前記バッファ部に格納されたデータに無効なデータを追加する 無効データ追加部と、前記無効なデータが追加されたデータを基に、パケットを生成 して送信するパケット生成部を備えることを特徴とする画像データ転送装置である。
[0007] ここで、 1サイクル転送量算出部によって、 1サイクルにおいて転送されるライン数お よびそのライン数に対応するデータ量が算出されるとともに、バッファ部に格納された そのライン数に対応するデータに対して、そのデータ量が、算出されたデータ量に一 致するように、無効データ追加部によって無効なデータが追加される。これにより、可 変長符号ィ匕によって処理されたデータに対しても、パケットサイズを固定長とすること が可能となり、例えば、 IEEE1394インターフェイス等の安価なシステムでァイソクロ ナス転送を行う場合に要求される固定ビットレートの規定が満たされることとなり、簡 素な構成でリアルタイムに画像データを転送することができる。
[0008] 本発明の第 2態様の画像データ転送装置は、画像データを圧縮して転送する画像 データ転送装置において、前記画像データの種類を基に、 1サイクルにおいて転送 される前記画像データのライン数、固定長にするライン数、および、その固定長にす るライン数に対応するデータ量を算出する 1サイクル転送量算出部と、可変長符号化 によって処理された前記画像データのうち、前記固定長にするライン数分のデータを 格納することが可能なバッファ部と、前記算出された固定長にするライン数に対応す るデータ量と、前記バッファ部に格納されたデータとの差を算出するとともに、その差 だけ、前記バッファ部に格納されたデータに無効なデータを追加する無効データ追 加部と、前記無効なデータが追加されたデータを先頭力も前記 1サイクルにおいて転 送される前記画像データのライン数に対応するデータ量ずつ切り出して、その切り出 したデータ量毎にパケットを生成して送信するパケット生成部を備えることを特徴とす る画像データ転送装置である。
[0009] 第 3態様の画像データ転送装置においては、例えば、前記固定長にするライン数 を、前記 1サイクルにおいて転送される前記画像データのライン数以上に設定するこ とで、より多いライン数に対してそのデータ長が固定長になるようすればよぐシステム 内の符号ィ匕量監視部による符号ィ匕量の監視が一層容易に行える。
[0010] 本発明の第 3態様の画像データ転送方法は、画像データを圧縮して転送する画像 データ転送方法において、前記画像データの種類を基に、 1サイクルにおいて転送 される前記画像データのライン数およびそのライン数に対応するデータ量を算出する 1サイクル転送量算出ステップと、可変長符号化によって処理された前記画像データ のうち、前記ライン数分のデータをバッファ部に格納するステップと、前記算出された ライン数に対応するデータ量と、前記バッファ部に格納されたデータとの差を算出す るとともに、その差だけ、前記バッファ部に格納されたデータに無効なデータを追カロ する無効データ追加ステップと、前記無効なデータが追加されたデータを基に、パケ ットを生成して送信するステップを備えることを特徴とする画像データ転送方法である
[0011] 本発明の画像データ転送方法は、画像データを圧縮して転送する画像データ転送 方法において、前記画像データの種類を基に、 1サイクルにおいて転送される前記 画像データのライン数、固定長にするライン数、および、その固定長にするライン数 に対応するデータ量を算出する 1サイクル転送量算出ステップと、可変長符号化によ つて処理された前記画像データのうち、前記固定長にするライン数分のデータをバッ ファ部に格納するステップと、前記算出された固定長にするライン数に対応するデー タ量と、前記バッファ部に格納されたデータとの差を算出するとともに、その差だけ、 前記バッファ部に格納されたデータに無効なデータを追加する無効データ追加ステ ップと、前記無効なデータが追加されたデータを先頭力も前記 1サイクルにお 、て転 送される前記画像データのライン数に対応するデータ量ずつ切り出して、その切り出 したデータ量毎にパケットを生成して送信するステップを備えることを特徴とする画像 データ転送方法である。
[0012] 本発明によれば、可変長符号化によって処理されたデータに対しても、パケットサイ ズを固定長とすることが可能となり、ァイソクロナス転送を行う場合に要求される固定 ビットレートの規定が満たされることとなり、簡素な構成でリアルタイムにデータを転送 することができる。
図面の簡単な説明
[0013] [図 1]本発明の適用例としての車載用の画像データの転送システムを示す図である。
[図 2]本発明の一実施形態のデータ転送装置の構成を示すブロック図である。
[図 3]装置 (チャネル)毎の画像データのサイズ、転送レート、圧縮率、 1サイクル転送 量を示した図である。
[図 4]図 2の変形例(その 1)を示す図である。
[図 5] 1サイクル転送量算出部が保持する表の一例である。
[図 6A]可変長符号化としてハフマン符号ィ匕を採用した場合において、ピクセルを RG Bで表現した場合の符号ィ匕テーブルを示す図である。
[図 6B]可変長符号化としてハフマン符号ィ匕を採用した場合において、ピクセルを YU Vで表現した場合の符号ィ匕テーブルを示す図である。
[図 7]無効なデータをデータ内に分散させて、そのデータを固定長にする場合の例を 説明する図である。
[図 8]無効なデータを末尾に追加して、そのデータを固定長にする場合の例を説明 する図である。
[図 9]本発明の原理を示す図である。
[図 10]データのイメージを示す図である。
[図 11]パケット構成を示す図である。
[図 12]圧縮処理を行う場合の構成を示すブロック図である。
[図 13]実施例 7のタームチャートを示した図である。
[図 14]実施例 7のフローを示す図である。
[図 15]実施例 8、 9のタームチャートを示した図である。 [図 16]実施例 8のフローを示す図である。
[図 17]実施例 9のフローを示す図である。
[図 18]実施例 10のタームチャートを示した図である。
[図 19]実施例 10のフローを示す図である。
[図 20]LSIの送受信の構成を示した図である。
[図 21]実施例 11の受信フローを示す図であ。
[図 22]本発明のフローを示す図である。
[図 23]本発明のフローを示した図である。
[図 24]制御プログラムをコンピュータで読み取ることの可能な記録媒体の構成例を示 す図である。
[図 25]Isochronousパケットの詳細な構成図である。
発明を実施するための最良の形態
[0014] 以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
(原理説明)
図 9に本発明の原理図を示す。図 9に示すシステムは、前処理部 91、前処理後バ ッファ 92、固定長パケット生成処理部 93から構成されて 、る。
[0015] 前処理部 91は、入力データを取得し決められた処理を行い前処理後バッファ 92に 処理されたデータを格納する。入力データは可変長のデータでも固定長のデータで あってもかまわない。前処理部 91は、所定の値 (例えば 4)に示される単位 (画像の場 合はライン)に基づいて処理を行う。所定の値とは後述する固定長パケット生成処理 部 93の 1サイクル転送量算出処理部 94で算出され、周期的に出力される固定長の 1 パケットの 1サイクルに重畳させることができるデータ転送量に基づいて求められる値 であり、「1サイクルあたりのデータ転送量 ÷前処理後バッファほたは入力データ)に 格納される単位 (画像の場合はライン)毎の平均データ量」により求められる商に基づ いた値とする。
[0016] 1サイクルあたりに転送可能なデータ量に基づいて、前処理部 91での処理単位を設 定することで、前処理部での処理と転送レイヤとの処理との親和性を高めることが可 會 になる。 [0017] なお、所定の値は、 1サイクル転送量算出処理部 94により算出されるものではなぐ 予め設定された値を用いることもできる。
[0018] また、前処理においては、運用されるシステム上で必要とされる処理を適宜適用す ることが可能であり、前処理部 91は無くてもよい。その場合は、データ読出部 95では 入力データを直接読み出すことになる。
[0019] 前処理後バッファ 92には、ある塊に分けられる可変長のデータ (画像でいえば 1ライ ン毎のデータ)が格納される。例えば、図 10に示すように 720 X 480の画像の 1ライン 分を 1塊として、前記所定の値 (この例では 4)ごとにまとめて格納する。
[0020] 固定長パケット生成処理部 93は、 1サイクル転送量算出処理部 94、データ読出部 95、パケット生成部 96、転送量テーブル 97から構成されている。
データ読出部 95により前処理後バッファ 92に格納されたデータを取得する。 1サイ クル転送量算出処理部 94では、転送量テーブル 97からパケット転送時に必要な情 報 (例えば複数の画像処理装置 (入力データを生成する装置)がある場合は装置番 号等)を取得したり、入力データに応じて求められる、 1サイクル(1パケット)で転送す べきデータ量や、該データ量に応じた前述の所定の値を算出したりする。この際、転 送量テーブル 97を利用せずに、処理に必要なデータの入力を処理の都度受けて算 出することも可能である。処理高速ィ匕のためには、転送量テーブル 97に予め入力デ ータの種別とそれに応じた 1サイクル転送量などを設定しておくことが望ましい。
[0021] パケット生成部 96は、例えば図 10であれば 4ライン分のデータ (A〜D)の後に、図 11に示すように EOF (End Of File)と無効なデータ(例えば「0」詰め)を付加して固定 長データにして転送する。
[0022] 次に、画像処理装置のデータ送信部として本発明を適用した場合であって、前処 理部 91を圧縮処理部 121とした例を図 12に示す。画像データが圧縮処理部 121〖こ 入力され、量子化処理部 122、符号化処理部 123、符号量監視部 124などにより圧 縮データが生成される。その後圧縮後データ用バッファ 125に図 12に示すように、例 えば前述の所定の値力 であれば、ライン 1圧縮データ〜ライン 4圧縮データを 1塊と して格納する。その後図 9の転送レイヤにおける動作と同様にライン 1圧縮データ〜 ライン 4圧縮データに EOFと「0」を付加して固定長のパケットデータを出力する。 [0023] 本処理力ソフトウェアで実現された場合、前処理部 91または圧縮処理部 121と固 定長パケット生成処理部 93とは、同一のコンピュータ上に搭載されても、異なるコン ピュータに分散して搭載されても力まわない。
[0024] なお、本発明の処理対象は画像データのみでなぐ例えば、音声データ等であって もよい。以下の実施例は画像データを処理対象として述べているので、処理単位の 説明としてラインを使用している力 音声データであれば、例えば単位時間あたりの データ(例えば 1秒分の音声データ)を処理単位として扱うことができる。
[0025] (実施例 1)
(構成説明)
本発明は、画像データの転送に対してリアルタイム性が要求される場合に、その要 求を簡素な構成で安価に実現するシステム (データ転送装置)を提供するものである
[0026] このようなシステムとしては、図 1に示すような車載用の画像データの転送システム がある。
図 1において、カメラ 11は、道路の脇や後方等の運転者の視野の死角となりやすい 場所の画像を取り込んで、メインディスプレイ装置 15及びそのメインディスプレイ装置 15とバス 16を介して接続された後席のディスプレイ装置 17に出力する。
[0027] DVD (Digital Versatile Disk)プレーヤー 12は、 DVDを再生する。地上波ディジタ ル放送用チューナー 13は、地上波を選局して映像信号に変換するとともに、その映 像信号をディジタルの画像データに変換してメインディスプレイ装置 15及び後席の ディスプレイ装置 17に出力する。カーナビゲーシヨン装置 14は、車の現在位置を示 す情報を所定の間隔で更新してメインディスプレイ装置 15及び後席のディスプレイ 装置 17に出力する。
[0028] 本実施形態においては、上記説明したカメラ 11、 DVDプレーヤー 12、地上波ディ ジタル放送用チューナー 13、カーナビゲーシヨン装置 14等の画像処理装置と、メイ ンディスプレイ装置 15及び後席のディスプレイ装置 17等の画像処理装置を接続す るために安価にリアルタイムな転送を実現できるインターフェイスとして IEEE (Institut e of Electrical and Electronics Engineers) 1394インターフェイス 用 ヽ兌明をする。 ここで、 IEEE1394規格では、パケットの転送プロセスとして、ァイソクロナス(Isochro nous)転送とァシンクロナス(Asynchronous)転送を規定して!/、る。ァイソクロナス転送 では、画像データがリアルタイムに送信されることを優先させ、転送時にパケットに含 まれる実データのエラーチェックを省略する。ァイソクロナスパケットの実データ領域 には、各チャネル (各装置)の画像データの一部が含まれる。一方、ァシンクロナス転 送は、制御プロトコルの一種であり、転送先力 のァクノリッジ (応答)を必要とするも のである。 IEEE1394規格では、例えば、ァイソクロナスパケットのパケットサイズは 固定長である必要がある。これは、それぞれのノードがアービタ (調停回路)にァイソ クロナス転送を開始してょ 、かを問 、合わせる際に、その問 、合わせの中にビットレ ート(固定値)を入れておくことが規定されて 、るためである。
[0029] なお、 IEEE1394規格におけるデータ転送の 1サイクルは 125 μ secであり、その 1 サイクル内で、各チャネル(各装置)のァイソクロナスパケット、ァシンクロナスパケット の順にデータを転送できる。 1サイクルで転送可能なァイソクロナスパケット内の実デ ータのバイト数は、 IEEE1394規格のより細かい規定に応じて異なる。すなわち、各 チャネルのァイソクロナスパケットに含まれる実データの和が、 S100、 S200、 S400 、 S800という規定に対して、それぞれ、 1Kバイト、 2Kバイト、 4Kバイト、 8Kバイト以 下であれば、それらの各チャネルのァイソクロナスパケットは 1サイクルで転送可能で ある。
[0030] なお、本実施例では IEEE1394を用いて説明をする力 当然アイソクロナス転送と 同等の機能を有するデータ転送方式を備えた装置であれば限定するものではない。 例えば USB (Universal Serial Bus)などでもよい。また、画像処理装置に限らず装置 に可変長または固定長のデータ(例えばデータとして画像データ、音声データ等)を 入力し、固定長データを出力する装置であれば特に限定をするものではない。
[0031] 次に、図 2は本発明の一実施形態のデータ転送装置の構成を示すブロック図であ る。図 2に示すブロック図は、図 1で説明したカメラ 11、 DVDプレーヤー 12、地上波 ディジタル放送用チューナー 13、カーナビゲーシヨン装置 14等の各画像処理装置 の送信部 (圧縮部 (圧縮レイヤ)、転送部(転送レイヤ)から構成される。以下、送信部 をデータ転送装置 20とする)を示している。なお、データ転送装置 20から送信データ (本例では画像データ)を受信して表示するメインディスプレイ装置 15及び後席のデ イスプレイ装置 17等の受信部につ 、ては後述する。
[0032] 図 2においてデータ転送装置 20は、前処理部 21、量子化部 22、符号ィ匕部 23、量 子化テーブル作成部 24、量子化テーブル 25a, 25b, 25c、符号化テーブル作成部 26、符号ィ匕テープノレ 27 &、 27b, 27c,第 1ノ ッファ 28、第 2ノ ッファ 29、スィッチ咅 4、 35、等から構成される圧縮部と、アクセス制御部 31、書き込み先切替タイミング生 成部 32、 1サイクル転送量算出部 33、 1ライン平均データ量'読み出しデータ量算出 部 37、無効データ追加部 38、パケット生成部 39等から構成される転送部から構成さ れている。
[0033] 圧縮部について説明する。
前処理部 21は、画像データが持つ冗長性を 2次元予測差分パルス符号変調(2次 元予測 DPCM (Differential Pulse Code Modulation) ) , 1次元予測 DPCM、 1次元 離散コサイン変換(1次元 DCT (Discrete Cosine Transform) )等の前処理を行うこと によって削減する。
[0034] 量子化部 22は、前処理の結果に対して、さらに粗!、量子化を行う。、符号化部 23 は、さらに粗く量子化されたデータに対して可変長符号化 (Wyle符号化、 Golomb符 号化、 Huffinan符号化、 Run Length符号化、等)を行う。
[0035] 量子化テーブル作成部 24は、前処理の結果として出力されやすいビット列(出力さ れるビット列の傾向)を画像処理装置(11〜14:チャネル)ごとに保持するとともに、 処理する画像データのチャネルを基に、適合しそうな量子化テーブルを数テーブル ( 図では量子化テーブル 25a, 25b, 25cが作成されている)作成する。ここで通常、上 記量子化テーブル 25a, 25b, 25cは動作開始前に生成されている。しかし、画像処 理装置の運用時に動的に量子化テーブル 25a, 25b, 25cを運用に問題ないように 量子化テーブル作成部 24によって生成することは可能である。
[0036] 符号ィ匕テーブル作成部 26は、さらに粗い量子化の結果として出力されやすいビッ ト列(出力されるビット列の傾向)を画像処理装置 (チャネル)ごとに保持するとともに、 処理する画像データのチャネルを基に、適合しそうな符号ィ匕テーブルを数テーブル ( 図では符号ィ匕テーブル 27a、 27b, 27cが作成されている)作成する。ここで、上記符 号ィ匕テーブル 27a、 27b, 27cにおいても動作開始前に符号ィ匕テーブル作成部 26 によって生成されている。しかし、画像処理装置の運用時に動的に符号ィ匕テーブル 27a, 27b、 27cを運用に問題ないように生成することは可能である。
[0037] 第 1バッファ 28、第 2バッファ 29は、例えば FIFO (First- In First-Out)で構成され、 符号ィ匕部 23からのデータを保存する。
符号ィ匕量監視部 36は、第 1バッファ 28または第 2バッファ 29内に順次格納される 符号化データの全体の符号量を監視し、符号量が大きすぎる場合は、その符号量を 平均的に短くする符号ィ匕テーブルまたは量子化テーブルを選択する指示をスィッチ 部 34または 35に出力し、符号量が少なすぎる場合は、その符号量を増やす符号ィ匕 テーブルまたは量子化テーブルを選択する指示をスィッチ部 34または 35に出力す る。
[0038] 上記圧縮部(前処理部を含んでも良い)は、図 9の前処理部 91または図 12の圧縮 レイヤに相当する。また、第 1バッファ 28、第 2バッファ 29は、図 9の前処理後バッファ 92または図 12の圧縮後データ用バッファ 125に相当する。
[0039] 次に、転送部について説明する。
アクセス制御部 31は、第 1バッファ 28および第 2バッファ 29に対する符号ィ匕部 23 力ものデータのアクセス(読み書き)を制御する。ここで、本実施例ではバッファは 2段 ノ ッファ構造であるが 1つのバッファであってもよい。 2段バッファの場合、書き込み先 切替タイミング生成部 32により、符号ィ匕部 23からのデータ書き込みを許可するバッフ ァを第 1バッファ 28から第 2バッファ 29へ、または、第 2バッファ 29から第 1バッファ 28 へ切り替えるタイミングを示す切替信号 (例えばクロック信号)を生成する。なお、ひと つのバッファの場合においてもデータページを区切るなどすることで切替をすること はできる。
[0040] 1サイクル転送量算出部 33は、 1サイクルで転送する必要があるライン数を算出す るとともに、そのライン数に対応するバイト数を算出する。
1ライン平均データ量'読み出しデータ量算出部 37は、第 1バッファ 28または第 2バ ッファ 29に今回バッファリングされたデータ量を取得して、無効なデータを分散させる 目安としての 1ライン平均バイト数、および、第 1バッファ 28または第 2バッファ 29から 読み出すデータのバイト数を算出する。
[0041] 無効データ追加部 38は、第 1バッファ 28または第 2バッファ 29から出力されるデー タに対して必要に応じて、無効なデータを EOF (End of File)の後に追加する。パデ イングとして無効ビット (例えば「0」 )、スタッフビット)を追加する(詰める)。
[0042] パケット生成部 39は、無効なデータが追加されたデータ、または、第 1バッファ 28、 第 2バッファ 29から出力されたデータを基に、ァイソクロナスパケットを生成する。 上記転送部は、図 9または図 12の転送レイヤに相当する。
[0043] 本発明では、符号ィ匕部 23による可変長符号ィ匕の結果として、入力された画像デー タの各ラインの符号ィ匕結果のデータ長にばらつきが生じる力 無効データを追加する ことで、複数のラインで符号ィ匕結果が固定長になるようにしている。これにより、それ ぞれのサイクルで、転送されるデータに固定長を要求するような規格を満たすことが でき、簡素な構成にてリアルタイムな転送を実現できる。
[0044] なお、符号ィ匕部 23によって可変長符号ィ匕されたデータは、第 1バッファ 28および 第 2バッファ 29に対して出力される。しかし、アクセス制御部 31は、書き込み先切替 タイミング生成部 32からの信号を基に、第 1バッファ 28および第 2バッファ 29につい ては、いずれか一方にデータが書き込めるように制御している。このため、可変長符 号ィ匕されたデータは、第 1バッファ 28および第 2バッファ 29のいずれか一方に書き込 まれる。
[0045] (動作説明)
以下では、転送部 (符号ィ匕部 23の後段)の処理について詳細に説明する。
[0046] 図 2に示す 1サイクル転送量算出部 33の 1サイクルの転送量を算出する方法につ いて説明する。
図 3は、画像処理装置 (カメラ 11、 DVDプレーヤー 12、地上波ディジタル放送用チ ユーナー 13、カーナビゲーシヨン装置 14等:チャネル)毎の画像データのサイズ、転 送レート、圧縮率、 1サイクル転送量を示した図である。
[0047] 図 3において、項番は、装置種別に対応している。例えば、項番「1」は、カーナビゲ ーシヨン装置からの画像データ、項番「2」は、 DVDプレーヤーからの画像データに 対応している。各装置はいずれかのチャネルに割り当てられることを考慮すると、項 番はチャネル番号に対応して 、ると 、うこともできる。
[0048] また、横サイズは、画像データの 1ラインのピクセル数、バイト Zピクセルは、 1ピクセ ル当たりのバイト数、縦サイズは、画像データのライン数、転送レートは、 1秒間に転 送しなければならない画像データ (フレーム)数、圧縮率は、前処理から可変長符号 化までの処理によって達成されることが保障される圧縮率 (所望とする圧縮率)である
[0049] また、 1サイクル転送ライン数は、各チャネルの画像データ力 転送レートの条件等 の仕様を満たすために、 IEEE1394の 1サイクル(125 μ sec)で転送しなければなら な 、ライン数 (整数値に切り上げた値を示して 、る。括弧内は切り上げを行わな ヽ場 合の値である)を示している。 1サイクル転送バイト数は、このライン数に対応するバイ ト数である。
[0050] 以下に、項番「1」(カーナビゲーシヨン装置)の場合を例にとり、 1サイクル転送ライ ン数、 1サイクル転送バイト数の算出方法を説明する。
まず、項番「1」では、転送レートは 60 (フレーム Zsec)であり、 1フレーム内には、 4 80ラインが含まれている。よって、 1秒間に転送しなければならないライン数は、 60 ( フレーム Zsec) X 480 (ライン Zフレーム)である。
[0051] このライン数を各サイクルに等分すると、
60 (フレーム Zsec) X 480 (ライン Zフレーム) X (125 ^ sec/lsec) = 3. 6ライン となる。すなわち、 1サイクルに 3. 6ラインが平均して転送されるようにすれば、転送レ ートの条件を満たすことができる。例えば、 1サイクルで、複数のラインを区切りよく転 送する場合は(その必要は必ずしもないが)、 4ラインをこの場合、転送することになる
[0052] 項番「1」で 4ラインを転送する場合においては、 1ラインが 800バイト、各ピクセルが 3バイト(1画素: R、 G、 B)、圧縮率が(1Z3)であるので、この 4ラインに対応するバイ ト数は、
800 (バイトライン) X 4 (ライン) X 3 X (1Z3) = 3200バイトとなる。
[0053] すなわち、上述の S100〜S1600のうちどの規定を使用する力、 1サイクルで何チ ャネルのデータのァイソクロナスパケットを転送するかに応じて、様々な組み合わせ が可能である。
[0054] 例えば、 S400規定は、各チャネルの和に対する 1サイクルの転送バイト数の上限 力 S4Kバイトである。この S400規定を使用して、カーナビゲーシヨン装置(項番「1」)と DVDプレーヤー(項番「2」 )力 の画像データをともに 1つのサイクルで転送する場 合、 1サイクルで転送する必要があるノイト数は、それぞれ 3200バイト、 960バイトで あるので、その禾ロは、 3200 + 960=4160ノ ィ卜となり、 4K (4096)ノ ィ卜を超えてし まつ。
[0055] このような場合、アービタ (調停回路)によって、使用する規定に対応した 1サイクル での転送バイト数の上限が満たされるように、バスの使用権が各ノードに与えられる。 また、 1サイクル転送量算出部 33は、装置種別 (カーナビゲーシヨン装置、地上波 ディジタル放送用チューナー、 DVDプレーヤ一等)またはチャネル番号を入力して、 その装置種別またはチャネル番号に対応する、 1サイクルで転送する必要があるライ ン数およびバイト数を算出(取得)する。
[0056] なお、このバイト数は、例えば、上述の計算では、 3. 6ラインに相当するバイト数(2 880バイト)である力 本実施形態では、例えば、区切りがよい 4ラインに相当するバイ ト数(3200バイト)を転送する必要があるバイト数として用いる。
[0057] 次に、書き込み先切替タイミング生成部 32は、 1サイクル転送量算出部 33によって 生成されたライン数を信号線(1)を介して入力するとともに、それぞれのラインの先頭 位置を示す信号 (例えばクロック)である HSYNC (水平同期信号)信号を入力して、 その HSYNC (水平同期信号)信号をそのライン数に達するまでカウントアップする。 そのライン数まで達した位置を示す信号 (切替タイミングを示すクロック)が信号線 (2) を介して、アクセス制御部 31に出力される。
[0058] アクセス制御部 31は、そのクロック信号を基に、符号ィ匕部 23からのデータ書き込み を許可するバッファを切り替える。
1ライン平均データ量 ·読み出しデータ量算出部 37は、 1サイクル転送量算出部 33 によって算出された 1サイクルで転送しなければならないライン数およびバイト数を信 号線 (3)を介して入力するとともに、書き込み先切替タイミング生成部 32によって算 出された切替タイミングを示すクロックを信号線 (2)を介して入力する。 [0059] 切替タイミングを示すクロック力 1ライン平均データ量 ·読み出しデータ量算出部 3 7に入力されると、 1ライン平均データ量 ·読み出しデータ量算出部 37は、その切替タ イミングによって符号ィ匕部 23からのデータ書き込みが無効となったバッファ(第 1バッ ファ 28、第 2バッファ 29のいずれか一方のバッファ)に格納された、今回のサイクルで 転送するデータのバイト数を取得する。
[0060] そして、 1ライン平均データ量 ·読み出しデータ量算出部 37は、 1サイクル転送量算 出部 33より、 1サイクルで転送しなければならないライン数分のデータをもらい、 1ライ ン当たりの平均バイト数を算出する。また、複数サイクルで固定長の複数ライン分の データを転送する場合、バッファから読み出すデータサイズに余りが生じる場合 (複 数サイクルで固定長の場合)、その分に無効なデータをいれる必要があるので、その 余りのビット数を計算する。無効なデータの入れ方にはいくつかのパターンが考えら れる。後述の図 15のデータ 1では、最後のサイクルに無効なデータを挿入し、データ 2では、複数サイクルで均等に無効なデータを分散させる。
[0061] また、 1サイクルで固定長の複数ライン分のデータが入る場合もある(図 18)。この場 合は、 1サイクル中に複数の無効なデータが入る。
[0062] ノ ッファカも読み出すデータ量 (バイト数)を信号線 (4)を介して入力したアクセス制 御部 31は、その時点では符号ィ匕部 23からの書き込みが許可されて 、な 、バッファ、 すなわち、今回転送するデータがバッファリングされたバッファ (第 1バッファ 28、第 2 ノッファ 29のいずれか)に対し、その先頭力らそのノイト数だけデータを出力するよう に指示する。
[0063] その指示にしたがって、ノ ッファカもそのバイト数のデータが出力されると、そのデ ータは無効データ追加部 38に入力される。また、無効データ追加部 38は、 1ライン 当たりの平均バイト数を信号線 (5)を介して入力している。
[0064] 無効データ追加部 38は、圧縮レイヤで固定長にすべきデータ量に対して、ノ ッファ 力もの規定のライン数分のデータを入れて余りが生じた分だけ、無効データ (そのピ クセルの値が有効でな ヽことを示す符号が含まれるデータ、すなわち無効なデータ) を追加する。そして、無効データが追加されたデータをパケット生成部 39に出力する 。 パケット生成部 39は、 1サイクル転送量算出部 33によって算出された、 1サイクル に転送しなければならな 、ライン数を信号線 (6)を介して入力して 、る。
[0065] パケット生成部 39は、無効データが追加されたデータを無効データ追加部 38から 受信した回数をカウントアップし、その回数がその 1サイクルに転送しなければならな V、ライン数に達した場合に、そのライン数だけ受信したデータを連結して実データを 生成するとともに、その実データにヘッダ部を追加してァイソクロナスパケットを生成し て伝送路に送出する。
[0066] 次に、コンピュータなどで処理する場合についてフロー図 22、 23を用いて説明する
[0067] 図 22の処理では、 1サイクルにおいて転送されるべきライン数と 1パケットに含める ライン数が等し ヽ場合の処理を説明する。 1サイクルにお ヽて転送されるべきライン数 と 1パケットに含めるライン数(固定長にするライン数)は等しくなくても良ぐ等しくない 場合の処理を図 23に示す。
[0068] 図 22のフロー図は、 1サイクルにおいて転送されるべきライン数と 1パケットに含める ライン数が等しい場合の処理を説明する。図 13に対応する。ステップ S221では、画 像データの種類を基に、 1サイクルにお ヽて転送されるべき画像データのライン数お よびそのライン数に対応するデータ量(1サイクルにおいて転送されるべきデータ量) を算出する。
[0069] ステップ S222では、可変長符号化 (もしくは他の前処理)によって処理された画像 データのうち、 1サイクルにおいて転送されるべきライン数分のデータをバッファ部 (メ モリ)に格納する。
[0070] ステップ S223では、算出されたライン数に対応するデータ量と、ノ ッファ部に格納 されたデータとの差を算出するとともに、バッファ部に格納されたデータの方が小さい 場合にはその差だけ、ノ ッファ部に格納されたデータに無効なデータを追加する。な お、ノッファ部に格納されたデータの方が大きい場合は、図 23の場合となる。
[0071] ステップ S224では、無効データが追加されたデータを基に、パケットを生成して送 信する。
なお、ステップ S222でバッファに格納するデータは、 1サイクルにおいて転送され るべきライン数ではなぐ予め設定された他の値のライン数分とすることも可能である 。図 23に示すフロー図は、 1サイクル転送ライン数より固定長にするライン数のほうが 大きい場合を示している。図 15のデータ 1、データ 2に対応する。まずは、データ 1に ついて説明する。
[0072] 図 23に示すフロー図のステップ S231では、画像データの種類を基に、 1サイクル において転送されるべき画像データのライン数、固定長にするライン数 (1パケットに 含めるライン数)、および、その固定長にするライン数に対応するデータ量を算出する
[0073] ステップ S232では、可変長符号化 (もしくは他の前処理)によって処理された画像 データのうち、固定長にするライン数分のデータをバッファ部 (メモリ)に格納する。 ステップ S233では、算出された固定長にするライン数に対応するデータ量と、バッ ファ部に格納されたデータとの差を算出するとともに、その差だけ、ノ ッファ部に格納 されたデータに無効なデータを追加する。
[0074] ステップ S234では、無効データが追加されたデータを先頭から 1サイクルにおいて 転送される画像データのライン数に対応するデータ量ずつ切り出して、その切り出し たデータ量毎にパケットを生成して送信する。
[0075] データ 2では、 S233と S234力 S若干異なる。
ステップ S231では、画像データの種類を基に、 1サイクルにおいて転送されるべき 画像データのライン数、固定長にするライン数 (1パケットに含めるライン数)、および、 その固定長にするライン数に対応するデータ量を算出する。
[0076] ステップ S232では、可変長符号化 (もしくは他の前処理)によって処理された画像 データのうち、固定長にするライン数分のデータをバッファ部 (メモリ)に格納する。 ステップ S233では、算出された固定長にするライン数に対応するデータ量と、バッ ファ部に格納されたデータとの差を算出するとともに、その差だけ、ノ ッファ部に格納 されたデータに無効なデータを、複数サイクルで無効データを均等に配置できるよう に、データ量を計算しておく。
[0077] ステップ S234では、バッファから 1サイクル毎において転送される画像データのライ ン数に対応するデータ量ずつ切り出して、その切り出したデータ量毎に均等に配置 する無効データを付加してパケットを複数個分生成して送信する。フローは省略する [0078] (実施例 2)
次に、実施例 2の説明をする。実施例 2は実施例 1の変形例である。
[0079] 上記実施例 1のヘッダ部には、画像データの各ラインの読み出しタイミングを決める
HSYNC (水平同期信号)信号の位置を示す情報、画像データのサイズ (ライン数、 1 ライン当たりのピクセル数)等が含まれる。
[0080] 受信側のノードで、データを復号する場合、無効データが常に一定の割合で含ま れていることが好ましい。このため、以上の説明では、無効データがァイソクロナスパ ケットの実データ内に適度に分散される場合を扱った。
[0081] し力し、無効データのァイソクロナスパケットの実データの末尾や先頭の 1箇所に追 加することも可能である。
その場合、図 4に示すように、図 2と比較して、 1ライン平均データ量'読み出しデー タ量算出部 37が、無効データ書き込み部 41と、読み出し指示部 42に置き換わり、無 効データ追加部 38がなくなる。
[0082] 図 4の無効データ書き込み部 41は、信号線(2)を介して書き込み先のバッファが切 り替わるタイミングを受け取るとともに、信号線(7)を介して 1サイクルに転送しなけれ ばならないバイト数を受け取る。そして、無効データ書き込み部 41は、符号化部 23 力もの書き込みが不可となったバッファに格納されているデータのノイト数を取得し、
1サイクルに転送しなければならないバイト数と、その取得したバイト数との差をとり、 その差だけ、無効なデータ(無効バイト)をバッファに格納されているデータの末尾に 追加する。
[0083] 読み出し指示部 42は、 1サイクル転送量算出部 33によって算出された 1サイクルで 転送しなければならな 、バイト数を信号線 (7)を介して入力する。
そして、無効データ書き込み部による無効データのバッファへの書き込みが終了す ると、読み出し指示部 42は、符号ィ匕部 23からの書き込みが無効となっているノ ッファ (第 1バッファ 28、第 2バッファ 29のいずれか一方のバッファ)に格納された、今回の サイクルで転送するデータを、先頭から、その 1サイクルで転送しなければならないバ イト数だけ読み出す指示をアクセス制御部 31に出力する。 [0084] パケット生成部 43は、前段のバッファ力もデータを受信する毎に、そのデータを実 データに持つアイソクロナスパケットを生成して、伝送路に送出する。
なお、以上では、 1サイクルで最低限転送しなければならないライン数 (バイト数)で 固定長にする場合を説明した。しかし、一般には、ライン数が多ければ多いほど、より 長いバイト数で固定長にすればよくなり、符号量監視部 36による制御が一層容易に なる。
[0085] (実施例 3)
以下では、 1サイクルで転送しなければならな ヽライン数を超えたライン数で固定長 にする場合を扱う。この場合も、上記の説明同様、無効データをァイソクロナスバケツ トの実データ領域に適度に分散する場合と、無効データをァイソクロナスパケットの実 データ領域の先頭または末尾に追加する場合を考える。
[0086] まず、 1サイクルで転送しなければならないライン数を超えたライン数で固定長にす る場合において、無効データを適度に分散する場合、図 2の 1サイクル転送量算出部 33は、装置種別またはチャネル番号を入力すると、その装置種別またはチャネル番 号に対応する、 1サイクルで転送しなければならないライン数、固定長にするライン数 、固定長にするライン数に対応するバイト数を算出(取得)する。
[0087] 図 2の書き込み先切替タイミング生成部 32は、固定長にするライン数と、 HSYNC( 水平同期信号)信号を入力して、符号ィ匕部 23からのデータ書き込みを許可するバッ ファ(第 1バッファ 28、第 2バッファ 29のいずれか)を切り替える。すなわち、この場合 、第 1バッファ 28および第 2バッファ 29はいずれも、固定長にするライン数に対応す るバイト数分の可変長符号化されたデータを格納可能な FIFOとなる。
[0088] 1ライン平均データ量 ·読み出しデータ量算出部 37は、 1サイクル転送量算出部 33 によって算出された固定長にするライン数およびそのライン数に対応するバイト数を 信号線(3)を介して入力するとともに、書き込み先切替タイミング生成部 32によって 算出された切替タイミングを示すクロックを信号線 (2)を介して入力する。
[0089] 切替タイミングを示すクロック力 1ライン平均データ量 ·読み出しデータ量算出部 3 7に入力されると、 1ライン平均データ量 ·読み出しデータ量算出部 37は、その切替タ イミングによって符号ィ匕部 23からのデータ書き込みが無効となったバッファ(第 1バッ ファ 28、第 2バッファ 29のいずれか一方のバッファ)に格納された、今回のサイクルで 転送するデータのバイト数を取得する。
[0090] そして、 1ライン平均データ量 ·読み出しデータ量算出部 37は、今回バッファ力も取 得したノイト数を、固定長にするライン数で割ることによって、ノッファから 1回に読み 出すデータ量を算出する。
[0091] また、 1ライン平均データ量 ·読み出しデータ量算出部 37は、固定長にするライン数 に対応するバイト数を、その固定長にするライン数で割ることによって、無効データを 今回バッファから取得したバイト数中に分散させる場合に目安として用いる、 1ライン 当たりの平均バイト数を算出する。
[0092] ノ ッファカも読み出すデータ量 (バイト数)を信号線 (4)を介して入力したアクセス制 御部 31は、その時点では符号ィ匕部 23からの書き込みが許可されて 、な 、バッファ、 すなわち、今回転送するデータがバッファリングされたバッファ (第 1バッファ 28、第 2 ノッファ 29のいずれか)に対し、その先頭力らそのノイト数だけデータを出力するよう に指示する。
[0093] その指示にしたがって、ノ ッファカもそのバイト数のデータが出力されると、そのデ ータは無効データ追加部 38に入力される。また、無効データ追加部 38は、 1ライン 当たりの平均バイト数を信号線 (5)を介して入力している。
[0094] 無効データ追加部 38は、 1ライン当たりの平均バイト数と、ノ ッファカも取得したデ ータのバイト数との差をとり、その差だけ、無効データ(そのピクセルの値が有効でな いことを示す符号が含まれるデータ)を追加する。そして、無効データが追加された データをパケット生成部 39に出力する。
[0095] パケット生成部 39は、 1サイクル転送量算出部 33によって算出された、 1サイクルに 転送しなければならな 、ライン数を信号線 (6)を介して入力して 、る。
パケット生成部 39は、無効データが追加されたデータを無効データ追加部 38から 受信した回数をカウントアップし、その回数がその 1サイクルに転送しなければならな V、ライン数に達した場合に、そのライン数だけ受信したデータを連結して実データを 生成するとともに、その実データにヘッダ部を追加してァイソクロナスパケットを生成 する。 [0096] (実施例 4)
続、て、 1サイクルで転送しなければならな 、ライン数を超えたライン数で固定長に する場合において、無効データを先頭または末尾に追加する場合を説明する。
[0097] その場合、図 4の無効データ書き込み部 41は、信号線(2)を介して符号ィ匕部 23か らのデータ書き込み先のノ ッファが切り替わるタイミングを受け取るとともに、信号線( 7)を介して固定長にするライン数に対応するバイト数を受け取る。そして、無効デー タ書き込み部 41は、符号ィ匕部 23からの書き込みが不可となったバッファに格納され ているデータのノイト数を取得し、固定長にするライン数に対応するバイト数と、その 取得したバイト数との差をとり、その差だけ、無効なデータ (無効バイト)をバッファに 格納されて ヽるデータの末尾に追加する。
[0098] 読み出し指示部 42は、 1サイクル転送量算出部 33によって算出された 1サイクルで 転送しなければならな 、ライン数に対応するバイト数を信号線 (7)を介して入力する そして、無効データ書き込み部 41による無効データのバッファへの書き込みが終 了すると、読み出し指示部 42は、符号ィ匕部 23からの書き込みが無効となっているバ ッファ(第 1バッファ 28、第 2バッファ 29のいずれか一方のバッファ)に格納された、今 回のサイクルで転送するデータを、先頭から、その 1サイクルで転送しなければならな V、バイト数ずつ、読み出す指示をアクセス制御部 31に出力する。
[0099] パケット生成部 43は、前段のバッファ力もデータを受信する毎に、そのデータを実 データに持つアイソクロナスパケットを生成して、伝送路に送出する。 なお、以上の 説明では、固定長にするライン数が 1サイクルで転送しなければならないライン数と一 致する場合と、固定長にするライン数が 1サイクルで転送しなければならないライン数 を超えた場合を扱った。しかし、固定長にするライン数が 1サイクルで転送しなければ ならな 、ライン数を超えるかどうかは装置 (チャネル)によって変わるのが一般的であ る。その意味では、 1サイクル転送量算出部 33は、通常、図 5に示すような表を保持 していて、その表に基づいて、 1サイクルで転送する必要があるライン数、固定長に するライン数、固定長にするライン数に対応するバイト数を取得している。
[0100] 例えば、図 5の項番「2」は、図 3の項番「2」(DVDプレーヤーからの画像データ)に 対応している力 この項番では、 1サイクルに転送しなければならないライン数 = 2ラ インであるため、そのライン数をそのまま固定長にするライン数に設定すると、符号量 制御部 36による符号量制御がそれほど容易には行えなくなる。 2ライン X 4 = 8ライン を固定長にするライン数に設定することで、符号量制御を容易に行えるようにして ヽ る。
[0101] 以下に、可変長符号ィ匕としてハフマン (Huffinan)符号ィ匕を採用した場合において、 ピクセルを RGBで表現した場合と YUVで表現した場合の符号ィ匕テーブルを図 6A および図 6Bに示す。
[0102] 図 6Aは、ピクセルを RGBで表現した場合の、ハフマン方式の符号化テーブルを示 す図である。
図 6Aに示すように、 R成分に対応する R成分用符号化テーブル内に、有効でない データ(無効データ)の出現確率 P
Kが示されている。無効データは、その出現確率に 応じた冗長性を持つ符号に対応させられることになる。
[0103] 受信側でァイソクロナスパケットの実データを復号する場合、 R成分を参照して、そ れが無効データかどうかが判定される。
図 6Bは、ピクセルを YUVで表現した場合の、ハフマン方式の符号化テーブルを示 す図である。
[0104] 図 6Bに示すように、輝度成分 Yに対応する輝度成分 Y用符号化テーブル内に、有 効でないデータ(無効データ)の出現確率 Pが示されている。無効データは、その出
K
現確率に応じた冗長性を持つ符号に対応させられることになる。
[0105] 受信側でァイソクロナスパケットの実データを復号する場合、輝度成分 Yを参照して
、それが無効データ力どうかが判定される。
[0106] (実施例 5)
図 7では、無効データをデータ内に分散させて、そのデータを固定長にする場合が 想定されている。この例では、 1サイクルで転送しなければならないライン数 =固定長 にするライン数 =4ラインに設定されている。図 2の 1サイクル転送量算出部 33は、 4 ラインの長さを 3200バイト( = 800バイト X 4)と算出して!/、る。
[0107] そのサイクルで、実際に可変長符号ィ匕の結果としてバッファに格納されたデータは 、 1ライン目が 1200バイト、 2ライン目が 600バイト、 3ライン目が 700バイト、 4ライン目 力 S660バイトである。その和は、 3160バイトであり、固定長として設定した 3200バイト 力 は 40バイト不足して!/、る。
[0108] 図 2の 1ライン平均データ量 ·読み出しデータ量算出部 37は、ノ ッファカも取得した データのバイト数(3160バイト)をライン数 (4ライン)で割ることで、 1回にノッファから 読み出すデータ量 (790バイト)を算出する。
[0109] また、 1ライン平均データ量 ·読み出しデータ量算出部 37は、 1サイクルで転送しな ければならな 、バイト数(3200バイト)を、 1サイクルで転送しなければならな 、ライン 数 (4ライン)で割ることによって、無効データを今回バッファから取得したバイト数中 に分散させる場合に目安として用いる、 1ライン当たりの平均バイト数 (800バイト)を 算出する。
[0110] 無効データ追加部 38は、 1ライン当たりの平均バイト数(800バイト)と、前段のバッ ファカも入力されたデータのバイト数(790バイト)との差をとり、その差だけ無効デー タをそのバッファ力も入力されたデータに追加して、パケット生成部 39に出力する。
[0111] (実施例 6)
図 8では、無効データを末尾に追加して、そのデータを固定長にする場合が想定さ れている。この例では、 1サイクルで転送しなければならないライン数 =固定長にする ライン数 =4ラインに設定されている。図 4の 1サイクル転送量算出部 33は、 4ラインの 長さを 3200ノイト( = 800ノイト X 4)と算出して!/、る。
[0112] そのサイクルで、実際に可変長符号ィ匕の結果としてバッファに格納されたデータは 、 1ライン目が 1200バイト、 2ライン目が 600バイト、 3ライン目が 700バイト、 4ライン目 力 S660バイトである。その和は、 3160バイトであり、固定長として設定した 3200バイト 力 は 40バイト不足して!/、る。
[0113] 図 4の無効データ書き込み部 41は、バッファから取得したデータのバイト数(3160 バイト)と、 1サイクル転送量算出部 33から取得した 4ラインの長さ(3200バイト)との 差をとり、その差 (40バイト)だけ、無効データをバッファ内のデータの末尾に追加す る。
[0114] 図 4の読み出し指示部 42は、無効データ書き込み部 41による無効データの書き込 みが終了すると、 1サイクル転送量算出部 33によって算出された 1サイクルで転送し なければならないライン数に対応するバイト数(3200バイト)を、バッファから読み出 す指示をアクセス制御部 31に出力する。
[0115] ノッファカも読み出されたデータは、図 4のパケット生成部 43に出力される。
なお、以上の説明では、送信するァイソクロナスパケットのヘッダ部に、ラインの読 み出しタイミングを決める HSYNC信号の位置を示す情報を挿入して、受信側で、ラ インの切れ目を判定するようにしていた力 他の方法を用いて、ラインの切れ目を判 定することもできる。例えば、ラインの終わりを示すラインエンド信号を符号ィ匕したもの を各ラインの最後に入れるようにしてもよい。この場合、そのラインエンド信号は、その 出現確率に応じた冗長性を持つ符号に対応させられることになる。
[0116] また、以上では、 1サイクル転送量算出部 33によって算出されたライン数が整数値 である場合を説明したが、このライン数は端数 (非整数値)であってもよ ヽ。
[0117] (実施例 7)
実施例 7では空パケットの転送について説明する。図 13は IEEE1394の 1サイクル 時間 125 secにおいてデータ転送行うタイミングを示している。転送するライン数は 、各チャネルの画像データが転送レートの条件等の仕様を満たすために 1サイクル 内で転送しなければならな 、。
[0118] 例えば、カーナビゲーシヨン装置の場合の、 1サイクルで転送するライン数、バイト 数を算出する。カーナビゲーシヨン装置の 1フレームは 800 X 480である。そして 1秒 間に転送するフレームのレートは 60 (フレーム Zsec)である。また、 1フレーム内には 、 480ラインが含まれている。よって、 1秒間に転送しなければならないライン数は、 6 0 (フレーム Zsec) X 480 (ライン Zフレーム)である。このライン数を各サイクルに等 分すると、 60 (フレーム Zsec) X 480 (ライン Zフレーム) X (125 secZlsec) = 3 . 6ラインとなる。すなわち、 1サイクルに 3. 6ラインが平均して転送されるようにすれ ば、転送レートの条件を満たすことができる。しかし、 1サイクルで、複数のラインを区 切りよく転送する場合は (その必要は必ずしもないが)、 4ラインをこの場合、転送する ことになる。ここで、映像のブランク期間を考慮して、 60 (フレーム/ sec) X 480 (ライ ン Zフレーム) X (125 /z secZlsec) X O. 9とし、 1割ほど余裕をみておく方法もある [0119] 4ラインを転送する場合において、 1ラインが 800バイト、各ピクセルが 3バイト(1画 素: R、 G、 B等)、圧縮率が(1Z3)であるので、この 4ラインに対応するバイト数は、 8 00 (バイトライン) X 4 (ライン) X 3 X (1Z3) = 3200バイトとなる。
[0120] ところが、 4ライン一 3. 6ライン =0. 4ライン分が不要となる。 1フレームで考えると 4 80ライン Z4ライン = 120回の転送データのうち 120回 X O. 4ライン =48ラインが 1 フレーム転送時の送りすぎるライン数になる。よって 48ライン Z4= 12回は空パケット を転送しなければならな ヽ。
[0121] 図 13の(a)に空パケットの転送方法(1)を示す。この例では最後にまとめて 12回空 パケットを転送している。しかし、最後にまとめて空パケットを転送すると、出力された 空パケットを受けた側のメモリサイズをその分用意しておかなければならないなどの 問題がある。
[0122] そこで、図 13に示す空パケットを分散する(b)空パケットの転送方法(2)を用いるこ とで問題を解決する。例えば、本例では 12回送る空パケットを分散させて転送する。
[0123] 図 14に 1フレームにおける空パケットの分散転送のフロー図を示す。
ステップ S141では、 1サイクル(例えば 125 μ sec)にどれくらいのデータ量を転送 するべきかを計算する。上記カーナビの例では 60 (フレーム Zsec) X 480 (ラインズ フレーム) X (125 μ sec/1) = 3. 6ラインとなる。
[0124] ステップ S142では、 1フレームあたりの転送パケット数を計算する。例えば、 X= ( (
480ライン /4ライン) = 120回を算出する( 1フレームあたりの総パケット数: X)。
[0125] ステップ S143では、その計算結果に基づいて端数 (4ライン— 3. 6ライン =0. 4ラ イン)を計算する。その後空パケットの転送回数を算出する。例えば、 Y= ( (480ライ ン Ζ4ライン) X (4ライン一 3. 6ライン)) = 12回を算出する(1フレームあたりの空パ ケット数: Υ)。
[0126] ステップ S144では、転送回数 iおよび空パケット挿入回数 ηをクリア(η= 1)する。
ステップ S145では、 1サイクル分のデータを転送ごとに iをインクリメントする(i=i+ D o
[0127] ステップ S 146では i=Xであるかを判断する。異なる場合はまだ 1フレーム分のデー タが転送さていないため空パケットを挿入するかを判断するステップ S147に移行す る。同じであれば 1フレーム分のデータ転送が完了したと判断しこの処理を終了し、 次のフレームの転送を開始する(このフローには示して 、な 、)。次のフレームに移行 する場合は VSYNC信号 (垂直同期信号)により同期を取り移行する。
[0128] ステップ S147では、 i= (X/Y) X nであるかを判断する。つまり等間隔で空バケツ トを揷入するため、 iが本例では 10回データを転送するたびに 1つの空パケットを揷 入する。また nは Yより大きい値にはならない。同じであれば空パケットを挿入するた めにステップ S 148に移行する。そうでなければ S 145に移行する。
[0129] ステップ S148では、空パケットを挿入する指示をし、 nの値をインクリメント(n=n+ 1)して S 145に移行する。つまり、この指示により実データパケットを何回か送るごと に空パケットを送ることができる。
[0130] また、上記説明した処理を図 2に示したシステムで行う場合について説明する。
図 2に示す 1サイクル転送量算出部 33で、 1サイクル(125 sec)にどれくらいのデ ータ量転送することができるか計算する。
[0131] 次に、ステップ S142〜S148に示した空パケットの挿入タイミング計算を 1サイクル 転送量算出部 33または、専用の処理部を別に設けて行う。
パケット生成部 39は、 1サイクル転送量算出部 33によって算出された、 1サイクルに 転送しなければならな 、ライン数情報と空パケット挿入情報を信号線 (6)を介して入 力する。別に処理部を設けた場合は別の信号線が必要である。
[0132] そして、パケット生成部 39は無効データが追加されたデータを無効データ追加部 3 8から受信した回数をカウントアップする。その回数がその 1サイクルに転送しなけれ ばならな 、ライン数に達した場合に、そのライン数だけ受信したデータを連結して実 データを生成する。それとともに、その実データを追加してァイソクロナスパケットを生 成して伝送路に送出する。このときに空パケット挿入情報力 ネーブルであればパケ ット生成部 39は空パケットを伝送路に送出し、ディセーブルであれば実データのパケ ットを伝送路に送出する。
[0133] (実施例 8)
実施例 8では、実施例 7のように 1サイクルで転送するデータ (ライン数)と圧縮部で 生成したバッファ内のデータ(ライン数)に親和性がある場合でなぐつまり 1サイクル 転送ライン数とバッファ内のライン数が同じでない場合 (転送レイヤでの処理単位と圧 縮レイヤでの処理単位が等しくな 、場合)につ 、て説明する。
[0134] 親和性がない場合の例を図 15に示す。実施例 7同様 1サイクルが 125 secのアイ ソクロナスパケット等を想定して説明する。 1サイクル転送ライン数が例えば 4ラインで あるときに、ノ ッファ内のライン数が 8ラインであるような場合、すなわち転送レイヤで の処理単位 <圧縮レイヤでの処理単位である場合は、図 15のデータ 1のように制御 を行う。
[0135] 図 16について説明をする。図 16は実施例 8の動作を示したフロー図である。
ステップ S161ではデータを取得する。例えば、画像データの 1フレームの 1ライン分 のデータを画像処理装置力も取得する。ステップ S162〜S164では圧縮処理 (符号 量制御や暗号化処理を含んでもょ ヽ)を行う。ステップ S 162では予測符号ィ匕を行 ヽ 予測量を算出し、ステップ S 163では量子化を行い。ステップ S 164では符号ィ匕を行う
[0136] ステップ S165では、例えば圧縮後のデータ 1ライン分をバッファへ書き込む。ここで 、ノッファは図 9で示した前処理バッファ 92や図 12で示した圧縮後データ用バッファ 125である。また図 2で示した第 1バッファ、第 2バッファである。この S162〜S165に ついては上記で説明した図 12の圧縮部 (圧縮レイヤ)で行う処理と略同じであるので 詳細な説明はしない。
[0137] ステップ S166では、所定ライン分の転送データが格納されているかを判断する。所 定ライン分格納されて 、ればステップ S 167に移行する。格納されて 、なければステ ップ S168に移行する。ここで、所定ラインは転送レイヤでの処理単位を示し、 1サイク ルで転送する分のライン数が溜まつたかを判断している。このステップは図 2に示す 構成において実施する場合は 1ライン平均データ量 ·読み出しデータ量算出部 37で 行う。
[0138] ステップ S167では、パディングを挿入するべきであるかを判断する。本例では圧縮 ライン数が 8ラインで、 1サイクルで転送するライン数力 であるので 8ライン目であれ ばステップ S 168に移行する。そうでない場合、データに EOFを付加した 4ライン分だ けのデータを生成してステップ S 169に移行する。このステップは図 2に示す構成に おいて実施する場合は 1ライン平均データ量 ·読み出しデータ量算出部 37にこの機 能を追加する。
[0139] なお、 4ライン分の圧縮データが、 1パケットデータ量よりも多い場合は、データ量よ りはみ出た分は後続パケットの先頭へ回すことになる。
ステップ S168では、所定ライン分の圧縮データと EOFと「0」詰めをして所定のデ ータ量(8ライン)を形成し S 169に移行する。このステップは図 2に示す構成において 実施する場合は無効データ追加部 38にこの機能を追加する。
[0140] ステップ S169では、転送路の規格に合わせたパケットを形成して転送をする。この ステップは図 2に示す構成において実施する場合はパケット生成部 39で行う。
なお、上記ステップでは所定ライン分溜まって力もパデイングの挿入の可否を判断 しているが、 1ライン分ごとにパデイングの挿入の可否を判断し、その後に所定ライン 分格納されたかを判断してもカゝまわな ヽ。ここでのパデイングの判断はカウンタなどに より 1ラインごとにカウントし、そのカウント値により挿入の半 U断を行う。
上記説明した処理を図 2に示したシステムで行う場合について説明する。
[0141] 1ライン平均データ量'読み出しデータ量算出部 37によりステップ S166、 S167に 示したパデイングの挿入タイミング (パディング挿入情報)を計算する。ここで、この計 算は専用の処理部を別に設けて行う。
[0142] ノ ッファカも読み出すデータ量 (バイト数、可変長符号化なので、正確にはビット数 )を信号線 (4)を介して入力したアクセス制御部 31は、その時点では符号ィ匕部 23か らの書き込みが許可されていないバッファ、すなわち、今回転送するデータがバッフ ァリングされたバッファ(第 1バッファ 28、第 2バッファ 29のいずれ力)に対し、その先 頭力もそのバイト数だけデータを出力するように指示する。アクセス制御部 31からの 指示にしたがって、ノ ッファカもそのバイト数のデータが出力されると、そのデータは 無効データ追加部 38に入力される。
[0143] 無効データ追加部 38は、 1ライン平均データ量 ·読み出しデータ量算出部 37から 1 ライン当たりの平均ノイト数、ノ ッファから取得したデータのノイト数との差をとり、そ の差だけ、無効データを追加する。そのとき、パディング挿入情報力 ネーブルであ れば無効データが追加され、ディセーブルであればパディングを追カ卩しな 、データ をパケット生成部 39に出力する。別に処理部を設けた場合は他に信号線が必要で ある。
[0144] パケット生成部 39は、 1サイクル転送量算出部 33によって算出された、 1サイクルに 転送しなければならな 、ライン数情報を信号線 (6)を介して入力する。
そして、パケット生成部 39は無効データが追加されたデータを無効データ追加部 3 8から受信した回数をカウントアップする。その回数がその 1サイクルに転送しなけれ ばならな 、ライン数に達した場合に、そのライン数だけ受信したデータを連結して実 データを生成する。それとともに、その実データを追加してァイソクロナスパケットを生 成して伝送路に送出する。
[0145] (実施例 9)
実施例 8の場合、 1サイクル転送ライン数が例えば 4ラインであるときに、ノ ッファ内 のライン数が 8ラインであると次のような問題が発生する。すなわち、圧縮部 (圧縮レイ ャ)のバッファサイズを最低限に押さえ込めない。また、図 17のように最後のパケット にだけ EOFと「0」詰めをするようにすると、符号量を制御すると最後にしわ寄せがくる 場合がある。
[0146] そこで、図 15のデータ 1にある「0」詰め部分 (Aや B)を最初のパケットに分割して付 加する。つまり、データ 2にあるように「0」詰め部分を AZ2や BZ2にしてそれぞれの パケットの EOFの後段に付加する。
[0147] 図 17について説明をする。図 17は実施例 9の動作を示したフロー図である。
ステップ S171ではデータを取得する。例えば、画像データの 1フレームの 1ライン分 のデータを画像処理装置力も取得する。ステップ S 172〜S 175では圧縮処理 (符号 量制御や暗号化処理を含んでもょ ヽ)を行う。ステップ S 172では予測符号ィ匕を行 ヽ 予測量を算出し、ステップ S 173では量子化を行い。ステップ S 174では符号ィ匕を行う
[0148] ステップ S175では、例えば圧縮後のデータ 1ライン分をバッファへ書き込む。ここで 、 ノッファは図 9で示した前処理バッファ 92や図 12で示した圧縮後データ用バッファ 125である。また図 2で示した第 1バッファ 28、第 2バッファ 29である。この S172〜S1 75については上記で説明した圧縮部 (圧縮レイヤ)で行う処理と略同じであるので詳 細な説明はしない。
[0149] ステップ S 176では、所定ライン分の転送データが格納されているかを判断する。所 定ライン分格納されて 、ればステップ S177に移行する。格納されて 、なければステ ップ S171に移行する。実施例 8と同様に 1サイクルで転送するライン数力 で、圧縮 ライン数が 8の場合、 2サイクルで転送レイヤでの制約と圧縮レイヤとの制約が一致す るので、転送サイクルの 2サイクル分で、 8ライン分の圧縮データが送られればよい。 あるいは、ノッファ内のライン数 8を 2分割して 4ラインを所定ラインとしてもよい。前者 の場合は、 1サイクル内で、圧縮データが、必ずしも 4ラインでなくてもよぐ 3ラインと 力 5ラインとか、端数の 4. 5ラインでもよい。要は、 2サイクル目で 8ライン分伝送でき ていれば問題ない。後者の場合は、平均的に伝送するために、 4ラインとして制御す る。
[0150] このステップは図 2に示す構成において実施する場合は 1ライン平均データ量'読 み出しデータ量算出部 37にこの機能を追加する。
ステップ S 177では、パデイングの量を計算する。上記のように、 1サイクル転送ライ ン数が例えば 4ラインであるときに、ノ ッファ内のライン数が 8ラインであるような場合、 実施例 8で算出した「0」詰め部分 Aまたは B (パディングの量)を算出しておく。そして 、 8ライン Z4ライン = 2であるので Aと Bを 2分割する。つまり、データ 2に示す 1バケツ トのデータと EOFの後に、 AZ2や BZ2の「0」詰めの量(パディングの量)を算出しス テツプ S 179に移行する。このステップは図 2に示す構成にお ヽて実施する場合は 1 ライン平均データ量 ·読み出しデータ量算出部 37にこの機能を追加する。
[0151] ステップ S178では、所定ライン分圧縮データと EOFと「0」詰めをし (4ラインのデー タは、データ +EOF +算出した分 (AZ2または BZ2)の「0」詰め)、 S179に移行す る。このステップは図 2に示す構成において実施する場合は無効データ追加部 38に この機能を追加する。
[0152] ステップ S 179では、転送路の規格に合わせたパケット形成して転送をする。このス テツプは図 2に示す構成において実施する場合はパケット生成部 39で行う。
なお、上記ステップでは所定ライン分溜まって力もパデイングの挿入の可否を判断 しているが、 1ライン分ごとにパディング挿入の可否の判断をしてもよい。その後に所 定ライン分格納されたかを判断し、所定ラインになったときにステップ S 178の処理を してもかまわない。ここでのパデイングの判断はカウンタなどにより 1ラインごとにカウン トし、そのカウント値により挿入の判断を行う。
[0153] なお、パディング量の算出は毎回行わなくてもよぐ変更がなければ算出をしなくて ちょい。
上記説明した処理を図 2に示したシステムで行う場合について説明する。
1ライン平均データ量 ·読み出しデータ量算出部 37によりステップ S176、 S177に 示したパディング量 (パディング量情報)を計算する。ここで、この計算は専用の処理 部を別に設けて行う。
[0154] アクセス制御部 31からの指示にしたがって、ノ ッファ力らそのノイト数のデータが出 力されると、そのデータは無効データ追加部 38に入力される。
無効データ追加部 38は、 1ライン平均データ量 ·読み出しデータ量算出部 37から 1 ライン当たりの平均ノイト数、ノ ッファから取得したデータのノイト(正確ににはビット 数)数との差とパディング量情報により、ステップ S 178に示すように無効データ (AZ 2、 BZ2分)を追加する。そのとき、パディング量情報に従ってパディングをデータを パケット生成部 39に出力する。別に処理部を設けた場合は他に信号線が必要である
[0155] パケット生成部 39は、 1サイクル転送量算出部 33によって算出された、 1サイクルに 転送しなければならな 、ライン数情報を信号線 (6)を介して入力する。
そして、パケット生成部 39は無効データが追加されたデータを無効データ追加部 3 8から受信した回数をカウントアップする。その回数がその 1サイクルに転送しなけれ ばならな 、ライン数に達した場合に、そのライン数だけ受信したデータを連結して実 データを生成する。それとともに、その実データを追加してァイソクロナスパケットを生 成して伝送路に送出する。
[0156] (実施例 10)
実施例 10では、 1サイクルで転送するデータ (ライン数)と圧縮部で生成するノ ッフ ァ内のデータ(ライン数)に親和性がなぐ 1サイクル転送ライン数が 8で、ノ ッファ内の ライン数力 のような場合、すなわち転送レイヤでの処理単位 >圧縮レイヤでの処理 単位である場合について説明する。 1サイクルを 125 secのァイソクロナスパケット 等を想定して説明する。 1サイクル転送ライン数が例えば 8ラインであるときに、ノ ッフ ァ内のライン数力 ラインであるような場合は、図 18のデータ 3のように制御を行う。
[0157] 図 19は実施例 10の動作を示したフロー図である。
ステップ S 191ではデータを取得する。例えば、画像データの 1フレームの 1ライン分 のデータを画像処理装置力も取得する。ステップ S 192〜S 195では圧縮処理 (符号 量制御や暗号ィ匕処理を含んでもよい)を行う。ステップ S 192では予測符号ィ匕を行い 予測量を算出し、ステップ S 193では量子化を行い。ステップ S 194では符号ィ匕を行う
[0158] ステップ S195では、例えば圧縮後のデータ 1ライン分をバッファへ書き込む。ここで 、 ノッファは図 9で示した前処理バッファ 92や図 12で示した圧縮後データ用バッファ 125である。また図 2で示した第 1バッファ 28、第 2バッファ 29である。この S192〜S1 95については上記で説明した圧縮部 (圧縮レイヤ)で行う処理と略同じであるので詳 細な説明はしない。
[0159] ステップ S 196では、所定ライン分の転送データが格納されているかを判断する。所 定ライン分格納されて 、ればステップ S 197に移行する。格納されて 、なければステ ップ S 191に移行する。ここで、所定ライン分とは圧縮レイヤでの処理単位を示し、例 えば、 1サイクルで転送する 8ラインのうち最初 4ライン分のデータが溜まつたかを判断 して 、る。このステップは図 2に示す構成にお 、て実施する場合は 1ライン平均デー タ量 '読み出しデータ量算出部 37で行う。
[0160] ステップ S197では、最初の所定ライン分 (第 1の所定ライン値: C)の圧縮データと E OFと「0」詰めをして所定のデータ量 (4ライン)を形成し S 198に移行する。このステツ プは図 2に示す構成において実施する場合は無効データ追加部 38にこの機能を追 加する。
[0161] ステップ S 198では、 1サイクルの転送分のライン数 (第 2の所定ライン値: D)の転送 データが格納されて 、るかを判断する。 1サイクルの転送ライン分格納されて 、れば ステップ S 199に移行する。格納されていなければステップ S 191に移行する。ここで は、 1サイクルで転送する 8ラインのうち残りの 4ライン分のデータが溜まつたかを判断 して 、る。このステップは図 2に示す構成にお 、て実施する場合は 1ライン平均デー タ量 ·読み出しデータ量算出部 37にこの機能を追加する。
[0162] ステップ S 199では、最初の所定ライン分の圧縮データと EOFと「0」詰めをして所 定のデータ量 (8ライン)を形成し S 1910に移行する。
ステップ S 1910では、転送路の規格に合わせたパケットを形成して転送をする。こ のステップは図 2に示す構成において実施する場合はパケット生成部 39で行う。
[0163] なお、上記ステップでは所定ライン分 (圧縮レイヤの処理単位)溜まって力もパディ ングの挿入の可否を判断して 、るが、 1ライン分ごとにパデイングの挿入の可否を判 断し、その後に所定ライン分格納されたかを判断しても力まわない。ここでのパディン グの判断はカウンタなどにより 1ラインごとにカウントし、そのカウント値により挿入の判 断を行う。
[0164] 上記説明した処理を図 2に示したシステムで行う場合にっ 、て説明する。
1ライン平均データ量'読み出しデータ量算出部 37によりステップ S196、 S198に示 したパディング挿入タイミング (パディング挿入位置情報)を計算する。ここで、この計 算は専用の処理部を別に設けて行う。
[0165] アクセス制御部 31からの指示にしたがって、ノ ッファ力らそのノイト数のデータが出 力されると、そのデータは無効データ追加部 38に入力される。
無効データ追加部 38は、 1ライン平均データ量 ·読み出しデータ量算出部 37から 1 ライン当たりの平均ノイト数、ノ ッファから取得したデータのノイト数との差をとり、そ の差だけ、無効データを追加する。そのとき、パディング挿入位置情報力 ネーブル であれば無効データを挿入指示されたラインにイネ一ブルの間挿入される。ディセー ブルであれば無効データを追加しない。その後、生成されたデータをパケット生成部 39に出力する。別に処理部を設けた場合は他に信号線が必要である。
[0166] そのとき、パディング挿入位置情報に従ってパディングをデータをパケット生成部 3 9に出力する。別に処理部を設けた場合は他に信号線が必要である。
パケット生成部 39は、 1サイクル転送量算出部 33によって算出された、 1サイクルに 転送しなければならな 、ライン数情報を信号線 (6)を介して入力する。 [0167] そして、パケット生成部 39は無効データが追加されたデータを無効データ追加部 3 8から受信した回数をカウントアップする。その回数がその 1サイクルに転送しなけれ ばならな 、ライン数に達した場合に、そのライン数だけ受信したデータを連結して実 データを生成する。それとともに、その実データを追加してァイソクロナスパケットを生 成して伝送路に送出する。
[0168] (実施例 11)
上記までは送信にっ 、て述べたが、実施例 11では上記発明の送信パケットを受信 した場合の復号について説明する。図 20に示す LSI200は画像処理とデータの送 受信処理を行うものである。送信部は上記で説明したように画像処理装置 (例えば D VDプレーヤー、カーナビゲーシヨンシステム、地上ディジタル)などから送信されデ ータを VIF部 201 (Video Interface)が受信する。その VIF部 201の出力を、ェンコ一 ド部 202でエンコードし、その結果を例えば IEEE1394規格の転送部 206により出 力する。
[0169] 受信部は、例えば IEEE1394の規格で送信されたデータを受信部 204で受信し、 その結果をデコード部 205でデコードする。デコードされたデータを VIF部 203を介 して LCDパネルなどの表示装置に転送する。
[0170] なお、図 20では、 LSI200に対する入力データ及び出力データは 1394規格により 転送を行う例を示しているので、転送部 206は 1394規格用のブロック化 (パケット生 成)を行ない、受信部 204は 1394規格用のブロックを受信する例となっている力 当 然ながら他規格によりデータを転送する場合には、他規格に合わせた転送および受 信を行う構成となる。
[0171] また、当然ながら、エンコード部 202で行う圧縮処理(暗号ィ匕処理を含んでも構わな V、)と、デコード部 205で行う復元処理(暗号の復号処理を含んでも構わな!/、)とは、 それぞれ対応した処理内容である。
[0172] 図 21は受信時の動作について示したものである。
ステップ S211ではパケットを受信する。
ステップ S212では、上記実施例で形成されたデータと EOFと「0」から構成される パケット内より、 EOFより前の実データを取り出す。 [0173] ステップ S213では復号処理し、ステップ S214では復号後のデータをバッファなど に格納する。
なお上記各実施例では EOFの後に「0」詰めを行っている力 「0」に限定するもの ではない。
[0174] ところで、前述したようなフローチャートの処理を標準的なコンピュータの CPUに行 わせるための制御プログラムを作成してコンピュータ読み取り可能な記録媒体に記録 させておき、そのプログラムを記録媒体力もコンピュータに読み込ませて CPUで実行 させるよう〖こしても、本発明の実施は可能である。
[0175] 記録させた制御プログラムをコンピュータシステムで読み取ることの可能な記録媒 体の例を図 24に示す。このような記録媒体としては、例えば、コンピュータシステム 2 40に内蔵若しくは外付けの付属装置として備えられる ROMゃノヽードディスク装置な どの記憶装置 241、コンピュータシステム 240に備えられる媒体駆動装置 242へ挿 入することによって記録された制御プログラムを読み出すことのできるフレキシブルデ イスク、 MO (光磁気ディスク)、 CD—ROM、 DVD— ROMなどといった携帯可能記 録媒体 243等が利用できる。
[0176] また、記録媒体は通信回線 244を介してコンピュータシステム 240と接続される、プ ログラムサーバ 245として機能するコンピュータシステムが備えている記憶装置 246 であってもよい。この場合には、制御プログラムを表現するデータ信号で搬送波を変 調して得られる伝送信号を、プログラムサーバ 245から伝送媒体である通信回線 244 を通じてコンピュータシステム 240へ伝送するようにし、コンピュータシステム 240では 受信した伝送信号を復調して制御プログラムを再生することでこの制御プログラムを コンピュータシステム 240の CPUで実行できるようになる。
[0177] 図 25は、ァイソクロナスパケットの詳細な構成図の一例を示している。ァイソクロナス パケットは、ヘッダ力 バイト、ヘッダ CRC力 バイト、それにデータ、そしてデータ CR Cが 4バイトの構成となっている。データはさらに右図のように細力べ分かれており、 CI Pヘッダのほかに、ソースパケットヘッダと圧縮データの組み合わせのソースパケット が複数個繰り返された形となっている。たとえば、圧縮データの部分のみ暗号ィ匕され る場合もある。このような構成とすることで、ァイソクロナスパケットは、ソースパケットの N倍となるようにデータを丸められるようなこともある。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱し ない範囲内で種々の改良、変更が可能である。

Claims

請求の範囲
画像データを圧縮して転送する画像データ転送装置において、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数およびそのライン数に対応するデータ量を算出する 1サイクル転送量算出部と 可変長符号ィ匕によって処理された前記画像データのうち、前記ライン数分のデータ を格納することが可能なバッファ部と、
前記算出されたライン数に対応するデータ量と、前記バッファ部に格納されたデー タとの差を算出するとともに、その差だけ、前記バッファ部に格納されたデータに無効 なデータを追加する無効データ追加部と、
前記無効データが追加されたデータを基に、パケットを生成して送信するパケット 生成部を備えることを特徴とする画像データ転送装置。
画像データを圧縮して転送する画像データ転送装置において、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数、固定長にするライン数、および、その固定長にするライン数に対応するデー タ量を算出する 1サイクル転送量算出部と、
可変長符号ィ匕によって処理された前記画像データのうち、前記固定長にするライン 数分のデータを格納することが可能なバッファ部と、
前記算出された固定長にするライン数に対応するデータ量と、前記バッファ部に格 納されたデータとの差を算出するとともに、その差だけ、前記バッファ部に格納された データに無効なデータを追加する無効データ追加部と、
前記無効データが追加されたデータを先頭力も前記 1サイクルにおいて転送される 前記画像データのライン数に対応するデータ量ずつ切り出して、その切り出したデー タ量毎にパケットを生成して送信するパケット生成部を備えることを特徴とする画像デ ータ転送装置。
前記固定長にするライン数は、前記 1サイクルにおいて転送される前記画像データ のライン数以上であることを特徴とする請求項 2記載の画像データ転送装置。
前記画像データが持つ冗長性を、前処理を行うことによって削減する前処理部と、 前処理の結果に対して、さらに粗い量子化を行う量子化部と、
前記さらに粗く量子化されたデータに対して可変長符号ィヒを行う符号ィヒ部と、 前記前処理の結果を基に、処理する画像データに適合しそうな量子化テーブルを 作成または選択する量子化テーブル作成部と、
前記さらに粗い量子化の結果を基に、処理する画像データに適合しそうな符号ィ匕 テーブルを作成または選択する符号ィ匕テーブル作成部、をさらに備えることを特徴と する請求項 1または 2記載の画像データ転送装置。
[5] 画像データを圧縮して転送する画像データ転送方法にお!ヽて、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数およびそのライン数に対応するデータ量を算出する 1サイクル転送量算出ステ ップと、
可変長符号ィ匕によって処理された前記画像データのうち、前記ライン数分のデータ をバッファ部に格納するステップと、
前記算出されたライン数に対応するデータ量と、前記バッファ部に格納されたデー タとの差を算出するとともに、その差だけ、前記バッファ部に格納されたデータに無効 なデータを追加する無効データ追加ステップと、
前記無効データが追加されたデータを基に、パケットを生成して送信するステップ を備えることを特徴とする画像データ転送方法。
[6] 画像データを圧縮して転送する画像データ転送方法にお!ヽて、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数、固定長にするライン数、および、その固定長にするライン数に対応するデー タ量を算出する 1サイクル転送量算出ステップと、
可変長符号ィ匕によって処理された前記画像データのうち、前記固定長にするライン 数分のデータをバッファ部に格納するステップと、
前記算出された固定長にするライン数に対応するデータ量と、前記バッファ部に格 納されたデータとの差を算出するとともに、その差だけ、前記バッファ部に格納された データに無効なデータを追加する無効データ追加ステップと、
前記無効データが追加されたデータを先頭力も前記 1サイクルにおいて転送される 前記画像データのライン数に対応するデータ量ずつ切り出して、その切り出したデー タ量毎にパケットを生成して送信するステップを備えることを特徴とする画像データ転 送方法。
[7] 前記固定長にするライン数は、前記 1サイクルにおいて転送される前記画像データ のライン数以上であることを特徴とする請求項 6記載の画像データ転送装置。
[8] 前記画像データが持つ冗長性を、前処理を行うことによって削減する前処理ステツ プと、
前処理の結果に対して、さらに粗い量子化を行う量子化ステップと、
前記さらに粗く量子化されたデータに対して可変長符号ィ匕を行う符号化ステップと 前記前処理の結果を基に、処理する画像データに適合しそうな量子化テーブルを 作成または選択する量子化テーブル作成ステップと、
前記さらに粗い量子化の結果を基に、処理する画像データに適合しそうな符号ィ匕 テーブルを作成または選択する符号化テーブル作成ステップ、をさらに備えることを 特徴とする請求項 5または 6記載の画像データ転送方法。
[9] 画像データを圧縮して転送する画像データ転送装置のコンピュータに、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数およびそのライン数に対応するデータ量を算出する 1サイクル転送量算出処理 と、
可変長符号ィ匕によって処理された前記画像データのうち、前記ライン数分のデータ をバッファ部に格納する処理と、
前記算出されたライン数に対応するデータ量と、前記バッファ部に格納されたデー タとの差を算出するとともに、その差だけ、前記バッファ部に格納されたデータに無効 なデータを追加する無効データ追加処理と、
前記無効データが追加されたデータを基に、パケットを生成して送信する処理と、 を実行させるためのプログラム。
[10] 画像データを圧縮して転送する画像データ転送装置のコンピュータに、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数、固定長にするライン数、および、その固定長にするライン数に対応するデー タ量を算出する 1サイクル転送量算出処理と、
可変長符号ィ匕によって処理された前記画像データのうち、前記固定長にするライン 数分のデータをバッファ部に格納する処理と、
前記算出された固定長にするライン数に対応するデータ量と、前記バッファ部に格 納されたデータとの差を算出するとともに、その差だけ、前記バッファ部に格納された データに無効なデータを追加する無効データ追加処理と、
前記無効データが追加されたデータを先頭力も前記 1サイクルにおいて転送される 前記画像データのライン数に対応するデータ量ずつ切り出して、その切り出したデー タ量毎にパケットを生成して送信する処理と、
を実行させるためのプログラム。
[11] 画像データを圧縮して転送する画像データ転送装置のコンピュータに実行させる プログラムが記録されており、当該コンピュータによって当該プログラムを読み出すこ とのできる記録媒体であって、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数およびそのライン数に対応するデータ量を算出する 1サイクル転送量算出処理 と、
可変長符号ィ匕によって処理された前記画像データのうち、前記ライン数分のデータ をバッファ部に格納する処理と、
前記算出されたライン数に対応するデータ量と、前記バッファ部に格納されたデー タとの差を算出するとともに、その差だけ、前記バッファ部に格納されたデータに無効 なデータを追加する無効データ追加処理と、
前記無効データが追加されたデータを基に、パケットを生成して送信する処理と、 を当該コンピュータに行わせる。
[12] 画像データを圧縮して転送する画像データ転送装置のコンピュータに実行させる プログラムが記録されており、当該コンピュータによって当該プログラムを読み出すこ とのできる記録媒体であって、
前記画像データの種類を基に、 1サイクルにお!/ヽて転送される前記画像データのラ イン数、固定長にするライン数、および、その固定長にするライン数に対応するデー タ量を算出する 1サイクル転送量算出処理と、
可変長符号ィ匕によって処理された前記画像データのうち、前記固定長にするライン 数分のデータをバッファ部に格納する処理と、
前記算出された固定長にするライン数に対応するデータ量と、前記バッファ部に格 納されたデータとの差を算出するとともに、その差だけ、前記バッファ部に格納された データに無効なデータを追加する無効データ追加処理と、
前記無効データが追加されたデータを先頭力も前記 1サイクルにおいて転送される 前記画像データのライン数に対応するデータ量ずつ切り出して、その切り出したデー タ量毎にパケットを生成して送信する処理と、
を当該コンピュータに行わせる。
[13] 入力データの種類を基に、 1サイクルにおいて転送されるべき前記入力データの処 理単位数およびその処理単位数に対応するデータ量を算出する 1サイクル転送量算 出部と、
前記入力データのうち、前記処理単位数分のデータを格納することが可能なバッフ ァ部と、
前記算出された処理単位数に対応するデータ量と、前記バッファ部に格納された データとの差を算出するとともに、その差だけ、前記バッファ部に格納されたデータに 無効なデータを追加する無効データ追加部と、
前記無効なデータが追加されたデータを基に、パケットを生成して送信するパケット 生成部を備えることを特徴とするデータ転送装置。
[14] 前記データ転送装置は更に、前記入力データを圧縮する圧縮処理部を備え、 前記バッファ部は、前記圧縮処理部が圧縮した前記処理単位数分のデータを格納 することを特徴とする請求項 13に記載のデータ転送装置。
PCT/JP2006/315053 2006-03-30 2006-07-28 データ転送装置およびデータ転送方法 WO2007116539A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008509681A JP4825265B2 (ja) 2006-03-30 2006-07-28 データ転送装置およびデータ転送方法
EP06781963A EP2003892A4 (en) 2006-03-30 2006-07-28 METHOD AND APPARATUS FOR TRANSFERRING DATA
US12/235,350 US20090010342A1 (en) 2006-03-30 2008-09-22 Data transfer device and data transfer method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-096035 2006-03-30
JP2006096035 2006-03-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/235,350 Continuation US20090010342A1 (en) 2006-03-30 2008-09-22 Data transfer device and data transfer method

Publications (1)

Publication Number Publication Date
WO2007116539A1 true WO2007116539A1 (ja) 2007-10-18

Family

ID=38580844

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/315053 WO2007116539A1 (ja) 2006-03-30 2006-07-28 データ転送装置およびデータ転送方法

Country Status (4)

Country Link
US (1) US20090010342A1 (ja)
EP (1) EP2003892A4 (ja)
JP (1) JP4825265B2 (ja)
WO (1) WO2007116539A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016127465A (ja) * 2015-01-06 2016-07-11 日本電気株式会社 Tsデータ読出し装置及びtsデータ読出し方法
JP2018105958A (ja) * 2016-12-26 2018-07-05 ルネサスエレクトロニクス株式会社 データ転送装置およびデータ転送方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3099005B1 (en) * 2015-05-26 2019-12-25 Alcatel Lucent Provisioning of new broadband communication services using reverse power feeding
US10324865B2 (en) 2016-09-06 2019-06-18 Apple Inc. Maintaining ordering requirements while converting protocols in a communications fabric
JP7022947B2 (ja) 2017-09-01 2022-02-21 パナソニックIpマネジメント株式会社 コンテンツ記録装置、コンテンツ編集装置、コンテンツ再生装置、コンテンツ記録方法、コンテンツ編集方法、および、コンテンツ再生方法
US10255218B1 (en) * 2018-06-25 2019-04-09 Apple Inc. Systems and methods for maintaining specific ordering in bus traffic

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167630A (ja) * 1997-12-04 1999-06-22 Canon Inc 情報処理方法及びシステム並びに記憶媒体
JP2001028753A (ja) 1999-07-13 2001-01-30 Victor Co Of Japan Ltd 動画像符号化装置及びその方法
JP2001238215A (ja) 2000-02-21 2001-08-31 Victor Co Of Japan Ltd 動画像符号化装置及びその方法
JP2004061877A (ja) * 2002-07-29 2004-02-26 Sumitomo Electric Ind Ltd 表示システム、表示装置、及びデータ生成装置
JP2004207891A (ja) * 2002-12-24 2004-07-22 Matsushita Electric Ind Co Ltd データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528317A (en) * 1994-01-27 1996-06-18 Texas Instruments Incorporated Timing circuit for video display having a spatial light modulator
US5737024A (en) * 1995-03-23 1998-04-07 Storage Technology Corporation System for storing computer data using a video tape recorder
JPH09298728A (ja) * 1996-05-02 1997-11-18 Victor Co Of Japan Ltd Mpeg再生装置
JPH10327415A (ja) * 1997-05-22 1998-12-08 Mitsubishi Electric Corp 動きベクトル検出装置
GB9821518D0 (en) * 1998-10-02 1998-11-25 Sony Uk Ltd Digital signal processing and signal format
EP1175047B1 (de) * 2000-07-14 2007-05-02 Siemens Aktiengesellschaft Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
JP3748376B2 (ja) * 2000-08-22 2006-02-22 松下電器産業株式会社 送信装置、ソースパケット生成装置、パケット形態決定方法、及び記録媒体
US20020097678A1 (en) * 2001-01-23 2002-07-25 Bisher James A. Method and apparatus for bandwidth management associated with misbehaving sessions
US7075993B2 (en) * 2001-06-12 2006-07-11 Digital Interactive Streams, Inc. Correction system and method for enhancing digital video
AU2004241602B2 (en) * 2003-05-20 2008-05-08 Syndiant, Inc. Digital backplane
EP1790170A2 (en) * 2004-09-14 2007-05-30 Gary Demos High quality wide-range multi-layer compression coding system
US7649938B2 (en) * 2004-10-21 2010-01-19 Cisco Technology, Inc. Method and apparatus of controlling a plurality of video surveillance cameras
US20060126726A1 (en) * 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167630A (ja) * 1997-12-04 1999-06-22 Canon Inc 情報処理方法及びシステム並びに記憶媒体
JP2001028753A (ja) 1999-07-13 2001-01-30 Victor Co Of Japan Ltd 動画像符号化装置及びその方法
JP2001238215A (ja) 2000-02-21 2001-08-31 Victor Co Of Japan Ltd 動画像符号化装置及びその方法
JP2004061877A (ja) * 2002-07-29 2004-02-26 Sumitomo Electric Ind Ltd 表示システム、表示装置、及びデータ生成装置
JP2004207891A (ja) * 2002-12-24 2004-07-22 Matsushita Electric Ind Co Ltd データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2003892A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016127465A (ja) * 2015-01-06 2016-07-11 日本電気株式会社 Tsデータ読出し装置及びtsデータ読出し方法
JP2018105958A (ja) * 2016-12-26 2018-07-05 ルネサスエレクトロニクス株式会社 データ転送装置およびデータ転送方法
US10664944B2 (en) 2016-12-26 2020-05-26 Renesas Electronics Corporation Data transfer apparatus and data transfer method for transferring data packets having varying ratio of valid data to dummy data
JP2021119386A (ja) * 2016-12-26 2021-08-12 ルネサスエレクトロニクス株式会社 データ転送装置およびデータ転送方法
JP7142741B2 (ja) 2016-12-26 2022-09-27 ルネサスエレクトロニクス株式会社 データ転送装置およびデータ転送方法

Also Published As

Publication number Publication date
US20090010342A1 (en) 2009-01-08
JPWO2007116539A1 (ja) 2009-08-20
JP4825265B2 (ja) 2011-11-30
EP2003892A4 (en) 2010-10-06
EP2003892A1 (en) 2008-12-17

Similar Documents

Publication Publication Date Title
JP4935817B2 (ja) 多チャンネルデータ転送装置およびその方法
JP4038996B2 (ja) 信号処理装置および信号処理方法
JP4825265B2 (ja) データ転送装置およびデータ転送方法
JPH10293972A (ja) 記録装置及び再生装置
JP5156655B2 (ja) 画像処理装置
JPH10511526A (ja) 圧縮されたビデオデータを復号化し、表示するメモリコントローラ
KR20080099630A (ko) 부가 정보가 삽입된 영상 데이터의 전송 스트림 구조,송수신 방법 및 장치
JPH08237650A (ja) データバッファの同期システム
US20110200096A1 (en) Encoding apparatus and the method
US6185229B1 (en) Data multiplexing apparatus and method thereof
JPH11317768A (ja) 伝送システム、送信装置、記録再生装置、および記録装置
JPH09503105A (ja) リアルタイム音声パケットレイヤエンコーダ
KR20030031803A (ko) 수신된 멀티미디어 데이터를 저장하는 버퍼의 용량을가변할 수 있는 멀티미디어 데이터 복원장치
US20080101409A1 (en) Packetization
EP1605466A1 (en) Transcoding closed captioning data from broadcast DTV onto DVD
US20040091159A1 (en) Image compression device and method for performing a frame skipping process
JP4491918B2 (ja) データ配信装置及び方法、データ配信システム
US20060013559A1 (en) Data transfer apparatus and method using USB module
JPH0746198A (ja) 復号方法と復号装置
JP3924797B2 (ja) データ表示装置およびデータ受信装置
US20010019311A1 (en) Method of data transmission over a bus system
JP3367409B2 (ja) 情報再生装置
JP2008016939A (ja) プログラム、情報記憶媒体、データ伝送装置およびデータ伝送システム
JP2942738B2 (ja) データ復号ic
KR950002719B1 (ko) 브이씨알의 영상압축장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06781963

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2008509681

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2006781963

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE