WO2010016290A1 - トランスコーダ - Google Patents

トランスコーダ Download PDF

Info

Publication number
WO2010016290A1
WO2010016290A1 PCT/JP2009/054273 JP2009054273W WO2010016290A1 WO 2010016290 A1 WO2010016290 A1 WO 2010016290A1 JP 2009054273 W JP2009054273 W JP 2009054273W WO 2010016290 A1 WO2010016290 A1 WO 2010016290A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit rate
function
stream
quantization step
ratio
Prior art date
Application number
PCT/JP2009/054273
Other languages
English (en)
French (fr)
Inventor
伸将 成松
長谷川 弘
Original Assignee
株式会社メガチップス
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 株式会社メガチップス filed Critical 株式会社メガチップス
Priority to US13/057,111 priority Critical patent/US8615040B2/en
Publication of WO2010016290A1 publication Critical patent/WO2010016290A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to a transcoder that decodes an input stream and converts it into a different output stream, and more particularly, to a technique for appropriately controlling the amount of generated code of an output stream toward a target bit rate.
  • Images distributed by digital broadcasting, images stored on DVDs, hard disks, etc. are compressed according to various encoding methods. This is for the purpose of not increasing the transmission band, increasing the transmission speed, or reducing the storage size.
  • MPEG2 and H.264 can be used for image encoding.
  • There are various standards such as H.264.
  • encoding method conversion may be performed for the purpose of reducing the code amount of the input encoded image.
  • the transcoder once decodes the input encoded image.
  • the transcoder encodes the decoded image again with a different encoding method (or the same encoding method). In this way, the transcoder controls the bit rate of the output stream.
  • Patent Document 1 discloses a technique for calculating a quantization step value of an output stream in a transcoder.
  • the quantization step value is adjusted in consideration of the degree of pixel variation in the macroblock of the decoded image and the motion evaluation value.
  • the present invention relates to a transcoder that converts a first stream into a second stream.
  • the transcoder of the present invention includes a conversion value calculation unit that calculates a quantization step conversion value of the first stream and the second stream from the bit rate ratio of the first stream and the second stream, A quantization step value calculation unit that calculates the quantization step value of the second stream by multiplying the quantization step value by the quantization step conversion value, and the conversion value calculation unit includes the bit rate ratio and the quantization From the bit rate ratio using an area designating function for designating an area to which the relationship with the step conversion value belongs, and a relation determining function for determining a specific relationship between the bit rate ratio and the quantization step conversion value in the area.
  • a quantization step conversion value is calculated.
  • the region specifying function can adjust the fluctuation of the quantization step conversion value by the relation determination function while maintaining the optimum characteristics for the code conversion.
  • the current bit rate ratio if the ratio of the bit rate of the first stream to the target bit rate of the second stream in the converted past period is the current bit rate ratio, If the difference between the quantization step conversion value calculated for the rate ratio and the quantization step conversion value calculated for the current bit rate ratio using the relationship determination function exceeds a predetermined threshold, the current bit rate ratio To update the reference bit rate ratio.
  • the rate of change of the relationship determination function is smaller than the rate of change of the area designating function in the vicinity of the reference bit rate ratio.
  • an object of the present invention is to provide a technique capable of suppressing the rapid fluctuation of the quantization step value and enabling stable rate control.
  • FIG. 1 is a block diagram of a transcoder 1 according to the present embodiment.
  • the transcoder 1 includes a CPU 11, a decoder 12, an image memory 13, a step value calculation unit 14, an encoder 15, and a buffer memory 16.
  • the decoder 12 inputs the first stream.
  • the first stream is a stream of encoded images.
  • the decoder 12 decodes the first stream and outputs uncompressed image data to the image memory 13.
  • the encoder 15 re-encodes the uncompressed image data after decoding stored in the image memory 13 and outputs the second stream.
  • transcoder 1 inputs a first stream encoded in MPEG2 and A process for converting the encoding method of the stream, such as outputting a second stream encoded by H.264, is performed.
  • the transcoder 1 outputs a stream of the same encoding method, such as inputting a first stream encoded with MPEG2 and outputting a second stream encoded again with MPEG2.
  • each calculation process in the decoder 12, the step value calculation unit 14, and the encoder 15 may be realized by hardware or may be realized by software processing. That is, these arithmetic processing units may be configured as hardware circuits, or may be configured by a CPU and a program stored in a memory. Alternatively, a form in which a part of processing is processed by hardware and a part of processing is processed by software may be used.
  • FIG. 2 is a diagram showing information for each control unit period of the stream input / output by the transcoder 1.
  • L n the control unit time L n she is referred to as the n period.
  • the control unit period L n one frame, a plurality of consecutive frames, one GOP, a plurality of consecutive GOPs, and the like can be set as one unit period.
  • the input total bit rate S of the first stream is acquired from a sequence header or the like.
  • the input average bit rate Sn is an average bit rate of the first stream in the n period.
  • the transcoder 1 is capable of storing information relating to the average input bit rate S n of M periods in the buffer memory 16. That is, the buffer memory 16 can store information on the average input bit rates S n from the (n-M + 1) period to the n period.
  • the average period bit rate AS n is a value obtained by averaging the average input bit rates S n from the (n ⁇ M + 1) period to the n period.
  • the period average bit rate AS n is expressed by Equation (1).
  • the overall target bit rate T of the second stream is set by the user.
  • the user sets the overall target bit rate T using an operation unit (not shown) provided in the transcoder 1.
  • the target setting bit rate T n is the target bit rate of the second stream in the n-th period.
  • the output average bit rate C n is an average bit rate of the converted second stream in the n-th period.
  • the transcoder 1 can store information on the output average bit rate C n for M periods in the buffer memory 16. That is, the buffer memory 16 can store information related to the output average bit rate C n from the (n ⁇ M + 1) period to the n period.
  • the period average bit rate AC n is a value obtained by averaging the output average bit rates C n in the (n ⁇ M + 1) th to nth periods.
  • the period average bit rate AC n is expressed by the equation (2).
  • the quantization step conversion coefficient ⁇ n is a coefficient calculated at the end of the (n ⁇ 1) period. By multiplying the quantization step value itself of the first stream or the value P calculated from the quantization step value of the first stream by the quantization step conversion coefficient ⁇ n , the quantization step value Q of the second stream is obtained. It is determined. This relationship is shown in Equation (3).
  • the CPU 11 acquires the bit rate s_b for each picture of the first stream from the decoder 12 and stores it in the buffer memory 16.
  • CPU11 based on the bit rate s_b stored in the buffer memory 16, and calculates an average input bit rate S n and the average period bit rate AS n of the n period.
  • the decoder 12 outputs the quantization step value P for each macroblock of the first stream to the step value calculation unit 14.
  • the CPU 11 acquires the bit rate c_b for each picture of the converted second stream from the encoder 15 and stores it in the buffer memory 16. Based on the bit rate c_b stored in the buffer memory 16, the CPU 11 calculates the output average bit rate C n and the period average bit rate AC n in the nth period.
  • the CPU 11 also acquires the overall target bit rate T set by the user.
  • the CPU 11 uses information such as the overall target bit rate T, the output average bit rate C n , the period average bit rate AC n , the input average bit rate S n , the period average bit rate AS n, and the like in the (n + 1) period.
  • a target set bit rate T n + 1 for two streams is determined.
  • the target setting bit rate T n + 1 is calculated by the following term ⁇ 3. Example of target bit rate calculation>
  • the CPU 11 further calculates a quantization step conversion coefficient ⁇ n + 1 by using the function f which is a characteristic process of the present invention from the target setting bit rate T n + 1 of the second stream in the (n + 1) period, Output to the step value calculator 14.
  • function f later ⁇ 4. This will be described in “Calculation of Conversion Coefficient>.
  • the step value calculation unit 14 receives the quantization step value P and the quantization step conversion coefficient ⁇ n + 1 and calculates the quantization step value Q of the second stream by executing the calculation shown in the equation (3). .
  • the step value calculation unit 14 gives the calculated quantization step value Q to the encoder 15.
  • the encoder 15 encodes uncompressed image data based on the quantization step value Q input from the step value calculation unit 14, and generates a second stream.
  • Example of target bit rate calculation> Next, a calculation example of the target set bit rate T n + 1 of the second stream in the (n + 1) period will be described.
  • the transcoder 1 determines the target set bit rate T n + 1 of the second stream in the (n + 1) period when the n period has elapsed.
  • Equation (4) is an equation for calculating the target setting bit rate T n + 1 in the (n + 1) period. Specifically, when a value obtained by dividing the output average bit rate C n of the converted second stream in the n period by the target setting bit rate T n in the n period is considered as the target ratio, the (n + 1) period The target set bit rate T n + 1 is calculated by dividing the overall target bit rate T of the second stream by the target ratio.
  • k is a positive coefficient and is a coefficient for adjusting the target setting bit rate T n + 1 .
  • the ratio to the target in the n-th period is calculated by C n / T n, and the target set bit rate T n + 1 in the (n + 1) period is adjusted by dividing the overall target bit rate T by the target ratio. As a whole, control is performed so as to approach the target bit rate.
  • the target ratio is multiplied by S n ⁇ 1 / S n .
  • S n-1 / S n is the the (n-1) the average input bit rate S n-1 of the first stream of period, by the average input bit rate S n of the first stream in the n period Yes, it can be called the period ratio of the input average bit rate. That is, the target ratio is adjusted by multiplying the target ratio by the period ratio.
  • the target ratio C n / T n may also vary accordingly. Even in such a case, the target ratio is adjusted by multiplying the period ratio S n ⁇ 1 / S n (in this case, the period ratio is a value larger than 1), and the target set bit rate T n + 1 is Large fluctuations can be avoided.
  • the period ratio S n ⁇ 1 / S n becomes a value smaller than 1, and it is possible to suppress the target ratio from rapidly increasing. .
  • the input average bit rate S n + 1 in the (n + 1) period of the first stream can be prefetched
  • the input average bit rate S n + 1 may be used.
  • the case where the input average bit rate S n + 1 can be prefetched is a case where there is a time margin for calculating the target set bit rate T n + 1 in the (n + 1) period after buffering information on the input average bit rate S n + 1. is there. That is, a case where a certain amount of processing delay is allowed.
  • Equation (6) shows an equation for calculating the target set bit rate T n + 1 using the input average bit rate S n + 1 .
  • the period ratio, S n / S n + 1 that is, the average input bit rate S n of the first stream in the n period, and the input average of the first stream in the (n + 1) period
  • a value divided by the bit rate S n + 1 is used.
  • S n-1 / S n is used as the period ratio.
  • the ratio of the average period bit rate AS n of past M periods including the n period as the period ratio May be. That is, in the equation (5), AS n ⁇ 1 / AS n may be used as the period ratio instead of S n ⁇ 1 / S n . Thereby, it is possible to reduce the influence of local fluctuations and optimally control the target setting bit rate T n + 1 .
  • the period average bit rate AS n of the past M period including the n period and the past including the (n + 1) period may be used as the period ratio. That is, in the equation (5), AS n / AS n + 1 may be used as the period ratio instead of S n ⁇ 1 / S n .
  • AS n / AS n + 1 may be used as the period ratio instead of S n ⁇ 1 / S n .
  • the average period bit rate AC n from the (n ⁇ M + 1) -th period to the n-th period may be used. That is, AC n is used in place of C n in the above-described calculation examples such as Equation (4) to Equation (6). Thereby, the target setting bit rate T n + 1 can be controlled more gently.
  • Equation (7) Another calculation example for calculating the target setting bit rate T n + 1 in the (n + 1) period is shown in Equation (7).
  • the target set bit rate T in the (n + 1) period n + 1 is calculated by adding the target difference to the overall target bit rate T of the second stream.
  • k is a positive coefficient, and is a coefficient for adjusting the target setting bit rate T n + 1 .
  • the difference from the target in the n-th period is calculated by (T n ⁇ C n ), and the target stream is added to the overall target bit rate T, so that the output stream approaches the target bit rate. Is done.
  • the target difference (T n ⁇ C n ) may be multiplied by a period ratio S n ⁇ 1 / S n or a period ratio AS n ⁇ 1 / AS n .
  • the target difference (T n ⁇ C n ) may be multiplied by the period ratio S n / S n + 1 or the period ratio AS n / AS n + 1.
  • AC n may be used instead of C n .
  • the function f is a function for obtaining the “quantization step value ratio” (quantization step conversion coefficient) from the “bit rate ratio”.
  • the “bit rate ratio” is the ratio of the bit rate of the second stream to the bit rate of the first stream.
  • S, Sn, or the like is used as the bit rate of the first stream.
  • T, Tn, etc. are used as the bit rate of the second stream.
  • the “ratio of quantization step value” is the ratio of the quantization step value of the second stream to the quantization step value of the first stream.
  • the initial value ⁇ 1 of the quantization step conversion coefficient ⁇ n is given by equation (10). That is, by inputting the value obtained by dividing the overall target bit rate T of the second stream by the input overall bit rate S of the first stream, that is, the ratio of the bit rates, to the function f, the initial value ⁇ 1 of the quantization step transform coefficient Seeking.
  • a value obtained by dividing the overall target bit rate T of the second stream by the input overall bit rate S of the first stream will be referred to as a reference bit rate ratio R 0 as shown in Equation (11).
  • Equation (12) shows a function f 1 as the function f according to the first embodiment.
  • the function f 1 is a straight line having a slope of ⁇ 1 passing through the point (R 0 , f 0 (R 0 )).
  • the function f 0 is expressed by Equation (13).
  • the function f 0 can be used as it is as the function f, in the present embodiment, the function f 0 is used as the area specifying function, and the local inclination of the area specifying function f 0 is adjusted. It has decided to calculate the quantization step conversion factor by utilizing the decision function f 1.
  • FIG. 3 is a diagram illustrating the function f 1 and the function f 0 .
  • the x-axis indicates the bit rate ratio
  • the y-axis indicates the quantization step conversion coefficient.
  • the function f 0 is an exponential function, and the slope of the region where the bit rate ratio is small is large. Assuming that the ratio of the bit rate is about 0.4 to 0.6, the function f 0 has a large quantization step conversion coefficient in this region. Therefore, when the function f 0 is used as it is as the function f, the quantization step conversion coefficient varies greatly in a region where the bit rate ratio is small.
  • the quantization step conversion coefficient is calculated using the function f 1 having a smaller variation than the function f 0 in the vicinity region of the reference bit rate ratio R 0 .
  • the area designating function f 0 has a role of defining an approximate area that determines the relationship between the bit rate ratio and the quantization step conversion coefficient, and in this area, the function f 1 is the bit rate ratio. And has a role to determine specifically the relationship between the quantization step transform coefficient.
  • the function f 0 is a function obtained based on experiments and the like. In the case of stream conversion to H.264, the relationship between the bit rate ratio and the quantization step conversion coefficient can be kept good.
  • the function f 1 is used so that the fluctuation of the quantization step conversion coefficient does not increase when the bit rate ratio is about 0.4 to 0.6.
  • the function f 1 intersects with the function f 0 at the point (R 0 , f 0 (R 0 )). That is, in the vicinity of the reference bit rate ratio R 0 , characteristics that are relatively close to the function f 0 are maintained. However, the function f 1 is farther away from the point (R 0, f 0 (R 0)), the function f 1 is a function f 0 and the characteristic deviates. If the function f 1 is characteristic deviates greatly from the function f 0, will not be able to maintain the characteristics of the function f 0, it is inappropriate to continue to use the function f 1. Therefore, the function f 1 is used as long as the relationship of the equation (14) is satisfied.
  • R B is the current bit rate ratio, represented by the number (15).
  • the reference point (R 0 , f 0 (R 0 )) is updated, and the function f 1 is also updated. That is, the quantization step transform coefficient is calculated using the function f 1 while moving the function f 1 along the area specified by the function f 0 . As a result, it is possible to perform optimum rate control using the characteristics of both the function f 0 and the function f 1 .
  • T n + 1 / S n is used as the bit rate ratio as shown in Equation (8).
  • the input average in the n-th period is used.
  • the quantization step conversion coefficient ⁇ n + 1 may be calculated using a period average bit rate AS n from the (n ⁇ M + 1) period to the n period.
  • the average input bit rate S n + 1 of the first stream in the (n + 1) period is used as the period ratio as shown in the equation (6).
  • the target set bit rate T n + 1 in the (n + 1) period and the input average bit rate S n + 1 in the (n + 1) period By inputting the ratio to the function f (function f 1 ), the quantization step conversion coefficient ⁇ n + 1 in the (n + 1) period may be calculated.
  • the expression (16) is substituted. Then, as shown in the equation (18), the ratio between the target set bit rate T n + 1 in the (n + 1) period and the period average bit rate AS n + 1 in the past M periods including the (n + 1) period is expressed as a function f (function It is only necessary to calculate the quantization step conversion coefficient ⁇ n + 1 in the (n + 1) period by inputting to f 1 ).
  • the slope of the function f 1 is ⁇ 1, but this is only an example. It may be selected an optimum small negative slope of variation than the function f 0.
  • the threshold is set to 0.5, which is also an example. By setting this threshold value freely, it is possible to freely set the vicinity region of the reference bit rate ratio R 0 (similarly updated reference bit rate ratio R 0 ).
  • Equation (19) represents a function f 2 used as the function f in the second embodiment.
  • Function f 2 is the point (R 0, f 0 (R 0)) through, and the point (R 0, f 0 (R 0)) orthogonal hyperbola (perpendicular with tangent slope -1 p (x) in Hyperbola).
  • the function f 0 is the same as that expressed by the equation (13).
  • Figure 5 is a diagram illustrating a function f 2 and functions f 0.
  • the x-axis indicates the bit rate ratio
  • the y-axis indicates the quantization step conversion coefficient.
  • the function f 0 is an exponential function, and the slope of the region where the bit rate ratio is small is large. Therefore, the quantization step conversion coefficient is calculated using the function f 2 having a smaller variation than the function f 0 in the vicinity of the reference bit rate ratio R 0 .
  • the function f 0 has a role as an area designating function that defines an approximate area that determines the relationship between the bit rate ratio and the quantization step conversion coefficient.
  • the function f 2 has a role as a relationship determination function that specifically determines the relationship between the bit rate ratio and the quantization step conversion coefficient.
  • the function f 2 intersects with the function f 0 at the point (R 0 , f 0 (R 0 )). That is, in the vicinity of the reference bit rate ratio R 0 , characteristics that are relatively close to the function f 0 are maintained. However, the function f 2 is farther away from the point (R 0, f 0 (R 0)), the function f 2 is a function f 0 and the characteristic deviates. If the function f 2 characteristic deviates greatly from the function f 0, will not be able to maintain the characteristics of the function f 0, it is inappropriate to continue to use the function f 2. Therefore, as long as you meet the number (20) of the relationship is to utilize the function f 2.
  • the reference bit rate ratio R 0 is updated with the current bit rate ratio R B shown in the equation (15).
  • the reference point (R 0 , f 0 (R 0 )) is updated, and the function f 2 is also updated. That is, the quantization step conversion coefficient is calculated using the function f 2 while moving the function f 2 along the area of the function f 0 .
  • the slope of the tangent p (x) is set to ⁇ 1, but this is only an example. Variations of the function f 2 may be selected an optimum at negative inclination such as to be smaller than the function f 0.
  • the threshold is set to 0.5, but this is also an example. By setting this threshold value freely, it is possible to freely set the vicinity region of the reference bit rate ratio R 0 (similarly updated reference bit rate ratio R 0 ).
  • Function f 3 passes through the point (R 0, f 0 (R 0)), and a line tangent with the function f 0 at the point (R 0, f 0 (R 0)).
  • the function f 0 is the same as that expressed by the equation (13).
  • Figure 6 is a diagram illustrating a function f 3 and a function f 0.
  • the x-axis indicates the bit rate ratio
  • the y-axis indicates the quantization step conversion coefficient.
  • the function f 3 has different characteristics from the function f 1 and the function f 2 . That is, in the region where the bit rate ratio is smaller than that of the point (R 0 , f 0 (R 0 )), the fluctuation of the quantization step conversion coefficient is reduced, but the point (R 0 , f 0 (R 0 )) On the other hand, the fluctuation is larger in the region where the bit rate ratio is larger.
  • the function f 0 has a role as an area designating function that defines an approximate area that determines the relationship between the bit rate ratio and the quantization step conversion coefficient.
  • the function f 3 has a role as a relationship determination function that specifically determines the relationship between the bit rate ratio and the quantization step conversion coefficient.
  • the condition is also the first to use the function f 3, is similar to the second embodiment.
  • the function f 3 is used as long as the relationship of the equation (22) is satisfied.
  • the third embodiment it is the use condition of the function f 3 in a limiting preferred.
  • the threshold value is set to a value smaller than 0.5, such as 0.2 or 0.3, and the function is used only near the point (R 0 , f 0 (R 0 )). It is preferable to use.
  • the usage conditions for the functions f 1 , f 2 , and f 3 are provided as shown in the equations (14), (20), and (22).
  • the same condition is used for the area where the bit rate ratio is larger and smaller than the point (R 0 , f 0 (R 0 )), but different conditions may be used.
  • a method may be considered in which the threshold value 0.5 is replaced with 0.3 or the like in the equation (14) to make the use conditions strict.
  • the function f 3 the point (R 0, f 0 (R 0)) than the bit rate ratio for large area, said that the fluctuation range of the quantization step conversion factor is increased. This phenomenon becomes more prominent as the bit rate ratio moves away from the point (R 0 , f 0 (R 0 )).
  • the function f 3 the point in the (R 0, f 0 (R 0)) small area of the bit rate ratio than the number (22) as it is used wherein the point (R 0, f 0 (R 0))
  • the threshold value 0.5 is replaced with 0.2 or the like in the equation (22), and the usage conditions may be tightened.
  • the function f 3 Since the function f 3 is a tangent to the function f 0 , the function f 3 has characteristics that are relatively close to the function f 0 in a region where the bit rate ratio is small, and can have more gradual variation characteristics than the function f 0 . In the region where the bit rate ratio is large, by using the function f 3 only in the very vicinity of the point (R 0 , f 0 (R 0 )), it is possible to prevent a large deviation from the characteristics of the function f 0 .
  • the function f that uses the point (R 0 , f 0 (R 0 )) as a boundary can be made different. For example, in a region where the bit rate ratio is smaller than that of the point (R 0 , f 0 (R 0 )), the function f 3 is used and the bit rate ratio is larger than that of the point (R 0 , f 0 (R 0 )). in the region, it is to utilize a function f 2.
  • bit rate ratio in a small region of the bit rate ratio, by utilizing the function f 3, it has a relatively close to the function f 0 characteristics, also can have a gradual variation characteristics than the function f 0, the bit rate the large area ratio, by utilizing the function f 2, without departing significantly from the properties of the function f 0, it is possible to have a gradual variation characteristics.
  • the function f 1 or the function f 2 is used, and the bit rate is higher than that of the point (R 0 , f 0 (R 0 ))
  • the function f 0 can be used as it is.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 本発明は、量子化ステップ値の急激な変動を抑え、安定したレート制御を可能とする技術を提供することを目的とする。ビットレート比から量子化ステップ変換係数(α)を算出する関数fは、関数fと基準点(R,f(R))で交わる傾き-1の直線である。関数fは、単調減少の指数関数である。基準ビットレート比(R)は、第1ストリームの全体ビットレート(S)、第2のストリームの全体目標ビットレート(T)を用いてR=T/Sで表される。関数fは、符号変換においてビットレート比と量子化ステップ変換係数の関係を適切に表現するが、ビットレート比が0.5程度の領域で変動率が大きい。関数fは変動率が小さく、量子化ステップ変換値の急激な変動を抑制することができる。

