Picture coding apparatus that codes on a macroblock basis by performing a signal conversion process
10602194 ยท 2020-03-24
Assignee
Inventors
Cpc classification
H04N19/91
ELECTRICITY
H04N19/174
ELECTRICITY
H04N19/70
ELECTRICITY
H04N19/46
ELECTRICITY
H04N19/13
ELECTRICITY
H03M7/42
ELECTRICITY
H04N19/132
ELECTRICITY
H04N19/184
ELECTRICITY
H04N19/157
ELECTRICITY
H03M7/40
ELECTRICITY
International classification
H04N7/12
ELECTRICITY
H04N19/132
ELECTRICITY
H04N19/174
ELECTRICITY
H04N19/157
ELECTRICITY
H04N19/13
ELECTRICITY
H04N19/46
ELECTRICITY
H04N19/70
ELECTRICITY
H03M13/35
ELECTRICITY
H03M7/42
ELECTRICITY
H03M7/40
ELECTRICITY
H04N19/91
ELECTRICITY
Abstract
A frame coding unit generates individual picture signal information from a moving picture signal, and outputs a frame code value which is a numeric value to be obtained as a result of coding picture signal information of each frame. A variable length coding unit decomposes the frame code value into unit frame code values which are basic units of coding, converts the unit frame code values into frame code words using only a single code table, and constructs a frame stream by combining the converted frame code words. A multiplexing unit multiplexes a header stream which is constructed through a method equivalent to a conventional method and the frame stream, and constructs a picture coded signal.
Claims
1. A picture coding apparatus that codes a frame picture signal on a macroblock basis by performing a signal conversion/compression process on the frame picture signal, said picture coding apparatus comprising: a receiving unit configured to receive a frame picture signal and to divide the frame picture signal into a plurality of macroblocks; a header information generating unit configured to generate, based on the frame picture signal, frame header information and slice header information according to a syntax structure signal, the frame header information comprising a frame header parameter and a frame header code value signal corresponding to the frame header parameter and the slice header information comprising a slice header parameter and a slice header code value signal corresponding to the slice header parameter, the frame header parameter and the frame header code value signal being common to a plurality of slices included in frame data of the frame picture signal and the slice header parameter and the slice header code value signal being common to a plurality of macroblocks included in each slice of the frame picture signal; a header information coding unit configured to: (1) perform non-arithmetic coding on the frame header code value signal of the frame header information selectively with either a fixed length code or a variable length code according to the syntax structure signal of the frame header information, so as to generate a frame header stream, and (2) perform non-arithmetic coding on the slice header code value signal of the slice header information selectively with either a fixed length code or a variable length code according to the syntax structure signal of the slice header information, so as to generate a slice header stream; a frame information coding unit configured to perform a signal conversion/compression process on the frame picture signal, on a macroblock basis, with reference to the slice header parameter so as to generate a frame code value signal which is a numeric value; an arithmetic coding unit configured to perform only arithmetic coding on the frame code value signal of each macroblock for which a signal conversion/compression process is performed so as to generate a frame stream; and a multiplexer configured to multiplex the frame header stream, the slice header stream and the frame stream so as to construct a bit stream corresponding to the frame picture signal, wherein the header information coding unit further includes a selecting unit configured to select one of a fixed length coding method or a variable length coding method according to a syntax structure signal, and wherein the header information coding unit is configured to: (1) code the frame header code value signal corresponding to the fixed length code, using one of a plurality of fixed length coding methods according to the syntax structure signal of the frame header information, when the fixed length coding method is selected by the selecting unit, and (2) code the frame header code value signal corresponding to a variable length code, using one of a plurality of variable length coding methods according to the syntax structure signal of the frame header information, when the variable length decoding method is selected by the selecting unit, and (3) code the slice header code value signal corresponding to the fixed length code, using one of a plurality of fixed length coding methods according to the syntax structure signal of the slice header information, when the fixed length coding method is selected by the selecting unit, and (4) code the slice header code value signal corresponding to a variable length code, using one of a plurality of variable length coding methods according to the syntax structure signal of the slice header information, when the variable length coding method is selected by the selecting unit.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
DETAILED DESCRIPTION OF THE INVENTION
(25) The following explains preferred embodiments according to the present invention with reference to
First Embodiment
(26)
(27) The picture coding apparatus 10 according to the present embodiment is characterized by that a plurality of coding methods are employed for the header which is information common to the whole picture signal and that a single coding method is employed for information relating to a picture signal of each frame.
(28) Note that this specification provides explanations for frames, but fields substitute as frames in the case of an interlace picture signal.
(29) Note that configurations for generating and coding header information which is information common to the whole picture signal and operations thereof are identical to those of the above-explained existing picture coding apparatus 500 illustrated in
(30) As illustrated in
(31) The frame coding unit 13, which is a unit that generates individual picture signal information from a moving picture signal Vin, outputs to the variable length coding unit 16 a frame code value InfVal_F which is a value to be obtained as a result of coding picture signal information of each frame with reference to a header parameter Inf_H.
(32) The variable length coding unit 16 decomposes the frame code value InfVal_F into unit frame code values Val_F which are basic units of coding, converts such unit frame code values Val_F into frame code words Code_F using only a code table 16a, and constructs a frame stream Str_F by combing such converted frame code words. Accordingly, a single coding method to be commonly used for all frames is employed for information relating to a picture signal of each frame, without switching between coding methods according to syntaxes as in the conventional case.
(33) The multiplexing unit 17 multiplexes the header stream Str_H and the frame stream Str_F, and constructs a picture coded signal Str.
(34)
(35) Note that the sequence header SeqHdr and the frame data FrmData do not necessarily have to be transmitted consecutively within the same stream and therefore that each of them may be transmitted in a different stream, as long as the sequence header SeqHdr can be recognized first at the decoding apparatus side.
(36)
(37)
(38) Note that the frame header FrmHdr and the macroblock data MB do not necessarily have to be transmitted consecutively within the same stream. Each of them may be transmitted in a discontinuous manner within the same frame or may be transmitted in a different stream as long as the frame header FrmHdr can be recognized first at the decoding apparatus side.
(39) In the stream structure shown in
(40)
(41)
(42) Meanwhile,
(43)
(44) Note that configurations for decoding the header information which is information common to the whole picture signal and operations thereof are identical to those of the existing picture decoding apparatus 600 illustrated in
(45) A demultiplexing unit 21 acquires the picture coded signal Str, and demultiplexes it into the header stream Str_H and the frame stream Str_F. A variable length decoding unit 23 converts the frame code words Code_F making up the frame stream Str_F into unit frame code values Val_F by the use of only the code table 16a, and constructs the frame code value InfVal_F which is a value of the signal coded from the unit frame code values Val_F. A frame decoding unit 27 decodes the frame code value InfVal_F referring to the header parameter Inf_H which is information common to the whole picture signal, and outputs the decoded moving picture signal Vout.
(46) As described above, since it is possible to decode the information other than the header which is information common to the whole picture signal by the use of only the single code table 16a, there is no need for processing for frequently switching decoding methods (code tables) which are required in the existing case, meaning that it is possible to achieve a simplified picture decoding apparatus having functionality equivalent to the conventional decoding apparatuses.
(47) Note that the header information which is information common to the whole picture signal corresponds to the sequence header SeqHdr in the stream structure of the picture coded signal illustrated in
(48) Next, an explanation is given for the operations of the picture coding apparatus 10 with the above configuration.
(49)
(50) First, when the moving picture signal Vin is inputted to a header information generating unit 11 (S61), a code table used for coding the header code value InfVal_H is selected on the basis of the header syntax structure signal Stx_H (S63). The header information generating unit 11 and a fixed length/variable length coding unit 15 generate header information on the basis of the moving picture signal Vin through a method equivalent to the conventional one, select and code the code tables according to the decomposed unit header code values (Val_H) (S64S66), and construct the header stream (S67).
(51) Meanwhile, a frame coding unit 13, on the acquisition of the moving picture signal Vin (S61), performs coding for the information other than the header information by the use of only the code table 16a (S68), and constructs the frame stream (S69).
(52) A multiplexing unit 17 multiplexes the header stream and the frame stream so as to construct a picture coded signal (S70).
(53) As described above, according to the picture coding apparatus and the picture decoding apparatus according to the present embodiment, since macroblock data occupying most of the coding processing and decoding processing are coded and decoded by the use of a single code table, there is no need for processing for frequently switching code tables which is required in the conventional case, meaning that it is possible to achieve a simplified picture coding apparatus having functionality equivalent to that of the conventional coding apparatus
Second Embodiment
(54)
(55) Descriptions are provided for the difference between the picture coding apparatus 30 in
(56) Arithmetic coding involves slightly complicated coding/decoding processing as compared with such ordinary variable length coding as Huffman coding in which code tables are used, but is known as a method through which a compression rate is increased. Therefore, by performing, in the course of decoding, ordinary variable length coding for header information which is particularly important and which is wide in variety, it is possible to make a quick judgment as to what kind of decoding should be performed for frame data. Since arithmetic coding is weak against transmission errors and the like, significant effects in terms of improving error resilience can be achieved by performing ordinary variable length coding for header information which is an important piece of data.
(57) Moreover, considering that processing for switching from arithmetic coding to ordinary variable length coding is particularly complicated, requiring a redundant number of bits, it is not wise to make frequent switches between arithmetic coding and ordinary variable length coding.
(58) A syntax analyzing unit 12 outputs to a coding selecting unit 31 a coding selection signal SelEnc for switching an output of the coding selecting unit 31 according to a header syntax structure signal Stx_H.
(59) The coding selecting unit 31 selects either a fixed length coding method or a variable length coding method according to a coding selection signal SleEnc, and coding is performed either in a fixed length coding unit 32 or a variable length coding unit 33 in accordance with the selected coding method so as to construct a header stream Str_H, and outputs it to the multiplexing unit 17.
(60) An arithmetic coding unit 34 performs arithmetic coding for a code value InfVal_F referring to a header parameter Inf_H, constructs a frame stream Str_F for which arithmetic coding has been performed, an outputs it to the multiplexing unit 17.
(61) The multiplexing unit 17 multiplexes the header stream Str_H and the frame stream Str_F so as to construct a picture coded signal Str.
(62) As described above, by switching coding methods according to syntaxes in order to perform coding for the header information which is common information of the whole picture signal, and by coding individual picture signal information only through arithmetic coding in the picture coding apparatus 30 according to the present embodiment, it is possible to achieve a picture coding apparatus that allows a simplified processing for switching coding methods without lowering coding efficiency.
(63)
(64) Descriptions are provided for the difference between the picture decoding apparatus 40 in
(65) A syntax analyzing unit 26 outputs a decoding selection signal SelDec for switching an output of a decoding selecting unit 41 according to the header syntax structure signal Stx_H. The decoding selecting unit 41 selects either a fixed length decoding method or a variable length decoding method according to the decoding selection signal SelDec, and outputs to a header information decoding unit 25 the header code value InfVal_H which has been decoded either by a fixed length decoding unit 42 or a variable length decoding unit 43 depending on the selected decoding method.
(66) An arithmetic decoding unit 44 performs arithmetic decoding for the frame stream Str_F referring to the header parameter Inf_H, and constructs the frame code vale InfVal_F for which arithmetic decoding has been performed. A frame decoding unit 27 decodes the frame code value InfVal_F referring to the header parameter Inf_H which is information common to the entire signal, and outputs a decoded moving picture signal Vout.
(67) As described above, by switching to an efficient coding method according to syntaxes so as to code the header information which is common information of the whole picture signal and by coding individual picture signal information only through arithmetic coding, it is possible to achieve a picture decoding apparatus which allows a simplified switching processing without lowering coding efficiency.
(68) Note that, other than through the picture coding apparatuses 10 and 30 as well as the picture decoding apparatuses 20 and 40 described above, it is also possible to realize coding and decoding of each piece of information using a plurality of code tables by demultiplexing the header information and individual picture signal information.
(69)
(70) Meanwhile,
(71)
(72) Furthermore, as illustrated in
(73) Note that it should be understood that a single code table or a plurality of code tables may be employed for header information. Here, concerning a plurality of code tables, since specific coding methods are determined for the header which is information common to the whole picture signal and for information relating to a picture signal of each frame, the number of code tables to be employed is limited in advance, which minimizes the number of times for switching code tables.
(74) The coding methods and the decoding methods in the first embodiment and the second embodiment are characterized by that they have a plurality of coding/decoding methods (code tables) for information relating to the entire picture as in the conventional case but a common coding/decoding method is used for individual information relating to a picture signal of each frame. Generally, concerning information relating to the entire picture, since the occurrence frequency of code words making up such information greatly differs from code to code, a compression ratio is considerably decreased unless a plurality of coding/decoding methods are provided. As for individual information, on the other hand, since code words do not differ much in their number of occurrences as compared with information relating to the entire picture, a compression ratio does not get lowered much even if a common coding/decoding method is used. Furthermore, given that most of the processing time for coding/decoding is consumed for the processing intended not for information relating to the entire picture but for individual information, there is a significant effect from the viewpoint of apparatus implementation, if individual information can be coded/decoded through, preferably, a single coding method. When comparing the advantage of switching between a plurality of coding methods including switching between fixed length coding and variable length coding, that it is easier with fixed length coding to detect a synchronizing signal intended for synchronization than with variable length coding and that the use of a plurality of coding methods is suited from the viewpoint of high compression, with the advantage of using a single coding method which allows coding/decoding to be easily realized through a single coding method, this is especially effective in fields of application where the latter advantage is bigger.
(75) Also, considering that arithmetic coding is a kind of variable length coding and that arithmetic coding, while providing a highly efficient coding, requires complicated processing when used after being switched especially from fixed length coding or general variable length coding (Huffman coding), it is preferable that arithmetic coding is used as a single coding method for individual information and a method other than arithmetic coding is used for information relating to the entire picture.
Third Embodiment
(76) It is possible to record a program that realizes the picture coding methods and the picture decoding methods presented in the first embodiment or the second embodiment on a computer-readable recoding medium such as a flexible disk and to carry out the processing presented in each of the above embodiments on such a computer system as a personal computer.
(77)
(78)
(79) Meanwhile,
(80) Note that although the present embodiment explains the case where a flexible disk is used as a recording medium, an optical disc may also be used. Also, a recording medium is not limited to the above example and therefore anything that is capable of recording programs such as an IC card, a ROM cassette and the like is also in the scope of application.
Fourth Embodiment
(81) The following explains an example of the present invention to be applied to a system utilizing the picture coding apparatuses and the picture decoding apparatuses presented in the above preferred embodiments.
(82)
(83) The camera 113, an example of which is a digital video camera and the like, is capable of taking moving pictures. The mobile phone 115 is a mobile phone in the PDC (Personal Digital Communications) system, the CDMA (Code Division Multiple Access) system, the W-CDMA (Wideband-Code Division Multiple Access) system, or the GSM (Global System for Mobile Communications) system or the like, or a PHS (personal Handyphone Communications) terminal device and the like.
(84) Moreover, a streaming server 103, which is connected to the cellular network 104 via a dedicated network for server connection 105 or the internet 101 and the like, allows the live distribution and the like of coded data of a picture taken by the camera 113. In this case, coding processing for the picture may be performed either by the camera 113 or by a server 113a connected to such camera. It is also possible that picture data of a picture taken by a camera 116 is transmitted to the streaming server 103 via the computer 111. Here, the camera 116 is a digital camera, for example, and is capable of taking still pictures. In this case, coding of the picture data may be performed either by the camera or by the computer 111. Moreover, the above coding processing is performed by an LSI 117 embedded in the camera 116 or the computer 111. Furthermore, picture data taken by a camera-equipped mobile phone 115 may also be transmitted. The picture data in this case is data coded by an LSI incorporated in the mobile phone.
(85) Note that software for picture coding/decoding may be stored in a recording medium (e.g. storage medium including a CD-ROM, a flexible disk, a hard disk or the like) which can be read by the computer 111 or others.
(86)
(87) In the content supply system 100, while the contents (e.g. shot videos of live music, etc.) taken by the user using the camera 113, the camera 116 and the like is coded and transmitted to the streaming server 103, the streaming server 103 carries out stream distribution for the above content data to a client requesting such content data. Such client can be the computer 111, the PDA 112, the camera 113, the mobile phone 114 and others capable of decoding the coded data.
(88) The content supply system 100 with the above structure makes it is possible for a client to receive and reproduce coded data as well as realizing private broadcasting by allowing a client to receive coded data in real time, decode and reproduce it.
(89) Furthermore, an explanation is given for the mobile phone 114 with reference to
(90) When picture data is transmitted while in the data communication mode, the main controlling unit 311 provides picture data taken by the camera unit 203 to the picture coding unit 312 via the camera controlling unit 303. When picture data is not to be transmitted, it is possible to directly display the picture data taken by the camera unit 203 on the display unit 202 via the camera controlling unit 303 and the LCD controlling unit 302.
(91) By performing compression coding for the picture data provided from the camera unit 203 using the coding methods presented in the above embodiments, the picture coding unit 312 converts the picture data to coded picture data, and transmits it to the demultiplexing unit 308. When this is done, the mobile phone 114 transmits sound collected by the sound inputting unit 205 while the picture is being taken by the camera unit 203, to the demultiplexing unit 308 as digital sound data via the sound processing unit 305.
(92) The demultiplexing unit 308 multiplexes the coded picture data provided from the picture coding unit 312 and the sound data provided from the sound processing unit 305 through a specified method and performs spread spectrum processing for the resulting multiplexed data in the modem circuit unit 306, and after performing digital-analog conversion processing and frequency transform processing in the transmit/receive circuit unit 301, transmits it via the antenna 201.
(93) When receiving moving picture file data linked on a Web page and the like while in the data communication mode, inverse spread spectrum processing is performed by the modem circuit unit 306 for a signal received from the base station 110 via the antenna 201, and the resulting multiplexed data is delivered to the demultiplexing unit 308.
(94) In order to decode the multiplexed data received via the antenna 201, the demultiplexing unit 308 divides such multiplexed data into the coded picture data and the sound data by demultiplexing it, and provides the coded picture data to the picture decoding unit 309 while providing the sound data to the sound processing unit 305 via the bus 313 at the same time.
(95) Next, the picture decoding unit 309 generates moving picture data for playback by decoding the coded picture data through decoding methods used in a pair with the coding methods presented in the above embodiments, and provides it to the display unit 202 via the LCD controlling unit 302, as a result of which the picture data included in the moving picture file linked to a Web page, for example, can be displayed. When this is done, the sound processing unit 305 converts the sound data to an analog sound signal at the same time and then provides it to the sound outputting unit 208, as a result of which the sound data included in the moving picture file linked to a Web page, for example, can be reproduced.
(96) Note that the aforementioned system is not an exclusive example and therefore that at least either the coding methods or the decoding methods of the above embodiments can be incorporated into a digital broadcasting system as shown in
(97) A possible configuration of the car navigation system 413 is the configuration illustrated in
(98) As stated above, by implementing the coding methods and the decoding methods described above, it is possible to embody the present invention as any one of the apparatuses and the system presented in the aforementioned embodiments.
INDUSTRIAL APPLICABILITY
(99) As described above, it is possible for the picture coding methods and the picture decoding methods according to the present invention to realize coding processing and decoding processing through which data compression equivalent to conventional one and to reduce processing load to be generated at the time of selecting code tables, and others. Therefore, the picture coding methods and the picture decoding methods according to the present invention are suited as picture coding methods and picture decoding methods for mobile phones, mobile information terminals and others that do not have sufficient processing capability and storage capacity.