Description

トランスコーダ
 本発明は、入力ストリームをデコードして異なる出力ストリームに変換するトランスコーダに関し、詳しくは、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御する技術に関する。
 デジタル放送で配信される画像や、DVD、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
 画像の符号化方式には、MPEG2やH.264など様々な規格が存在する。そして、入力した符号化画像の符号量を削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダは、入力した符号化画像を一旦デコードする。そして、トランスコーダは、デコードした画像を、再び異なる符号化方式(あるいは同じ符号化方式)で符号化する。このようにして、トランスコーダは、出力ストリームのビットレートを制御するのである。
 下記特許文献1では、トランスコーダにおいて出力ストリームの量子化ステップ値を算出すための技術が開示されている。特許文献1では、デコードされた画像のマクロブロック内の画素のばらつき度合いや、動き評価値を加味して量子化ステップ値を調整するようにしている。
特開2008-42426号公報
 ビットレートを一定に保つため、あるいはビットレートを削減することを目的として出力ストリームの量子化ステップ値を制御する場合、入力ストリームの状況、演算条件によっては量子化ステップの変動が大きくなるケースが発生する。量子化ステップの変動が大きくなると、レート制御が不安定になり、画質の劣化を招くことになる。
 本発明は、第1のストリームを第2のストリームに変換するトランスコーダに関する。本発明のトランスコーダは、第1のストリームと第2のストリームのビットレート比から第1のストリームと第2のストリームの量子化ステップ変換値を算出する変換値算出部と、第1のストリームの量子化ステップ値に量子化ステップ変換値を乗算することで第2のストリームの量子化ステップ値を算出する量子化ステップ値算出部と、を備え、変換値算出部は、ビットレート比と量子化ステップ変換値との関係が属する領域を指定する領域指定関数と、領域内においてビットレート比と量子化ステップ変換値との具体的な関係を決定する関係決定関数とを用いて、ビットレート比から量子化ステップ変換値を算出する。
 領域指定関数により、符号変換に最適な特性を維持しつつ、関係決定関数により、量子化ステップ変換値の変動を調整することができる。
 この発明の好ましい実施例では、変換済みの過去の期間の第1のストリームのビットレートと第2のストリームの目標ビットレートとの比を現在ビットレート比とすると、領域指定関数を用いて現在ビットレート比に対して算出した量子化ステップ変換値と、関係決定関数を用いて現在ビットレート比に対して算出した量子化ステップ変換値との差が所定の閾値を越えた場合、現在ビットレート比により基準ビットレート比を更新する。
 
 関係決定関数の特性が、領域指定関数の特性から大きく乖離することを回避できる。
 この発明の他の好ましい実施例では、基準ビットレート比の近傍においては、関係決定関数の変化率は、領域指定関数の変化率よりも小さい。
 領域指定関数の特性により符号変換に適した関係を維持しつつ、関係決定関数により量子化ステップ変換値の急激な変動を抑制することができる。
 それゆえにこの発明の目的は、量子化ステップ値の急激な変動を抑え、安定したレート制御を可能とする技術を提供することである。
 この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面によって、明白となる。
トランスコーダのブロック図である。 入力ストリーム(第1ストリーム)と出力ストリーム(第2ストリーム)の情報を制御単位期間ごとに示した図である。 関数fと関数fの特性を示す図である。 基準ビットレート比Rの更新と関数fの更新を示す図である。 関数fと関数fの特性を示す図である。 関数fと関数fの特性を示す図である。
 {第1の実施の形態}
 <1.トランスコーダの構成>
 以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係るトランスコーダ1のブロック図である。このトランスコーダ1は、CPU11、デコーダ12、画像メモリ13、ステップ値算出部14、エンコーダ15、バッファメモリ16を備えている。
 デコーダ12は、第1ストリームを入力する。第1ストリームは、符号化画像のストリームである。デコーダ12は、第1ストリームをデコードし、非圧縮の画像データを画像メモリ13に出力する。エンコーダ15は、画像メモリ13に格納されたデコード後の非圧縮の画像データを再び符号化し、第2ストリームを出力する。
 たとえば、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、H.264で符号化された第2ストリームを出力するなど、ストリームの符号化方式を変換する処理を行う。あるいは、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、再びMPEG2で符号化された第2ストリームを出力するなど、同じ符号化方式のストリームを出力する。
 なお、デコーダ12、ステップ値算出部14、エンコーダ15における各演算処理は、ハードウェアにより実現されてもよいし、ソフトウェア処理により実現されていてもよい。つまり、これら演算処理部は、ハードウェア回路として構成されていてもよいし、CPUとメモリに格納されたプログラムとで構成されていてもよい。あるいは、一部の処理がハードウェアで処理され、一部の処理がソフトウェアで処理される形態であってもよい。
 <2.制御単位期間と期間内の情報>
 図2は、トランスコーダ1が入出力するストリームの制御単位期間ごとの情報を表した図である。トランスコーダ1は、処理時間軸を制御単位期間L(n=1,2・・・)に区分し、この制御単位期間Lを処理単位としてレート制御を行う。以下の説明において、適宜、制御単位期間Lを第n期間と呼ぶことにする。制御単位期間Lとしては、1フレーム、連続する複数フレーム、1GOP、連続する複数GOPなどを1単位期間として設定することが可能である。
 第1ストリームの入力全体ビットレートSは、シーケンスヘッダなどから取得される。入力平均ビットレートSは、第n期間における第1ストリームの平均ビットレートである。トランスコーダ1は、M期間分の入力平均ビットレートSに関する情報をバッファメモリ16に格納可能としている。つまり、バッファメモリ16は、第(n-M+1)期間から第n期間までの入力平均ビットレートSに関する情報を格納可能としている。期間平均ビットレートASは、第(n-M+1)期間から第n期間における入力平均ビットレートSを平均した値である。期間平均ビットレートASは、数(1)式で表される。
Figure JPOXMLDOC01-appb-M000001
 第2ストリームの全体目標ビットレートTは、ユーザにより設定される。たとえば、ユーザが、トランスコーダ1に設けられた図示せぬ操作部を用いて全体目標ビットレートTを設定する。
 目標設定ビットレートTは、第n期間における第2ストリームの目標ビットレートである。出力平均ビットレートCは、第n期間における変換済みの第2ストリームの平均ビットレートである。トランスコーダ1は、M期間分の出力平均ビットレートCに関する情報をバッファメモリ16に格納可能としている。つまり、バッファメモリ16は、第(n-M+1)期間から第n期間までの出力平均ビットレートCに関する情報を格納可能としている。期間平均ビットレートACは、第(n-M+1)から第n期間における出力平均ビットレートCを平均した値である。期間平均ビットレートACは、数(2)式で表される。
Figure JPOXMLDOC01-appb-M000002
 なお、この実施の形態では、期間平均ビットレートAS、ACを計算する場合に利用するバッファ期間を、制御単位期間Lと連動させたが、バッファ期間の設定方法は、これに限るものではない。たとえば、符号化が終わった時点の過去1フレーム、連続する過去複数フレーム、過去1GOP、連続する過去複数GOPなどをバッファ期間として設定することが可能である。
 量子化ステップ変換係数αは、第(n-1)期間の終了時に算出される係数である。第1ストリームの量子化ステップ値そのもの、あるいは第1ストリームの量子化ステップ値から計算される値Pに、量子化ステップ変換係数αを乗算することで、第2ストリームの量子化ステップ値Qが決定される。この関係を数(3)式に示す。
Figure JPOXMLDOC01-appb-M000003
 再び、図1を参照する。CPU11は、デコーダ12から第1ストリームのピクチャごとのビットレートs_bを取得し、バッファメモリ16に格納する。CPU11は、バッファメモリ16に格納されたビットレートs_bに基づき、第n期間の入力平均ビットレートSや期間平均ビットレートASを算出する。
 デコーダ12は、第1ストリームのマクロブロックごとの量子化ステップ値Pをステップ値算出部14に出力する。
 CPU11は、エンコーダ15から変換済みの第2ストリームのピクチャごとのビットレートc_bを取得し、バッファメモリ16に格納する。CPU11は、バッファメモリ16に格納されたビットレートc_bに基づき、第n期間の出力平均ビットレートCや期間平均ビットレートACを算出する。
 CPU11は、また、ユーザにより設定された全体目標ビットレートTを取得する。
 CPU11は、全体目標ビットレートT、出力平均ビットレートC、期間平均ビットレートAC、入力平均ビットレートS、期間平均ビットレートASなどの情報を利用し、第(n+1)期間の第2ストリームの目標設定ビットレートTn+1を決定する。目標設定ビットレートTn+1の算出方法は、次の項<3.目標ビットレートの算出例>において説明する。
 CPU11は、さらに、第(n+1)期間の第2ストリームの目標設定ビットレートTn+1から本発明の特徴的な処理である関数fを利用することで、量子化ステップ変換係数αn+1を算出し、ステップ値算出部14に出力する。関数fについては、後の<4.変換係数の算出>において説明する。
 ステップ値算出部14は、量子化ステップ値Pと量子化ステップ変換係数αn+1を入力し、数(3)式に示す演算を実行することで、第2ストリームの量子化ステップ値Qを算出する。ステップ値算出部14は、算出した量子化ステップ値Qをエンコーダ15に与える。
 エンコーダ15は、ステップ値算出部14から入力した量子化ステップ値Qに基づいて非圧縮の画像データを符号化し、第2ストリームを生成する。
 <3.目標ビットレートの算出例>
 次に、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の算出例について説明する。トランスコーダ1は、第n期間経過時において、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定する。
 数(4)式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。具体的には、第n期間の変換済みの第2ストリームの出力平均ビットレートCを第n期間の目標設定ビットレートTで除算した値を目標比と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTを目標比で除算することで算出される。
Figure JPOXMLDOC01-appb-M000004
 数(4)式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、C/Tにより第n期間における目標との比を算出し、全体目標ビットレートTを目標比で除算することで第(n+1)期間の目標設定ビットレートTn+1を調整し、全体として目標ビットレートに近づくよう制御するのである。
 数(4)式では、第n期間の第2ストリームの出力平均ビットレートCを目標設定ビットレートTで除算した値を目標比として利用しているが、この目標比をさらに調整するようにしたのが、数(5)式である。
Figure JPOXMLDOC01-appb-M000005
 数(5)式において、目標比にSn-1/Sが乗算されている。Sn-1/Sは、第(n-1)期間の第1ストリームの入力平均ビットレートSn-1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値であり、入力平均ビットレートの期間比と呼ぶことができる。つまり、目標比に期間比を乗算することで、目標比を調整しているのである。
 このように目標比に期間比を乗算することで、局所的な目標比の変化を補正することができる。たとえば、入力平均ビットレートSが局所的に小さく変化した場合には、それに伴い、目標比C/Tも小さく変動する場合がある。このような場合にも、期間比Sn-1/S(この場合、期間比が1より大きな値となる。)を乗算することで、目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。逆に、入力平均ビットレートSが局所的に大きく変化した場合には、期間比Sn-1/Sが1より小さい値となり、目標比が急激に大きくなることを抑制することができる。
 数(5)式では、第(n-1)期間の第1ストリームの入力平均ビットレートSn-1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。つまり、ある程度の処理遅延が許されるような場合である。数(6)式に、入力平均ビットレートSn+1を用いて目標設定ビットレートTn+1を算出する式を示す。
Figure JPOXMLDOC01-appb-M000006
 数(6)式に示すように、期間比として、S/Sn+1、つまり、第n期間の第1ストリームの入力平均ビットレートSを、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1で除算した値を用いている。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。つまり、より最新の入力情報を用いることで、目標ビットレートに対する最適制御を行うことができるのである。
 また、数(5)式では、期間比としてSn-1/Sを利用した。これに代えて、第(n-1)期間を含む過去M期間の期間平均ビットレートASn-1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数(5)式において、期間比として、Sn-1/Sに代えて、ASn-1/ASを用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
 あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第n期間を含む過去M期間の期間平均ビットレートASと、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を期間比として用いてもよい。つまり、数(5)式において、期間比として、Sn-1/Sに代えて、AS/ASn+1を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
 また、第n期間の出力平均ビットレートCに代えて、第(n-M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。つまり、数(4)式~数(6)式等、上述した算出例において、Cに代えてACを用いるのである。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
 第(n+1)期間の目標設定ビットレートTn+1を算出する別の算出例を数(7)式に示す。第n期間の目標設定ビットレートTから第n期間の変換済みの第2ストリームの出力平均ビットレートCを減算した値を目標差と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに目標差を加算することで算出されるのである。
Figure JPOXMLDOC01-appb-M000007
 数(7)式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、(T-C)により、第n期間における目標との差を算出し、全体目標ビットレートTに目標差を加算することで、出力ストリームが目標ビットレートに近づくような制御を行うのである。
 また、目標差(T-C)に、期間比Sn-1/Sや、期間比ASn-1/ASを乗算するようにしてもよい。あるいは、入力平均ビットレートSn+1を先読みできる場合には、目標差(T-C)に、期間比S/Sn+1、や期間比AS/ASn+1を乗算するようにしてもよい。また、Cに代えてACを用いても良い。
 <4.変換係数の算出>
 第(n+1)期間の目標設定ビットレートTn+1が算出されると、数(8)式に示す演算を行うことにより、量子化ステップ変換係数αn+1を算出する。つまり、現在ビットレート比=Tn+1/S(=R)を関数fに代入することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。
Figure JPOXMLDOC01-appb-M000008
 数(8)式中、関数fは、“ビットレートの比”から“量子化ステップ値の比”(量子化ステップ変換係数)を求める関数である。“ビットレートの比”とは、第1ストリームのビットレートに対する第2ストリームのビットレートの比である。第1ストリームのビットレートとしては、S、Sなどを用いる。第2ストリームのビットレートとしてはT、Tなどを用いる。“量子化ステップ値の比”とは、第1ストリームの量子化ステップ値に対する第2ストリームの量子化ステップ値の比である。“ビットレートの比”をR、“量子化ステップ値の比”をRとすると、関数fは、一般的に、数(9)式で表される。
Figure JPOXMLDOC01-appb-M000009
 量子化ステップ変換係数αの初期値αは、数(10)式で与えられる。つまり、第2ストリームの全体目標ビットレートTを第1ストリームの入力全体ビットレートSで除算した値、つまりビットレートの比を関数fに入力することによって、量子化ステップ変換係数の初期値αを求めている。
Figure JPOXMLDOC01-appb-M000010
 第2ストリームの全体目標ビットレートTを第1ストリームの入力全体ビットレートSで除算した値を、数(11)式に示すように、基準ビットレート比Rと呼ぶことにする。
Figure JPOXMLDOC01-appb-M000011
 関数fについて詳しく説明する。上述したように、関数fは、“ビットレートの比”から量子化ステップ変換係数αを算出する関数である。数(12)式は、第1の実施の形態に係る関数fとして関数fを示す。
Figure JPOXMLDOC01-appb-M000012
 関数fは、点(R,f(R))を通る傾き-1の直線である。ここで、関数fは、数(13)式で表される。関数fをそのまま関数fとして利用することも可能であるが、本実施の形態においては、関数fを領域指定関数として利用し、この領域指定関数fの局所的な傾きを調整した関係決定関数fを利用して量子化ステップ変換係数を算出することとしている。
Figure JPOXMLDOC01-appb-M000013
 数(13)式においては、MPEG2からH.264へストリーム変換する場合のε、δの値として、実験等に基づいて算出された具体的数値を例示した。つまり、実験の結果、ε=2.1、δ=1.1とすることで、良好な特性が得られた。本実施の形態においては、全ピクチャに共通の関数fを利用しているが、ピクチャタイプ(Iピクチャ、Pピクチャ、Bピクチャ)でそれぞれに異なる特性の関数を利用してもよい。
 図3は、関数fと関数fを示す図である。図中、x軸はビットレートの比を示し、y軸は量子化ステップ変換係数を示している。関数f、関数fとして具体的にε=2.1、δ=1.1の値を用いている。関数fは、指数関数であり、ビットレートの比が小さい領域については、その傾きが大きくなっている。ビットレートの比が、おおよそ0.4~0.6程度で推移することを想定すると、関数fはこの領域において大きく量子化ステップ変換係数が変動することになる。したがって、関数fをそのまま関数fとして用いた場合には、ビットレートの比が小さい領域において、量子化ステップ変換係数の変動が大きくなる。そこで、基準ビットレート比Rの近傍領域において関数fよりも変動の小さい関数fを用いて量子化ステップ変換係数を算出することとしている。なお、図3においては、基準ビットレート比R=0.5の場合を例に図示している。
 つまり、領域指定関数fは、ビットレートの比と量子化ステップ変換係数との関係を決めるおおよそのエリアを規定する役割を有し、そのエリアの中で、関数fは、ビットレートの比と量子化ステップ変換係数との関係を具体的に決定する役割を有する。上述したように、関数fは、実験等に基づいて求められた関数であり、MPEG2からH.264へストリーム変換する場合におけるビットレートの比と量子化ステップ変換係数の関係を良好に保つことができる。しかし、上述したように、ビットレートの比が0.4~0.6程度において、量子化ステップ変換係数の変動が大きくならないように、関数fを利用するのである。
 関数fは、点(R,f(R))において、関数fと交わっている。つまり、基準ビットレート比Rの近傍においては、関数fと比較的近い特性を維持している。しかし、関数fが、点(R,f(R))から離れるにつれて、関数fは関数fと特性が乖離する。関数fが関数fから特性が大きくずれると、関数fの特性を維持できなくなり、関数fを使用し続けるのは不適切となる。そこで、数(14)式の関係を満たす限りにおいて、関数fを利用するのである。
Figure JPOXMLDOC01-appb-M000014
 数(14)式において、Rは、現在ビットレート比であり、数(15)式で示される。
 そして、数(14)式の関係を満たさなくなった場合には、数(15)式に示す現在ビットレート比Rにより、基準ビットレート比Rを更新するのである。
Figure JPOXMLDOC01-appb-M000015
 これにより、図4に示すように、基準点(R,f(R))が更新され、あわせて関数fも更新される。つまり、関数fで指定されるエリアに沿って、関数fを移動させながら、関数fを用いて量子化ステップ変換係数を算出するのである。これにより、関数fと関数fの両方の特性を利用して、最適なレート制御を行うことが可能である。
 上記の実施の形態においては、数(8)式に示したように、ビットレートの比としてTn+1/Sを用いたが、数(16)式で示すように、第n期間における入力平均ビットレートSに代えて、第(n-M+1)期間から第n期間までの期間平均ビットレートASを用いて量子化ステップ変換係数αn+1を算出してもよい。
Figure JPOXMLDOC01-appb-M000016
 また、目標設定ビットレートTn+1を算出する演算過程において、数(6)式で示した場合のように、期間比として第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数(8)式に代えて、数(17)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数f(関数f)に入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
Figure JPOXMLDOC01-appb-M000017
 また、目標設定ビットレートTn+1を算出する演算過程において、期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数(16)式に代えて、数(18)式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数f(関数f)に入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
Figure JPOXMLDOC01-appb-M000018
 なお、第1の実施の形態において、関数fの傾きを-1としたが、これは一例である。関数fよりも変動の小さい負の傾きで最適なものを選択すればよい。また、数(14)式において、閾値を0.5に設定したが、これも一例である。この閾値を自由に設定することで基準ビットレート比R(同様に更新された基準ビットレート比R)の近傍領域を自由に設定可能である。
 {第2の実施の形態}
 次に、本発明の第2の実施の形態について説明する。第2の実施の形態と第1の実施の形態とでは関数fが異なる。数(19)式は、第2の実施の形態において関数fとして利用される関数fを示す。
Figure JPOXMLDOC01-appb-M000019
 関数fは、点(R,f(R))を通り、かつ、点(R,f(R))において傾き-1の接線p(x)を有する直交双曲線(直角双曲線)である。関数fは、数(13)式で表したものと同じである。
 図5は、関数fと関数fを示す図である。図中、x軸はビットレートの比を示し、y軸は量子化ステップ変換係数を示している。関数f、関数fとして具体的にε=2.1、δ=1.1の値を用いている。上述したように、関数fは、指数関数であり、ビットレートの比が小さい領域については、その傾きが大きくなっている。そこで、基準ビットレート比Rの近傍において、関数fよりも変動の小さい関数fを用いて量子化ステップ変換係数を算出することとしている。
 第1の実施の形態と同様、関数fは、ビットレートの比と量子化ステップ変換係数との関係を決めるおおよそのエリアを規定する領域指定関数としての役割を有し、そのエリアの中で、関数fは、ビットレートの比と量子化ステップ変換係数との関係を具体的に決定する関係決定関数としての役割を有する。
 関数fは、点(R,f(R))において、関数fと交わっている。つまり、基準ビットレート比Rの近傍においては、関数fと比較的近い特性を維持している。しかし、関数fが、点(R,f(R))から離れるにつれて、関数fは関数fと特性が乖離する。関数fが関数fから特性が大きくずれると、関数fの特性を維持できなくなり、関数fを使用し続けるのは不適切となる。そこで、数(20)式の関係を満たす限りにおいて、関数fを利用するのである。
Figure JPOXMLDOC01-appb-M000020
 そして、数(20)式の関係を満たさなくなった場合には、数(15)式に示す現在ビットレート比Rにより、基準ビットレート比Rを更新するのである。これにより、基準点(R,f(R))が更新され、あわせて関数fも更新される。つまり、関数fのエリアに沿って、関数fを移動させながら、関数fを用いて量子化ステップ変換係数を算出するのである。これにより、関数fと関数fの両方の特性を利用して、最適なレート制御を行うことが可能である。
 なお、第2の実施の形態において、接線p(x)の傾きを-1としたが、これは一例である。関数fの変動が関数fよりも小さくなるような負の傾きで最適なものを選択すればよい。また、数(20)式において、閾値を0.5に設定したが、これも一例である。この閾値を自由に設定することで基準ビットレート比R(同様に更新された基準ビットレート比R)の近傍領域を自由に設定可能である。
 {第3の実施の形態}
 次に、本発明の第3の実施の形態について説明する。第3の実施の形態と第1の実施の形態とでは関数fが異なる。数(21)式は、第3の実施の形態において関数fとして利用される関数fを示す。
Figure JPOXMLDOC01-appb-M000021
 関数fは、点(R,f(R))を通り、かつ、点(R,f(R))において関数fと接する直線である。関数fは、数(13)式で表したものと同じである。
 図6は、関数fと関数fを示す図である。図中、x軸はビットレートの比を示し、y軸は量子化ステップ変換係数を示している。関数f、関数fとして具体的にε=2.1、δ=1.1の値を用いている。
 ここで、関数fは、関数fや関数fとは異なる特性を有する。つまり、点(R,f(R))よりビットレート比が小さい領域については、量子化ステップ変換係数の変動を小さくするよう作用するが、点(R,f(R))よりビットレート比が大きい領域については、逆に変動が大きくなる。
 第1、第2の実施の形態と同様、関数fは、ビットレートの比と量子化ステップ変換係数との関係を決めるおおよそのエリアを規定する領域指定関数としての役割を有し、そのエリアの中で、関数fは、ビットレートの比と量子化ステップ変換係数との関係を具体的に決定する関係決定関数としての役割を有する。
 また、関数fを利用する条件も第1、第2の実施の形態と同様である。数(22)式の関係を満たす限りにおいて、関数fを利用するのである。
Figure JPOXMLDOC01-appb-M000022
 ただし、第3の実施の形態においては、関数fの利用条件を限定的にする方が好ましい。上述したように、点(R,f(R))よりビットレート比が大きい領域については、量子化ステップ変換係数の変動幅が大きくなるが、この現象は、ビットレートの比が点(R,f(R))より離れるにつれて顕著になる。したがって、数(22)式において、閾値の値を0.5より小さい値、0.2や0.3などを設定し、より点(R,f(R))の近傍でのみ関数を利用するようにした方が好ましい。
 数(22)式の関係を満たさなくなった場合には、数(15)式に示す現在ビットレート比Rにより、基準ビットレート比Rを更新する点も同様である。
 {変形例}
 上記第1~第3の実施の形態においては、数(14)、(20)、(22)式で示したように、関数f、f、fの利用条件を設けた。数(14)、(20)、(22)式では、点(R,f(R))よりビットレート比の大きい領域、小さい領域で同じ条件としているが、異なる条件としてもよい。たとえば、関数fについて、点(R,f(R))よりビットレート比の小さい領域では、数(14)式をそのまま用い、点(R,f(R))よりビットレート比の大きい領域では、数(14)式において閾値0.5を0.3などに置き換え、利用条件を厳しくするなどの方法が考えられる。
 関数fについては、点(R,f(R))よりビットレート比が大きい領域については、量子化ステップ変換係数の変動幅が大きくなることを述べた。そして、この現象は、ビットレート比が点(R,f(R))より離れるにつれて顕著になる。そこで、関数fについては、点(R,f(R))よりビットレート比の小さい領域では、数(22)式をそのまま用い、点(R,f(R))よりビットレート比の大きい領域では、数(22)式において閾値0.5を0.2などに置き換え、利用条件を厳しくすればよい。関数fは、関数fの接線であるので、ビットレート比の小さい領域では、比較的関数fに近い特性を有し、関数fよりも緩やかな変動特性を持たせることができ、ビットレート比の大きい領域では、点(R,f(R))のごく近傍でのみ関数fを利用することで、関数fの特性から大きく乖離することを防止できる。
 点(R,f(R))を境界として利用する関数fを異ならせることもできる。たとえば、点(R,f(R))よりもビットレート比の小さい領域では、関数fを利用し、点(R,f(R))よりもビットレート比の大きい領域では、関数fを利用するのである。これにより、ビットレート比の小さい領域では、関数fを利用することで、比較的関数fに近い特性を有し、関数fよりも緩やかな変動特性を持たせることができ、ビットレート比の大きい領域では、関数fを利用することで、関数fの特性から大きく乖離することなく、緩やかな変動特性を持たせることができる。
 あるいは、点(R,f(R))よりもビットレート比の小さい領域では、関数fや関数f利用し、点(R,f(R))よりもビットレート比の大きい領域では、関数fをそのまま利用することもできる。
 この発明を添付図面に示す実施態様について説明したが、この発明は、特に明記した部分を除いては、その詳細な説明の記載をもって制約しようとするものではなく、特許請求の範囲に記載する範囲において広く構成しようとするものである。

Claims (8)

  1.  第1のストリームを第2のストリームに変換するトランスコーダ(1)であって、
     第1のストリームと第2のストリームのビットレート比から第1のストリームと第2のストリームの量子化ステップ変換値(α)を算出する変換値算出部(11)と、
     第1のストリームの量子化ステップ値(P)に前記量子化ステップ変換値(α)を乗算することで第2のストリームの量子化ステップ値(Q)を算出する量子化ステップ値算出部(14)と、
    を備え、
     前記変換値算出部(11)は、前記ビットレート比と前記量子化ステップ変換値(α)との関係が属する領域を指定する領域指定関数(f)と、前記領域内において前記ビットレート比と前記量子化ステップ変換値(α)との具体的な関係を決定する関係決定関数(f)とを用いて、前記ビットレート比から前記量子化ステップ変換値(α)を算出する。
  2.  請求項1に記載のトランスコーダ(1)において、
     第1のストリームの全体ビットレート(S)と第2のストリームの全体目標ビットレート(T)との比を基準ビットレート比(R)とすると、前記領域指定関数(f)と前記関係決定関数(f)とは、前記基準ビットレート比(R)に対して同じ前記量子化ステップ変換値(α)が対応付けられている。
  3.  請求項2に記載のトランスコーダ(1)において、
     変換済みの過去の期間の第1のストリームのビットレートと第2のストリームの目標ビットレートとの比を現在ビットレート比(R)とすると、前記領域指定関数(f)を用いて前記現在ビットレート比(R)に対して算出した前記量子化ステップ変換値(α)と、前記関係決定関数(f)を用いて前記現在ビットレート比(R)に対して算出した前記量子化ステップ変換値(α)との差が所定の閾値を越えた場合、前記現在ビットレート比(R)により前記基準ビットレート比(R)を更新する。
  4.  請求項2に記載のトランスコーダ(1)において、
     前記基準ビットレート比(R)の近傍においては、前記関係決定関数(f,f,f)の変化率は、前記領域指定関数(f)の変化率よりも小さい。
  5.  請求項4に記載のトランスコーダ(1)において、
     前記領域指定関数(f)は、
     単調減少の指数関数、
    を含む。
  6.  請求項4に記載のトランスコーダ(1)において、
     前記関係決定関数(f)は、前記基準ビットレート比(R)において前記領域指定関数(f)と交わる負の傾きを有する直線である。
  7.  請求項4に記載のトランスコーダ(1)において、
     前記関係決定関数(f)は、前記基準ビットレート比(R)において前記領域指定関数(f)と交わり、前記基準ビットレート比(R)において負の傾きを有する接線を持つ双曲線である。
  8.  請求項4に記載のトランスコーダ(1)において、
     前記関係決定関数(f)は、前記基準ビットレート比(R)において前記領域指定関数(f)と接する直線である。
PCT/JP2009/054273 2008-08-05 2009-03-06 トランスコーダ WO2010016290A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/057,111 US8615040B2 (en) 2008-08-05 2009-03-06 Transcoder for converting a first stream into a second stream using an area specification and a relation determining function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-201468 2008-08-05
JP2008201468A JP5550032B2 (ja) 2008-08-05 2008-08-05 トランスコーダ

Publications (1)

Publication Number Publication Date
WO2010016290A1 true WO2010016290A1 (ja) 2010-02-11

Family

ID=41663516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/054273 WO2010016290A1 (ja) 2008-08-05 2009-03-06 トランスコーダ

Country Status (3)

Country Link
US (1) US8615040B2 (ja)
JP (1) JP5550032B2 (ja)
WO (1) WO2010016290A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209027A (zh) * 2014-10-24 2017-09-26 莫戈公司 位置传感器组件

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5076083B2 (ja) 2008-02-25 2012-11-21 株式会社メガチップス トランスコーダ
US20110268180A1 (en) * 2010-04-29 2011-11-03 Naveen Srinivasamurthy Method and System for Low Complexity Adaptive Quantization
JP5682387B2 (ja) * 2011-03-15 2015-03-11 富士通株式会社 画像処理装置及び画像処理方法
US9807336B2 (en) * 2014-11-12 2017-10-31 Mediatek Inc. Dynamic adjustment of video frame sampling rate

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078193A (ja) * 1999-06-30 2001-03-23 Media Glue Corp 動画像圧縮符号化信号変換方法および装置
JP2001136530A (ja) * 1999-09-27 2001-05-18 Xsys Interactive Research Gmbh ディジタルトランスコーダシステム
JP2005510980A (ja) * 2001-11-21 2005-04-21 ビクシズ システムズ インコーポレイティド ビデオトランスコーディングにおけるレート制御方法およびシステム
JP2006295449A (ja) * 2005-04-08 2006-10-26 Matsushita Electric Ind Co Ltd レート変換方法及びレート変換装置
JP2008042426A (ja) * 2006-08-04 2008-02-21 Megachips Lsi Solutions Inc トランスコーダおよび符号化画像変換方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US6266374B1 (en) * 1994-10-28 2001-07-24 Lg Electronics Inc. Low level digital video decoder for HDTV having backward compatibility
EP1067798A3 (en) * 1999-06-30 2005-11-30 Media Glue Corporation Apparatus, method and computer program product for transcoding a coded moving picture sequence
US6847656B1 (en) * 2000-09-25 2005-01-25 General Instrument Corporation Statistical remultiplexing with bandwidth allocation among different transcoding channels
US7650277B2 (en) * 2003-01-23 2010-01-19 Ittiam Systems (P) Ltd. System, method, and apparatus for fast quantization in perceptual audio coders
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US7409097B2 (en) * 2003-11-14 2008-08-05 Vweb Corporation Video encoding using variable bit rates
US7397855B2 (en) * 2004-04-14 2008-07-08 Corel Tw Corp. Rate controlling method and apparatus for use in a transcoder
US8019167B2 (en) * 2007-01-03 2011-09-13 Human Monitoring Ltd. Compressing high resolution images in a low resolution video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078193A (ja) * 1999-06-30 2001-03-23 Media Glue Corp 動画像圧縮符号化信号変換方法および装置
JP2001136530A (ja) * 1999-09-27 2001-05-18 Xsys Interactive Research Gmbh ディジタルトランスコーダシステム
JP2005510980A (ja) * 2001-11-21 2005-04-21 ビクシズ システムズ インコーポレイティド ビデオトランスコーディングにおけるレート制御方法およびシステム
JP2006295449A (ja) * 2005-04-08 2006-10-26 Matsushita Electric Ind Co Ltd レート変換方法及びレート変換装置
JP2008042426A (ja) * 2006-08-04 2008-02-21 Megachips Lsi Solutions Inc トランスコーダおよび符号化画像変換方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209027A (zh) * 2014-10-24 2017-09-26 莫戈公司 位置传感器组件
US10436609B2 (en) 2014-10-24 2019-10-08 Moog Inc. Position sensor assembly
CN107209027B (zh) * 2014-10-24 2019-11-22 莫戈公司 位置传感器组件

Also Published As

Publication number Publication date
JP2010041358A (ja) 2010-02-18
US8615040B2 (en) 2013-12-24
US20110134997A1 (en) 2011-06-09
JP5550032B2 (ja) 2014-07-16

Similar Documents

Publication Publication Date Title
WO2010016290A1 (ja) トランスコーダ
JP4790669B2 (ja) トランスコーダ
JP5076083B2 (ja) トランスコーダ
WO2009157579A1 (ja) 画像処理装置及び画像処理方法
JP2007281589A (ja) データ処理装置、データ処理方法及びプログラム
JPH0865677A (ja) 動画像符号化装置
US10027979B2 (en) Variable rate video encoder
JP4784650B2 (ja) 符号化装置、目標符号量調整方法及び記録媒体
JP5098043B2 (ja) トランスコーダ
JP5050158B2 (ja) トランスコーダ
JP5256803B2 (ja) トランスコーダ
US20040161034A1 (en) Method and apparatus for perceptual model based video compression
JP5039976B2 (ja) トランスコーダ
JP5391294B2 (ja) トランスコーダ
JP5232898B2 (ja) トランスコーダ
JP2008252225A (ja) 動画像符号化装置及び方法
JP5412588B2 (ja) トランスコーダ
JP5076085B2 (ja) トランスコーダ
JP2005045736A (ja) 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
JP2003069997A (ja) 動画像符号化装置
JP2004166088A (ja) 符号量制御装置、プログラム及び記録媒体
WO2010073746A1 (ja) トランスコーダ
JP2004297696A (ja) 映像信号符号化装置
JP2004289479A (ja) 動画符号化方法および動画符号化装置ならびに動画符号化処理プログラム
JP2005045515A (ja) 符号化装置、および、符号化方法、並びに、プログラム

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: 09804777

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13057111

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09804777

Country of ref document: EP

Kind code of ref document: A1