text:
|Publication number
|Publication type
|Application number
|Publication date
|Apr 3, 2012
|Filing date
|Oct 13, 2005
|Priority date
|Oct 13, 2005
|Fee status
|Also published as
|Publication number
|Ilie Garbacea, Lulin Chen, Jose R. Alvarez
|Original Assignee
|Maxim Integrated Products, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (33), Non-Patent Citations (21), Referenced by (3), Classifications (11), Legal Events (6)
|External Links: USPTO, USPTO Assignment, Espacenet
This application is related to the co-filed U.S. Patent Applications entitled "Video Encoding Statistics Extraction using Non-Exclusive Content Categories" and "Video Encoding Mode Decisions According to Content Categories," which are being filed on the same date as the present application and are herein incorporated by reference.
The invention relates to data processing systems and methods, and in particular to video encoding systems and methods.
Commonly-used video encoding methods are based on MPEG (Moving Pictures Experts Group) standards such as MPEG-2, MPEG-4 (MPEG 4 Part 2) or H.264 (MPEG 4 Part 10). Such encoding methods typically employ three types of frames: I- (intra), P- (predicted), and B- (bidirectional) frames. An I-frame is encoded spatially using data only from that frame (intra-coded). P- and B-frames are encoded using data from the current frame and other frames (inter-coded). Inter-coding involves encoding differences between frames, rather than the full data of each frame, in order to take advantage of the similarity of neighboring frames in typical video sequences. A P-frame employs data from one other frame, often a preceding frame in display order. A B-frame employs data from two other frames, which may be preceding and/or subsequent frames. Frames used as a reference in encoding other frames are commonly termed anchor frames. In methods using the MPEG-2 standard, I- and P-frames can serve as anchor frames. In methods using the H.264 standard, I-, P-, and B-frames can serve as anchor frames. In methods using the H.264 standard, each macroblock in a frame may be predicted from a corresponding macroblock in any one of a number (e.g. 16) of anchor frames, and/or from another macroblock in the same frame. Different macroblocks in a frame may be encoded with reference to macroblocks in different anchor frames.
Inter-coded (P- and B-) frames may include both intra-coded and inter-coded blocks. For any given inter-frame block, the encoder may calculate the bit cost of encoding the block as an intra-coded block or as an inter-coded block. In some instances, for example in parts of fast-changing video sequences, inter-encoding may not provide encoding cost savings for some blocks, and such blocks can be intra-encoded. If inter-encoding provides desired encoding cost savings for a block, the block is inter-encoded.
Each frame is typically divided into multiple non-overlapping rectangular blocks. Blocks of 16�16 pixels are commonly termed macroblocks. Other block sizes used in encoders using the H.264 standard include 16�8, 8�16, 8�8, 8�4, 4�8, and 4�4 pixels. For each block in a frame, an encoder may search for a corresponding, similar block in that frame's anchor frames or in the frame itself. If a sufficiently similar block is not found, the current block is intra-coded. If a similar block is found, the MPEG encoder stores residual data representing differences between the current block and the similar block, as well as motion vectors identifying the difference in position between the blocks. The difference data is converted to the frequency domain using a transform such as a discrete cosine transform (DCT). The resulting frequency-domain data is quantized and variable-length (entropy) coded before storage/transmission.
Quantizing the data involves reducing the precision used to represent various frequency coefficients, usually through division and rounding operations. Quantization can be used to exploit the human visual system's different sensitivities to different frequencies by representing coefficients for different frequencies with different precisions. Quantization is generally lossy and irreversible. A quantization scale factor or quantization parameter QP can be used to control system bitrates as the visual complexity of the encoded images varies. Such bitrate control can be used to maintain buffer fullness within desired limits, for example. The quantization parameter is used to scale a quantization table, and thus the quantization precision. Higher quantization precisions lead to locally increased bitrates, and lower quantization precisions lead to decreased bitrates.
Determining a quantization parameter for each block to be encoded can be a computationally-intensive process. The choice of quantization parameters affects both system bitrates and distortion, and optimizing quantization parameter choices to achieve simultaneously desired bitrates and distortion characteristics may require computationally-complex steps. Such computational complexity may be of particular concern in systems subject to power limitations, such as mobile video devices.
According to one aspect, a video encoding method comprises determining a plurality of weights for a video image block, each weight being an indicator of a similarity of the video image block to a content category; setting a quantization precision indicator for the video image block to a linear combination of corresponding content-category-level quantization precision indicators weighted according to the plurality of weights; and encoding the video image block using the quantization precision indicator for the video image block.
According to another aspect, a video encoding method comprises setting a value of a block-level encoding parameter for a block in a video frame to a combination of a plurality of content-category-level extensions of the block-level encoding parameter; and encoding the block according to the value of the block-level encoding parameter.
According to another aspect, a video encoding method comprises determining a plurality of encoding parameters for a corresponding plurality of content categories; setting an encoding parameter for a block in a video frame to a combination of a plurality of encoding parameters defined for a corresponding plurality of content category; and encoding the block according to the encoding parameter for the block.
According to another aspect, a video encoding method comprises performing a weighted linear transformation between a set of block-level encoding parameters and a set of corresponding content-category level extensions of the encoding parameters, and encoding video data using the block-level encoding parameters.
According to another aspect, a video data encoding method comprises assigning a content category target rate for each of a plurality of content categories for a video frame; assigning a content category rate slope θr for said each of the plurality of content categories; determining a fraction of frequency-domain transform zero coefficients for said each of the plurality of content categories from the rate slope θr and the content category target rate; assigning a quantization parameter for said each of the plurality of content categories by interpolating between known correspondences between quantization parameter and fraction of frequency-domain zero coefficient vales; and assigning a quantization parameter for a video data block in the video frame by linearly combining quantization parameters assigned for at least a subset of the plurality of content categories with corresponding weights characterizing a similarity of the video data block to the subset of the plurality of content categories.
According to another aspect, a video data encoder comprises a content category processing unit setting a value of a block-level encoding parameter for a block in a video frame to a combination of a plurality of content-category-level extensions of the block-level encoding parameter; and encoding logic connected to the content category processing unit, the encoding logic encoding the block according to the value of the block-level encoding parameter.
The foregoing aspects and advantages of the present invention will become better understood upon reading the following detailed description and upon reference to the drawings where:
In the following description, it is understood that all recited connections between structures can be direct operative connections or indirect operative connections through intermediary structures. A set of elements includes one or more elements. Any recitation of an element is understood to refer to at least one element. The term "logic" refers to special-purpose hardware. Unless otherwise required, any described method steps need not be necessarily performed in a particular illustrated order. A first element (e.g. data) derived from a second element encompasses a first element equal to the second element, as well as a first element generated by processing the second element and optionally other data. The term "quantization precision indicator" may include a quantization step (QStep), a quantization parameter (QP), a percentage of zeros among the quantized transform coefficients (ρ), as well as indicators which can be used to derive a quantization step QStep, quantization parameter QP or zero-coefficient fraction ρ. For example, such an indicator may include a modulation of QP relative to a slice baseline. A combination of elements is a function of the elements having a value achieved by combining the elements by arithmetic and/or algebraic operations, and not merely by selecting one from among many elements. Unless otherwise specified, a combination may be a linear or a non-linear combination. An encoding statistical indicator for a block is a statistical indicator characterizing at least some encoding process steps or a result of performing at least some encoding process steps on the content of the block. Unless otherwise specified, any recited encoder or decoder encompasses special-purpose encoding/decoding logic, as well as software code running on a programmable (e.g. general-purpose) processor. While the following discussion will focus on an exemplary macroblock (a 16�16 block), other block sizes such as various macroblock partition sizes (8�8, 4�8, 8�4, 4�4 blocks) may be used without limitation in some embodiments of the present invention Computer readable media encompass storage media such as magnetic, optic, and semiconductor media (e.g. hard drives, optical disks, flash memory, DRAM), as well as communications links such as conductive cables and fiber optic links.
The following description illustrates embodiments of the invention by way of example and not necessarily by way of limitation.
Controller 118 executes software instructions that control the operation of encoder 110, and in particular instructions that determine macroblock quantization parameters and other encoding parameters as described below. Pre-processing engine 112 receives input data to be encoded, and generates a set of pre-processing statistics characterizing the input data content. In some embodiments, computed statistics include a set of parameters for each macroblock in a frame, such as parameters characterizing the low frequency content, high-frequency content, motion, and color of each macroblock. Encoding engine 120 receives the input data, and generates an encoded standard-compliant output bitstream as described below.
Encoding engine 120 includes an input buffer 122, which receives an input bit sequence, and an output bitstream assembler 136, which outputs a standard-compliant output bitstream. In some embodiments, input buffer 122 may be provided as part of pre-processing engine 112 (
Input buffer 122 receives an input bit sequence and buffers the input frame data for subsequent processing. Buffering is used for example for encoding P-frames or B-frames for which the encoding order may be different from the input/display orders. For inter-encoded data, differential processing unit 126 subtracts compensated coded anchor frame data from corresponding input frame data to generate residuals to be encoded. Intra-coded data is not processed by processing unit 126. FDT unit 130 transforms space-domain data (intra-encoded or residual data) into corresponding frequency-domain data. Quantization unit 132 quantizes the frequency-domain data using stored quantization table data and quantization parameters received from controller 118. Variable-length encoder 134 applies an entropy coding operator to quantized data received from quantization unit 132, and, for inter-coded frames, to motion vector data received from motion compensation unit 124.
Motion estimation/compensation unit 124 receives input uncompressed video data from input buffer 122 and reference frame data from reference frame storage unit 148, and outputs prediction and corresponding motion vector data. De-quantization unit 142 de-quantizes data received from quantization unit 132, and IFDT unit 144 applies an inverse discrete cosine transform operator to the resulting de-quantized data. Processing unit 146 adds prediction data received from motion compensation unit 124 to decoded residuals received from IFDT unit 144 to generate inter-encoded reference frames. Storage unit 148 stores decoded reference frames.
Intra-encoded frame data follow essentially a straight path through encoder 120, from frame switch/reordering unit 122 to bitstream assembler 136. For intra-frames serving as reference (anchor) frames, the intra-encoded data is decoded by de-quantization unit 142 and IFDT unit 144 to generate a reference frame, which is stored in reference frame storage unit 148. For inter-coded frames, inter-coded blocks are encoded differentially, with respect to corresponding intra-coded reference frame blocks stored in reference frame storage unit 148. Intra-coded reference frame (prediction) data is subtracted from current frame data by processing block 126, and the resulting residuals are transformed by FDT unit 130, quantized by quantization unit 132, and encoded by variable-length encoder 134. If the inter-coded frame serves as an anchor frame, a reference frame is constructed by decoding the frame. Processing block 146 adds residual data generated by de-quantization unit 142 and IFDT unit 144 to intra-coded prediction data received from motion compensation unit 124 to generate the reference frame. The reference frame is stored in reference frame storage unit 148, and is used to encode other inter-encoded frames.
Statistics unit 160 extracts a set of frame statistics for a current frame and/or a number of frames preceding the current frame in display order. In some embodiments, the frame statistics include spectral statistics such as indicators of low frequency (e.g. DC) content and high-frequency content in the current frame, quantization precision indicator history data such as p history data and quantization-parameter (QP) history data, and other encoding parameter data such as rate-distortion statistics. In some embodiments, statistics unit 160 generates a set of content-category level statistics by linearly combining a set of macroblock-level statistics as described in detail below.
Content category processing unit 162 receives content-category-level statistics from statistics unit 160. Content category processing unit 162 also receives content-category-level encoding parameters, rate data and other data from controller 118. Content category processing unit 162 generates block-level encoding parameters and encoding-mode decision indicators from content-category level parameters and mode decision indicators, as described in detail below. The block-level encoding parameters and mode-decision indicators are provided to controller 118, for use in controlling the operation of encoder 110. As an illustration, content category processing unit 162 generates block-level quantization parameter modulations used to control the quantization precision used by quantization unit 132. In some embodiments, content category processing unit 162 may include a programmable processor, or may be included as part of encoder controller 118.
In some embodiments, an encoding parameter of particular interest is a quantization precision indicator such as a quantization parameter (QP), which can be used to control the output bitstream rate.
In a step 36, a plurality of content category slopes are determined for a corresponding plurality of content categories. Each content category is assigned a corresponding category slope. A distortion parameter is also determined for each content category (step 38). The determined category slopes and distortion parameters are used, among others, to assign a target rate for each content category (step 40). In a step 44, each content category target rate is used to determine a corresponding content category quantization parameter (QP). The content category QPs are used, in linear combinations, to assign a quantization parameter for each macroblock to be encoded (step 46). The assigned macroblock QPs are used to encode the macroblocks (step 48).
In some embodiments, an encoding parameter (e.g. a quantization parameter QP, among others) for a macroblock m is set to be a linear combination of corresponding content category encoding parameters according to the relation
wherein pm is an encoding parameter for a macroblock m, Pr is a corresponding encoding parameter defined for a content category (region) r, Wm,r is a weight characterizing a similarity of the macroblock m to content category r, K is a normalization constant, and R is the set of content categories r.
In some embodiments, each weight Wm,r depends solely on a relationship between a content of macroblock m and a set of characteristics defining the content category r, and not on the properties of other (e.g. neighboring) macroblocks. In some embodiments, each weight Wm,r may depend on the content of macroblock m and also on the content of other, e.g. neighboring, macroblocks within the same frame or within other frames. Making content category weight determinations based on the properties of external content may allow limiting intra-frame (spatial) and inter-frame (temporal) fluctuations in quantization parameter weights.
In some embodiments, a content category-level encoding parameter (e.g. a slope θ, among others) for a content category r is set to a linear combination of corresponding macroblock parameters according to the relation
wherein pm is a block-level parameter for a macroblock m, Pr is a corresponding parameter defined for a content category r, wm,r is a weight characterizing a similarity of the macroblock m to content category r, k is a normalization constant, and M is the set of macroblocks m. In preferred embodiments, the weights wm,r of eq. [1b] are identical to the corresponding weights Wm,r of eq. [1a]. Eq. [1 b] is particularly useful for generating content-category level statistics from block-level statistics.
Exemplary Content Category Definitions
In some embodiments, each weight wm,r for a macroblock m is proportional to a number of neighboring macroblocks that meet a similarity condition with respect to a given content category. Consider a set M of macroblocks m, and let Vm be the set 8 neighboring macroblocks, i.e. macroblocks located above, left, right, below, above left, above right, below left and below right with respect to a macroblock m. A similarity measure sm for each macroblock m may be defined as an integer number, on a scale of 0 to 8, of neighboring macroblocks that meet a similarity condition with respect to a macroblock parameter pm provided that a qualification condition qm for the macroblock m is satisfied.
Formally, a preliminary similarity parameter s: M→{0, . . . , 8} may be defined as
s m =|{xεV m |−T<p m −p x <T and q m is true}| [2]
wherein T is a threshold. The notation s: M→(0, . . . , 8) indicates that the similarity function s takes as an argument a macroblock m from the macroblock set M, and yields an integer value between 0 and 8. That integer value is the number of neighboring macroblocks (in eq. [2], macroblocks x belonging to the set Vm) for which the absolute value of the difference between pm and px is less than the threshold T, with an overriding rule that the integer value is zero if the qualification condition qm is not met for the current macroblock m. Neighbor similarity conditions other than the threshold condition shown in eq. [2] may be used in some embodiments. In eq. [2], pm is the value of the parameter p for the current macroblock m, and px denotes the values of the parameter p for the neighboring macroblocks x.
The macroblock parameters pm, the qualification condition qm, and the threshold T (or in general, a similarity condition) may be chosen to identify meaningful areas or objects in a picture, such as water or sky. For example, to identify sky areas, the macroblock parameter pm may be an average luminance and the qualification condition qm may call for the average color to be a shade of blue. Sky may be further identified by an overrepresentation of low-frequency content relative to high-frequency content. In some embodiments, the macroblock parameter pm is a low-frequency content indicator indicating an average low-frequency content for the block, while the qualification condition qm is a function of one or more parameters such as luminance low/high frequency content, motion, edges, and chrominance (color detection). Consequently, the similarity function sm may depend on such multiple variables characterizing texture, motion, edge, and color content.
In some embodiments, the macroblock parameter pm is compared over the neighboring macroblocks while the qualification condition qm is tested only for the current macroblock itself. In some embodiments, the macroblock parameter pm and the qualification condition qm are chosen such that the computational complexity of calculating each of the set of eight values pm is substantially less than the complexity of calculating a value of qm for a given macroblock. In such embodiments, a relatively complex qualification condition may be used as a threshold determination, and a computationally-simple test may be used to compare the current macroblock m to its neighbors.
In some embodiments, a similarity measure that takes into account neighboring macroblock content (e.g. a similarity measure such as the one defined by eq. [2]) is used for some content categories, while other content categories may employ similarity measures that take into account only the content of the current macroblock, and not the content of external (e.g. neighboring) macroblocks.
In some embodiments, the similarity measures sm are spatially and temporally smoothed out after an initial computation according to eq. [2]. Spatial smoothing is performed within the current frame, while temporal smoothing is performed across successive frames. Spatial and temporal smoothing improve the spatial (within a picture) and temporal (across pictures) stability of the assignment of content category similarity measures to given macroblocks. Spatial smoothing decreases the chance of spurious, isolated similarity assignments within a frame. Temporal smoothing decreases the chance of large similarity assignment variations across frames for content areas that stay visually relatively unchanged across frames. In some embodiments, spatial filtering is performed by applying horizontal and vertical median filters to the similarity measure data generated using eq. [2]. A median filter assigns a function value for a given macroblock to be equal to the median of the function values for neighboring macroblocks. For example, a 3�3 median filter assigns the value at the center of a 3�3 square to be the median of the eight values adjacent to the center; the median may be taken to be the average of the two middle values in the distribution. In some embodiments, temporal domain (across pictures) filtering is performed by applying a low-pass recursive filter.
After spatial and temporal filtering of similarity values determined according to eq. [2], the set of final, filtered similarity measures sm characterizes a corresponding content category r. In some embodiments, a content category r is fully characterized by the following elements: macroblock parameter pm, threshold T, qualification condition qm, spatial vertical and horizontal median filters, and temporal recursive low pass filter. For the same video sequence, multiple macroblock parameters pm and qualification conditions qm can be used to define multiple content categories r. In some embodiments, the spatial median and temporal recursive filters do not change from content category to content category.
Generally, a similarity parameter for a current macroblock may be defined with respect to each content category of interest, or formally s: M�R→{0, . . . , 8}, where R is the set of all content categories. That is, a value sm,r is defined for each macroblock m and content category r. As above, the similarity coefficient sm,r is proportional to the weight wm,r in eq. [1a]. In the following discussion, the similarity measure sm,r is treated by default as a value specific for each macroblock and content category.
The complete set of similarity measures sm,r classifies all macroblocks with respect to each content category and its complement (exterior): if a macroblock has a similarity measure of s, then 8−s is a dissimilarity measure, or the similarity of the content category's complement.
For each content category r, the complement (exterior)
The similarity measure s: M�R→{0, . . . , 8} may be defined to satisfy the relationship
s m,r +s m,
The complement content category
In some embodiments, a set of eight content categories is defined as shown below in Table 1:
The low and high thresholds for texture and motion may be defined as fractions of corresponding frame averages. In some embodiments, a texture high/low threshold is defined at a level between 10% and 50% (e.g. about 25%), of the current frame texture average, while a motion high/low threshold is defined at a level between 5% and 25% (e.g. about 10%) of the current frame motion average. Suitable texture and motion parameters may be defined by applying appropriate filter(s) to video data, as is known in the art. For example, a texture measure may include the results of applying one or more edge detection filters to video data. A motion measure may include a result of identifying differences in intensity and/or color between co-located pixels in the current, previous and subsequent frames.
As Table 1 shows, some macroblocks may belong to more than one content category at the same time. For example, a macroblock belonging to any of the categories 5-8 will also generally belong to one of the categories 1-4. In table 1, category 1 corresponds generally to flat, motionless areas such as sky or other flat surfaces. Category 2 corresponds generally to flat surfaces exhibiting more motion. Category 3 corresponds to textured surfaces with relatively low motion, while category 4 corresponds to textured surfaces with relatively high motion. Category 5 defines red objects. Categories 6 and 7 correspond generally to grass-like areas showing low and high motion, respectively. Category 8 corresponds generally to water.
In some embodiments, the set of defined content categories may include a default or background content category, chosen for any block which does not otherwise belong to another defined content category. In such embodiments, the encoder may check whether a given block belongs to each of a primary subset of content categories. If the encoder does not belong to any primary content category (e.g. the similarity coefficients for all primary content categories are zero), the encoder assigns the block to the default content category, with a maximum similarity coefficient value.
In some embodiments, a content category selected from the categories shown in Table 1 is used in a given frame only if that content category has non-zero similarity measures for a number of macroblocks in a pre-defined range, for example between 10% and 90%, or between 5% and 95%, of the total picture macroblocks. For each content category, the encoder calculates the number or fraction of macroblocks in the frame that have non-zero similarity coefficients with respect to the content category. If the macroblock fraction is within the allowed range (e.g. between 10 and 90%), the content category is used in subsequent calculations as described below. If the macroblock fraction is outside the allowed range (e.g. less than 10% or more than 90%), the content category is deemed not to be meaningful and is not used in subsequent calculations. Not using a content category in subsequent calculations may be achieved by setting the similarity values for that content category to zero for all macroblocks in the frame, or by simply ignoring that content category in subsequent calculations. A content category that covers a small picture area or almost the entire picture may not provide meaningful distinguishing information that would significantly improve encoding allocation decisions. In some embodiments, using a frame-level qualification condition for content categories may reduce the computational cost of using content categories, particularly if larger numbers (e.g. tens, hundreds, or even thousands) or content categories are defined and employed.
Correspondence between Macroblock and Content Category Parameters
The exemplary content categories discussed above may be thought of as simple modalities of associating specific compression decisions to meaningful areas or objects present in a video sequence. In an encoding system in which encoding parameter (e.g. quantization parameter) decisions are made at the macroblock level, encoding parameters determined at the content category level are translated to the macroblock level. After encoding, as part of a feedback loop, macroblock-level statistics may be extended to the content-category level. For example, a picture bitrate may be seen as the sum of the bitrates of a content category and its complement. Content category statistics are employed to select encoding parameters at the content category level, as described below.
Consider a macroblock level parameter pm and its corresponding linear content-category-level extension Pr. If the macroblock-level parameter and its extension are linearly related, then the extension Pr may be defined such that
since each content category and its complement completely cover all macroblocks. If eq. [5] does not hold, then Pr is not properly defined as a linear extension of pm. One way to satisfy eq. [5] is to define Pr as
The 1/8 normalization constant in eq. [6] originates from the chosen range of values {0 . . . 8} taken on by the similarity parameter sm,r. If pm is the macroblock size measured in macroblocks, i.e. pm is 1 for any macroblock m, then the content category size Nr in macroblocks is
As in eq. [5], a content category and its complement cover all macroblocks, so
N r +N
wherein |M| is the total number of macroblocks. Other examples of macroblock parameters pm may include the macroblock bits, the number of non-zero coefficients, or the sum of (squared) prediction errors.
Conversely, a linearly-defined content category parameter Pr may be converted to a corresponding macroblock level parameter pm. If pm is to be proportional with the similarity values for all content categories, pm may be defined as
At the picture level, i.e. for the whole set M of macroblocks,
which means that the content-category parameter Pr contributes to the sum of the macroblock-level parameters proportionally with the content category size.
For example, consider a content-category level parameter Pr defined as a relative QP change (adjustment) suggested on a category-by-category basis. Each macroblock will have its own relative QP change determined according to all content categories. Minimizing the picture-level average QP change (due to rate control constraints, for example) is then equivalent to setting
Rate-Distortion Analysis
Video bit rate is commonly controlled by the quantization parameter QP. A core problem in rate control is to estimate the rate-quantization and distortion-quantization functions commonly known as the rate-distortion functions. Based on estimated rate-distortion functions, the encoder selects suitable quantization parameters to achieve the target bit rate and/or picture distortion (quality). The target bitrate may be determined by parameters such as target buffer level, frame rate, channel bandwidth, and actual buffer occupancy. The target distortion may be computed as mean-square error or absolute difference between the coded image and the original. Generally, an encoder may attempt to minimize the picture distortion given target rate constraints.
Empirically, a rate-distortion curve may be interpolated between several sampled values. A rate-distortion curve describes the interdependence between the system rate and distortion. A rate-distortion interpolation process may have relatively high computational requirements, and may not yield much insight into the video coding process. A rate-distortion curve may also be derived using analytical estimations, i.e. mathematical models based on the properties of video DCT coefficients. Gaussian and Laplacian distributions are the most popular statistical models used for quantization-parameter-domain (q-domain) rate-distortion analysis. Such q-domain models may employ complex and highly non-linear expressions, and may exhibit control errors and performance degradation specific to each video coding system
In some embodiments, rate-distortion analysis may be performed in an alternative domain. One such domain, called the ρ-domain, is based on the percentage of zeros among the quantized DCT coefficients. A ρ-domain model is linear, may be unified for several coding systems (JPEG, MPEG-2, 4, H.263, 264), and is capable of controlling the bit rate relatively accurately and robustly.
In some embodiments, a linear rate-quantization model may be used to estimate the effect of quantization parameter changes on the system rate. Let ρ be the percentage of zeros among the quantized DCT coefficients for a quantization parameter QP. There is a one-to-one mapping between ρ and QP, since ρ monotonically increases with QP. The one-to-one mapping may not have a closed form (linear, polynomial, exponential, logarithmic, etc).
Let rate curves Qnz(ρ) and Qz(ρ) be the pseudo-coding bit rates for nonzero and zero DCT quantized coefficients. The bit rate for non-zero coefficients is proportional to the average number of non-zero coefficient bits, while the bit rate for zero coefficients is proportional to the average zero-coefficient run length. The rate in the ρ-domain is a linear combination of the characteristic rate curves Qnz(ρ) and Qz(ρ). Generally, the non-zero coefficient rate Qnz(ρ) is linear and the zero-coefficient rate Qz(ρ) has a minor contribution, so the total rate may be approximated as a linear function of ρ:
R(ρ)=θ(1−ρ). [12]
The parameter θ, called slope, is a constant for a given frame and video system (encoding algorithm). This linear relation has been statistically verified by encoding various sequences multiple times with 16 to 24 different quantization parameters and running linear regressions on the resulting rates with respect to the percentages of zero DCT coefficients. For example, sample tested sequences passed the Fisher null hypothesis test with associated probability of 99.999% and the coefficient of determination r2 (i.e. the proportion of rate variation explained by the linear regression) is more than 95%. From eq. [12], a value of the slope θ may be taken to be:
Eq. [13] allows computing θ values from observed R and ρ values. If the slope θ remains constant across a sequence of frames, eq. [13] and a slope estimate from past frames may be used to determine a ρ value that yields a desired rate R in a current frame.
In some embodiments, a linear distortion-quantization model may be used to estimate the effect of quantization parameter changes on picture distortion. Let σ2 be the picture prediction error variance. The ρ-domain mean square error distortion may be taken to be
D(ρ)=σ2 e −α(1-ρ) [14]
where α is constant. An equivalent linear form is
A theoretical justification for the exponential form of D(ρ) in eq. [14] is based on a Laplacian distribution of frequency-domain (e.g. DCT) coefficients. In general, in some embodiments, a generalized-Gaussian (Laplacian or Gaussian) model may be used to approximate frequency-domain coefficient distributions.
The linear relation of eq. [15] was tested by encoding various sequences multiple times with 16 to 24 different quantization parameters and running linear regressions on the resulting rates with respect to the percentages of zero DCT coefficients. The variance a was computed based on the prediction error DCT data, i.e. the difference between the original and (reconstructed) prediction. The estimation process may be simplified if the prediction error average is zero. Tested sequences passed the Fisher null hypothesis test with an associated probability of 99.999%. The coefficient of determination r2 (i.e. the proportion of rate variation explained by the linear regression) varied from 95% to 90%. The 90% determination coefficient suggests that on a frame-by-frame basis, an observed value of the distortion parameter a defined as
may be less reliable (stable) when used in a distortion-quantization model than the slope parameter θ used in a rate-quantization model according to eq. [13].
Rate Control at the Content Category Level
As eq. [1a] indicates, macroblock-level quantization parameters may be derived from content-category-level quantization parameters. In some embodiments, to determine content-category-level quantization parameters, the encoder determines for each content category a content category slope θ, distortion parameter α, target bitrate RT, and quantization parameter QPT. After the entire picture is encoded, the bitrate, percentage of zero coefficients, and slope values may be updated for each content category, for use in encoding subsequent pictures.
If Rm and NZm are the macroblock bitrate and number of non-zero coefficients, the corresponding content category bitrate Rr and number of non-zero coefficients NZr may be defined according to eq. [6] as
If each macroblock has NCm=384 coefficients, a content category's total number of coefficients is
where Nr is the size (in macroblocks) of content category r.
The percentage of zero coefficients n the content category r is then
The content category slope θr may be expressed as an average slope per macroblock in the content category, i.e.
For a prediction error average of zero, a content category prediction error variance σr 2 is
where SSPEm is the macroblock sum of squared prediction error. As a function of the macroblock sum of squared errors SSEm a content category distortion Dr and distortion parameter αr are
Based on a picture target bitrate RT, each content category r is allocated a bitrate of Rr T. If each content category r and its complement
R r T +R
In general, not all content categories are equally important for achieving an optimal visual quality. In some embodiments, more bits are allocated to content categories whose contribution to overall picture quality is subjectively higher.
Each content category r may be assigned a relative weight wr. In some embodiments, the content category weights may be fixed weights, empirically determined ahead of time. In some embodiments, the content category weights may be dynamically adjusted for each picture based on one or more complexity measures such as variance and motion.
In some embodiments, the picture target rate may be allocated among content categories according to the relations:
According to eq. [25], the rate allocated to a given content category is proportional to the content category weight and the size of the content category. Eq. [25] provides a relatively simple model for rate allocation. At the same time, the relations of eq. [25] may not take into account the effects of rate allocation decisions on distortion.
In some embodiments, the content category rate allocation decisions are performed according to their effects on one or more distortion parameters. A distortion-quantization model allows optimally allocating bits over multiple encoding entities or sources in order to minimize the total distortion for a given bit rate. Encoding entities/sources may include like pictures, objects, groups of macroblocks, and/or content categories. In some embodiments, the bit allocation process attempts to minimize the picture distortion subject to a given target bit rate.
A picture distortion D as a function of a content category distortion Dr may be expressed as
Eq. [26] may be generated by expressing the distortion for the category r and its complement according to eq. [22]:
If the picture rate R as a function of the content category rate Rr is
R=R r R+R
then the optimum bit allocation problem may be defined as
subject to
wherein RT is the target rate. Eqs. [29-30] formally express the goal of minimizing the total picture distortion (eq. [29]) subject to a given target bit rate (eq. [30]).
If the variance σr 2, distortion parameter αr, and slope θr are known, the bit allocation optimization problem of eqs. [29-30] becomes (see eqs. [13-14]):
subject to
Using a Lagrange multiplier technique, the constrained minimization problem of eqs. [3-32] has a solution
A rate-distortion optimization process may employ an optimization parameter λ, generally known in the field. A content category quantization parameter QPr T corresponding to a content category target rate computed according to eq. [33] may be determined by interpolation, using the percentage of non zero coefficients ρr T, as described in detail below.
If the current frame is similar enough to the immediately previous one (for example, if there is no scene change), the slope θr and distortion parameter αr may be safely estimated based on the past history of the two parameters. The historical values of the slope and distortion parameters may be averaged, smoothed, or simply used as such. In case of a scene change, a scene-change I picture is created and its parameters may be assigned empirically-estimated values. In some embodiments, a multi-encoding and interpolation process may be used to estimate slope and distortion parameter values following a scene change: the first frame after the scene change is encoded with multiple (e.g. 2) sample QP values to measure slope and distortion parameters for each sample QP value, and desired slope and distortion parameters for a different QP are determined by interpolation from the sample-QP encoding results.
As long as there is no scene change, the slope θr variation from the immediately previous picture to the current for a given content category r one is generally minimal. The target percentage of zero coefficients ρr T is
In some embodiments, the target QPT may be found by interpolation as described below. There is a one-to-one relation between rate (or ρ, the percentage of zero coefficients) and QP, even if there isn't necessarily a closed-form formula (linear, polynomial, exponential, logarithmic, etc) to describe the relation. In general, the percentage of zero coefficients corresponding to a given QP may be estimated by computing an approximate distribution of frequency-domain coefficients. Such an estimation process may be relatively computationally-intensive. In some embodiments, ρ is explicitly determined for a few QP values, and unknown QPT values are calculated by interpolation between the nearest known QP values. Such an interpolation technique may be relatively less computationally demanding.
The accuracy of such an interpolation technique may be evaluated by determining the difference between the ρS,N value estimated for a certain QPS while encoding with a different QPN and the corresponding ρS value determined when encoding with QPS. The precision of the estimate depends on the distribution of coefficients, as illustrated by the data of Table 2. Table 2 shows computed differences between ρS,N (estimated by interpolation) and ρS (true value) for two test bit sequences, for several QPN ranges and differences between QPS and QPN. Table 2 lists both average and maximum errors for each range. As shown, large QPN values tended to allow better ρS,N estimates. At the same time, on a relative scale, if the QPS is QPN+/−16%, the relative ρS,N versus ρS average error was observed to be consistently less than 5%.
TABLE 2 Sequence A Sequence B ρS,N vs. ρS ρS,N vs. ρS ρS,N vs. ρS ρS,N vs. ρS QPN QPS vs. QPN Ave Err Max Err Ave Err Max Err [0, 20) [+/− 4%, 0.23% 0.79% 0.40% 0.52% +/− 8%) [+/− 8%, 0.50% 1.17% 0.27% 0.59% +/− 16%) [+/− 16%, 0.60% 1.76% 1.13% 3.04% +/− 32%) [20, 27) [+/− 8%, 0.99% 2.48% 0.24% 1.18% +/− 16%) [+/− 16%, 1.65% 3.72% 0.42% 2.07% +/− 32%) [27, 34) [+/− 4%, 0.35% 1.12% 0.03% 0.14% +/− 8%) [+/− 8%, 1.03% 3.14% 0.09% 0.53% +/− 16%) [+/− 16%, 1.42% 4.03% 0.38% 1.09% +/− 32%) [34, 52) [+/− 4%, 0.07% 0.29% 0.02% 0.11% +/− 8%) [+/− 8%, 0.39% 1.37% 0.10% 0.76% +/− 16%) [+/− 16%, 1.83% 3.67% 0.23% 1.45% +/− 32%)
Rate Control at the Macroblock Level
As described above (see eqs. [1a-b]), the content category QPs may be used to assign a QP value for each macroblock to be encoded. In particular, content category QP adjustments may be used to set macroblock-level QP adjustments. The QP adjustments are used to modulate a baseline-level QP for the macroblock. Such an adjustment is first assigned at the content-category level, and then propagated to the macroblock level by linear combination using similarity measures as weights. If δr is a content-category-level level QP modulation, a macroblock-level QP modulation δm may be assigned to be
In some embodiments, modulations determined according to eq. [35] are added to a slice-level QP to determine a QP for each macroblock:
QP m =QP slice +Cδ m [36]
wherein QPslice is a baseline quantization parameter for all macroblocks in a given slice, and C is a normalization constant used to scale the δm term with respect to QPslice as desired for a given scale chosen for δm. In some embodiments, the scale for δm may be chosen such that C=1.
In some embodiments, the set of content-category level QP modulations (relative QP changes) may be defined as a mixture of positive and negative values (increase for some content categories, decrease for others) and scaled such that the average QP modulation for all macroblocks in a slice is zero, i.e.
Such a constraint may be particularly desirable when rate control is active. If a QP baseline is defined over an image unit other than a slice (e.g. over a frame), the QP modulation summation of eq. [37] may be performed over that image unit.
Multiple Content Category Usage Modes
In some embodiments, the encoder is capable of employing several usage modes for the defined content categories. In some embodiments, available usage modes include proportional, dominant, priority, and all-inclusive. The usage mode used by the encoder may depend generally on the particular variable to be computed and/or decision to be made. Some parameters, such as QP and λ, are computed using a proportional content-category usage mode. For other computations or decisions, such as macroblock encoding mode decisions or computations of parameters used in macroblock encoding mode decisions, the content categories may be used in a dominant, priority, or all-inclusive mode. Each type of computation or decision may have a corresponding usage mode determined by the algorithm used to make that computation/decision. In some embodiments, each content category may enable one or more associated usage modes selected from among the four available usage modes. In some embodiments, the proportional mode is used for computing variables that scale, such as QP modulations and λ, while the other modes (dominant, priority, and all-inclusive) are used for binary decisions such as encoding mode decisions. In other embodiments, some scalable parameters may be set using one of the dominant, priority, and all-inclusive modes, while some binary decisions may be made according to a value of a parameter determined using the proportional mode approach.
The proportional mode is described generally by Eqs. [1a-b] and [35] above. The proportional usage mode may be used for computing encoding parameters such as δm (macroblock-level QP modulation) and λn, (macroblock-level λ) from corresponding content-category level parameters, among others. In some embodiments, a proportional-like usage mode may also be used to make encoding mode decisions. For example, a binary encoding mode decision for a block may be made according to a result of a weighted linear combination of content category parameters as shown in eq. [1a].
In a dominant mode, a block encoding parameter is set or an encoding mode decision is made according to a corresponding encoding parameter or mode decision defined for a maximum-similarity content category. For example, a block encoding parameter may be set to be equal to a corresponding content-category level parameter for the maximum-similarity content category. Encoding mode decisions may include decisions to encode a block using inter- or intra-encoding, choices of block/partition sizes, as well as choices of intra prediction directions. A block encoding mode may be set to a preferred encoding mode defined by the maximum-similarity content category, such as an encoding mode using a 16�16 block size and inter-encoding.
In a priority mode, a block encoding parameter is set or an encoding mode decision is made according to a corresponding encoding parameter or mode decision defined for a priority content category, as long as a similarity measure of the block to the priority content category meets a condition (e.g. is non-zero, or exceeds a threshold). An exemplary priority content category is a red content category (see Category 5 defined in Table 1 above), characterized by a minimum required amount of red content. Red content in a video image block beyond a minimum threshold (e.g. predominantly red content) can be highly predictive of the block encoding properties, regardless of other spectral properties of the block. In some embodiments, video image blocks that are sufficiently red are encoded according to parameters/encoding modes set by the red content category, substantially independently of the similarity of the blocks to other defined content categories. Another exemplary priority content category may be a content category defined for data exhibiting a minimum amount of color saturation, among other characteristics.
An exemplary encoding mode decision according to a priority content category is a decision of enabled intra-prediction directions for a block. Consider the set of neighboring macroblocks 300 shown in
In an all-inclusive mode, the encoder allows any encoding mode permitted by any region having a minimum (e.g. non-zero) similarity to the current block. For example, some content categories may restrict an encoding mode to particular intra-prediction directions or macroblock partition sizes. In an all-inclusive mode, an encoding mode is allowed provided it is enabled by any content category having a minimum similarity with respect to the current macroblock, even if such an encoding mode is not enabled by other content categories.
The proportional, dominant, and priority encoding modes may be better understood by considering a simple example. Consider a system using 3 regions, for which the encoder has assigned some exemplary parameter P values of −6, +2, and −2, respectively. As above, similarity measures range from 0 to 8. For this illustration, assume that the third content category has the highest priority among the three content categories.
For a macroblock having a similarity value set of {0,8,0} with respect to the three content categories, a proportional-mode parameter value Pm computed according to eq. [35] is:
For the dominant mode, the corresponding Pm value is +2, since the second content category has the highest similarity measure with respect to the current macroblock. In the priority mode, since the priority content category (the 3rd content category) has a similarity measure of zero with respect to the current macroblock, the encoder may switch to one of the proportional or dominant mode values.
For a macroblock having a similarity value set of {1,5,3} with respect to the three content categories, a proportional-mode Pm value is
For the dominant mode, the Pm value is +2, since the second content category has the highest similarity measure with respect to the current macroblock. For the priority mode, the Pm value is −2, the P value set for the priority content category (the 3rd content category)]
In some embodiments, encoding-mode decisions for each block are facilitated by use of an encoding-mode bitmask for the block. The encoding-mode bitmask for a block indicates which encoding modes (e.g. intra/inter, intra prediction directions, partition sizes, etc.) are enabled for the block. The encoding-mode bitmask for a block may be generated from corresponding content-category encoding mode bitmasks, as desired according to the content category usage mode employed to make the encoding mode decision. Each content category may have an associated encoding-mode mask indicating which encoding modes are enabled by the content category. For example, if there are 16 total encoding modes, the encoding mode mask for a content category may include 16 bits, each indicating whether the corresponding encoding mode is enabled by the content category. In an all-inclusive content-category usage mode, an encoding-mode bitmask for a block may be generated by performing a bitwise OR operation on all bitmasks for content categories having non-zero similarity with respect to the block of interest. The resulting enabled encoding modes are evaluated for selection for the block. In a dominant usage mode, the encoding mode bitmask for the block is set to the encoding mode bitmask of the dominant content category. In a priority usage mode, the block encoding mode bitmask is set to that of a priority content category if one with non-zero similarity is found, and to the bitmask of a dominant content category otherwise. If no dominant category is found, all encoding modes allowed by the similar content categories may be evaluated for selection.
In some embodiments, the content-category-based encoding processes described above are performed selectively only if a current frame meets a qualification condition. For example, if a measure of motion within the current frame exceeds a predetermined threshold, the current frame may be encoded without using content categories.
Exemplary Content-Category-Based Encoding Parameters, Encoding Mode Decisions, Statistics
In some embodiments, block-level encoding parameters determined by encoder 110 according to corresponding content-category-level parameters include: a QP modulation δm, a rate-distortion Lagrange multiplier parameter λ, a set of dead-zone parameters, and a set of rate-offset parameters.
Exemplary ways of deriving a block-level QP modulation δm, from a set of corresponding content-category-level QP modulations are described above. The Lagrangian rate-distortion optimization parameter λ, may be expressed as λ=mant*2exp. The variables mant and exp can be estimated at the block level from corresponding content-category-level values using a proportional usage mode approach as described above. In a dominant usage mode, block-level mant and exp values may be derived from the slice QP, dominant content category QP, or block-level QP value.
Dead-zone intervals may be used to change the quantization slope and/or set the final transform coefficient values to 0, 1, or other (e.g. random) values. In some embodiments, block-level dead zones are determined using a dominant usage mode, i.e. block-level dead-zone settings are set equal to those of the dominant content category.
Rate-offset parameters may be used to offset the coded residue bitrate used in the rate-distortion optimization process in order to bias the process. Luma and chroma residue rates for inter encoding modes may be offset as follows: for an encoding mode using a proportional content-category usage-mode, a rate offset is added when the residue (luma plus chroma) is non-zero, and the residue rate is set to a specific value when the luma and chroma residues are zero; for inter-encoding modes using a dominant content-category usage mode, the luma and/or chroma residues are forced to zero.
In some embodiments, block encoding mode decisions are made according to parameters defined by similar content categories. The dominant content-category usage mode is particularly useful for making block encoding mode determinations. Exemplary encoding mode decisions include decisions between intra and inter-encoding modes. Within intra modes, encoding mode decisions may include decisions on macroblock partition sizes (e.g. 4�4 or 8�8) and prediction directions (horizontal, vertical, plane, diagonal).
In some embodiments, a set of statistics computed by pre-processing engine 112 (
The preferred systems and methods described above allow assigning video encoding parameters and making block encoding mode decisions in a relatively simple yet effective way. The methods allow achieving relatively good visual quality performance for relatively limited computational costs and rate and power requirements. Good visual performance in low-power environments may be particularly useful in portable video devices, or other devices operating on batteries or otherwise subject to power limitations.
Setting an encoding parameter value for a macroblock to a combination of values determined for non-exclusive content categories may be particularly useful for macroblocks situated along object or area boundaries, for which an assignment decision may be inherently ambiguous. For example, in a simple illustration, a macroblock whose content is half sky and half grass may be encoded with a quantization parameter approximately half-way between quantization parameters selected for grass and sky for the picture as whole.
The computational efficiency of the preferred video encoding systems and methods described above is also enhanced by performing the rate-distortion analysis in the ρ-domain, as described above. In some embodiments, however, other methods or variable domains may be used to assign content-category level quantization parameters.
The present invention further provides computer systems programmed to perform the method steps described above, as well as computer-readable media encoding instructions to perform the preferred method steps described above.
It will be clear to one skilled in the art that the above embodiments may be altered in many ways without departing from the scope of the invention. Accordingly, the scope of the invention should be determined by the following claims and their legal equivalents.
|Cited Patent
|Filing date
|Publication date
|Mar 6, 1990
|Jan 7, 1992
|U.S. Philips Corporation
|Device for encoding digital video signals including means for classifying the video signals into distinct families prior to normalization and quantization
|Nov 8, 1991
|May 25, 1993
|At&T Bell Laboratories
|Video signal quantization for an mpeg like coding environment
|Oct 5, 1992
|Jun 21, 1994
|Samsung Electronics Co., Ltd.
|Image compression system by setting fixed bit rates
|Oct 7, 1992
|Sep 27, 1994
|Sony Corporation
|Picture encoding and/or decoding system
|Sep 9, 1993
|Aug 8, 1995
|Intel Corporation
|Mode selection for method and system for encoding images
|Jun 28, 1994
|Oct 17, 1995
|Intel Corporation
|Segmenting image signals for encoding using quantization analysis
|Feb 9, 1995
|Dec 10, 1996
|Mitsubishi Denki Kabushiki Kaisha
|Video encoder and encoding method using intercomparisons of pixel values in selection of appropriation quantization values to yield an amount of encoded data substantialy equal to nominal amount
|Apr 5, 1995
|Mar 17, 1998
|International Business Machines Corporation
|Motion video compression system with novel adaptive quantization
|Oct 11, 1995
|Apr 21, 1998
|U.S. Philips Corporation
|Device for encoding sequences of frames constituted by film-type images and video-type images, and corresponding decoding device
|Mar 28, 1997
|Apr 6, 1999
|Virage, Inc.
|Similarity engine for content-based retrieval of images
|Mar 28, 1997
|Jun 22, 1999
|Virage, Inc.
|Threshold-based comparison
|Jul 15, 1996
|Jul 13, 1999
|Sony Corporation
|Method and device for encoding and decoding moving images
|Mar 3, 1997
|Dec 28, 1999
|Connectix Corporation
|Temporal compression and decompression for video
|Jul 15, 1998
|Sep 12, 2000
|Nokia Mobile Phones, Ltd.
|Image compression method and apparatus which satisfies a predefined bit budget
|Jun 18, 1998
|Apr 3, 2001
|Compaq Computer Corporation
|Rate control and bit allocation for low bit rate video communication applications
|Nov 6, 1995
|Sep 4, 2001
|Siemens Medical Systems, Inc.
|Method and apparatus for automatically determining a quantization factor value that produces a desired average compression ratio of an image sequence using JPEG compression
|Apr 20, 1999
|Nov 27, 2001
|Lsi Logic Corporation
|Compressed video recording device with integrated effects processing
|Apr 7, 1999
|May 14, 2002
|Matsushita Electric Industrial Co. Ltd
|Coding control method, coding control apparatus and storage medium containing coding control program
|Apr 11, 2000
|Dec 3, 2002
|Mitsubishi Electric Research Laboratories Inc.
|Adaptable bitstream video delivery system
|Oct 21, 1999
|Oct 28, 2003
|Toshiba America Electronic Components, Inc.
|Method and apparatus for estimating and controlling the number of bits
|Feb 23, 2005
|Apr 10, 2007
|Matsushita Electric Industrial Co., Ltd.
|Image processing method, image processing apparatus, and image processing program
|Apr 4, 2006
|Mar 17, 2009
|At&T Intellectual Property Ii, L.P.
|Multimedia integration description scheme, method and system for MPEG-7
|Oct 21, 2004
|May 11, 2010
|At&T Intellectual Property Ii, L.P.
|Content adaptive video encoder
|Dec 21, 2001
|Mar 13, 2003
|Chang Edward Y.
|Maximizing expected generalization for learning complex query concepts
|Feb 23, 2005
|Jul 14, 2005
|Matsushita Electric Industrial Co., Ltd.
|Image processing method, image processing apparatus, and image processing program
|Feb 8, 2005
|Aug 11, 2005
|Sanyo Electric Co., Ltd.
|Image coding apparatus, image decoding apparatus, image display apparatus and image processing apparatus
|Jun 20, 2005
|Dec 29, 2005
|David Drezner
|Human visual system (HVS) filter in a discrete cosine transformator (DCT)
|Apr 28, 2005
|Dec 29, 2005
|Hsi Jung Wu
|Encoding with visual masking
|Jul 5, 2005
|Jan 19, 2006
|Yesvideo, Inc.
|Content-based indexing or grouping of visual images, with particular use of image similarity to effect same
|Feb 8, 2006
|Jul 6, 2006
|Electronics And Telecommunications Research Institute
|Method for generating a block-based image histogram
|Aug 9, 2005
|Sep 14, 2006
|Haohong Wang
|Content-adaptive background skipping for region-of-interest video coding
|Aug 23, 2006
|Mar 29, 2007
|Tao Tian
|Mode selection techniques for multimedia coding
|Aug 23, 2006
|Mar 29, 2007
|Oguz Seyfullah H
|Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
|Aramvith et al. Joint Source-Channel Coding Using Simplified Block-Based Segmentation and Content-Based Rate-Control for Wireless Video Transport, Proceeding of the International Conference on Information Technology: Coding and Computing (ITCC.02), 2002.
|Armvith et al. Joint Source-Channel Coding using Simplified Blocked-Based Segmentation and Content-Based Rate-Control for Wireless Video Transport, Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC.02), 2002.
|Chen et al, ROL Video Coding Based on H.263+ with Robust Skin-Color Detection Technique IEEE Transaction son Consumer Electronics, vol. 94, No. 3, pp. 724-730, Aug. 2003.
|Chi et al. Foreground/Background Bit Allocation for Region-Of-Interest Coding, ISBN 0-7803-62977/00/ IEEE, pp. 923-926, 2000 discloses two methods for bit allocation, MBT and JBA for region-of interest coding.
|He et al., "Optimum Bit Allocation and Accurate Rate Control for Video Coding via rho-Domain Source Modeling," IEEE Transactions of Circuits and Systems for Video Technology, 12(10):840-849, Oct. 2002.
|Huang et al., "A Novel Moving Object Segmentation Algorithm Based on Spatiotemporal Markov random field," Proceedings of the 2005 International Workshop on VLSI Design and Video Technology, Suzhou, China, IEEE, p. 320-323, May 28-30, 2005.
|Hung et al., "Experiments on Image Texture Classification for K-Views Classifier, Markov Random Fields and Cooccurrence Problems," Geoscience and Remote Sensing Symposium, IGARSS '04 Proceedings Anchorage, AK, IEEE, vol. 6:3818-3821, Sep. 20-24, 2004.
|Kevrann et al., "A Markov Random Field-Model Based Approach to Unsupervised Texture Segmentation Using Local and Global Spatial Statistics," IEEE Transactions of Image Processing, vol. 4. No. 6:856-862, Jun. 1995.
|Lin et al. Content-Based Rate Control Scheme for Very Low Bit-Rate Video Coding, EEE Transactions on Consumer Electronic, vol. 43, No. 2, May 1997.
|Mai et al. A Novel Rate-Distortion Optimization Based on Structural Similarity in Color Image Encoder International Journal of Information Technology, vol. 11, No. 7, 2005.
|Milani et al., "A Rate Control Algorithm for the H.264 Decoder," Proceedings of the Sixth Baiona Workshop on Signal Processing in Communications, Sep. 2003, available at http://baionaworkshop.org/Proceedings/milani.pdf.
|Office action for related pending U.S. Appl. No. 11/250,102, dated Jun. 16, 2010.
|Office action for related pending U.S. Appl. No. 11/250,109, dated Sep. 29, 2010.
|Office Action mailed Jan. 28, 2010 for U.S. Appl. No. 11/250,109.
|Office Action mailed Jun. 16, 2010 for U.S. Appl. No. 11/250,102.
|Office Action mailed Mar. 25, 2009 for U.S. Appl. No. 11/250,109, filed Oct. 13, 2005.
|Office Action mailed Mar. 25, 2009 for U.S. Appl. No. 11/250.109, filed Oct. 13, 2005.
|U.S. Appl. No. 11/250,102, Garbacea.
|U.S. Appl. No. 11/250,109, Garbacea.
|Vetro et al., "Joint Shape and Texture Rate Control for MPEG-4 Encoders,"Proceedings of the 1998 IEEE International Symposium on Circuits and Systems, ISCAS 1998, Monterey, CA, vol. 5:285-288, May-Jun. 1998.
|Vetro et al., "MPEG-4 Rate Control for Multiple Video Objects ," IEEE Transactions on Circuits and Systems for Video Technology, vol. 9 No. 1:186-199, Feb. 1999.
|Citing Patent
|Filing date
|Publication date
|Dec 8, 2010
|Aug 25, 2015
|Thomson Licensing
|Object-aware video encoding strategies
|Dec 8, 2010
|Sep 6, 2012
|Sitaram Bhagavathy
|Object-aware video encoding strategies
|Jan 9, 2013
|Jul 11, 2013
|Futurewei Technologies, Inc.
|Weighted Prediction Method and Apparatus in Quantization Matrix Coding
|U.S. Classification
|375/240.03, 348/403.1
|International Classification
|Cooperative Classification
|European Classification
|Nov 7, 2005
Owner name: MOBILYGEN CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GARBACEA, ILIE;CHEN, LULIN;ALVAREZ, JOSE R;REEL/FRAME:016743/0873
Effective date: 20051027
|May 20, 2010
Owner name: MAXIM INTEGRATED PRODUCTS, INC., CALIFORNIA
Free format text: MERGER;ASSIGNOR:MOBILYGEN CORPORATION;REEL/FRAME:024416/0637
Effective date: 20081013
Owner name: MAXIM INTEGRATED PRODUCTS ASIA, INC., CALIFORNIA
Free format text: MERGER;ASSIGNOR:MOBILYGEN CORPORATION;REEL/FRAME:024416/0637
Effective date: 20081013
|Jun 12, 2012
|Certificate of correction
|Jan 23, 2013
Owner name: GEO SEMICONDUCTOR INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MAXIM INTEGRATED PRODUCTS, INC.;REEL/FRAME:029677/0261
Effective date: 20130118
|Oct 23, 2013
Owner name: BISHOPSGATE HOLDINGS CORPORATION, BERMUDA
Free format text: SECURITY AGREEMENT;ASSIGNOR:GEO SEMICONDUCTOR INC;REEL/FRAME:031479/0486
Effective date: 20130809
|Sep 16, 2015
|Fee payment
Year of fee payment: 4


text:
[Date Index] [Thread Index] [Author Index]
Re: Map onto one column of a matrix
Hi, try: data = {{a, b}, {c, d}}; data[[All, 2]] = f /@ data[[All, 2]] ; data hope this helps, Daniel D. Grady wrote: > Hi, suppose we've got a matrix > > data = {{a, b}, {c, d}}; > > and we want to map a function onto just the second column, so we want > to end up with > > {{a, f[b]}, {c, f[d]}}. > > The best way I've found to do this is with MapAt: > > MapAt[f, data, Table[{i, 2}, {i, Length@data}]] > > Is there a better way? I keep hoping there's some notation similar to > what's used in Part that lets you refer to a whole column with All, > like data[[All,2]]. Thanks! > > -Daniel >

subset: commoncrawl


text:
In addition to native regional traditions like Viennese cuisine, Austrian food has been influenced by Hungarian, Czech, Jewish, Italian and Bavarian cuisines. Austria has one of the most transcultural cuisines in Europe.
Austria was once the center of the large Austro-Hungarian Empire stretching from France to Russia and from the Baltic Sea to Turkey, imparting a varied heritage to Austria's cuisine. Indeed modern Austria now borders Italy, Hungary and Germany, among others—and their culinary influences are the strongest.
Austria's capital city of Vienna even claims its own cuisine as if it were a separate country —it's the smallest Austrian state but also the most populous at over 1.5 million, which is one-fifth the population of the entire nation. Join us as we tour the country that gave us apple strudel and weinerschnitzel.
Information provided by the Austrian National Tourist Board
Back to the main Austria page
Austria on Wikipedia
More country Destinations
This page modified January 2007
The FoodWine
Main Page
Kate's Global Kitchen
Kate's Books
Cookbook Profiles
Global Destinations
Holiday & Party Recipes
I Love Desserts
On Wine
Caffeine and You
Cooking with Kids
New Green Basics
Conversions, Charts
& Substitutions
About FoodWine
Contact Info
Privacy Statement
Anatolia: Turkish Recipes
Bar Tartine
The Beer Bible
Beetlebung Farm Cookbook
Bird in Hand (Chicken)
Bitter: Flavor
Bob's Joke Burgers
Cooking Light
Darjeeling Tea
Dinner at Home
Everyday Baker
Fast Food (Andrew Weil)
Flavor Flours
Food 52 Genius
The Food Lab
Garden Recipes
Grandmas' Recipes
Hartwood: Yucatán
Humane Butchering
Heritage Southern Recipes
Jemima Code African Recipes
Kitchn Cookbook
Liquid Intelligence
Near & Far World Recipes
NOPI Restaurant Cookbook
Oxford Companion to Wine
Phoenix Claws: Chinese
Picnic: Recipes
Soda Politics
Southern Recipes
The Third Plate
V Is for Vegetables
Vegetarian India
What Katie Ate
The Whole 30
Whole Food Kitchen
Yucatán Recipes
Zahav Israeli Cooking
Copyright © 1994-2016,
Forkmedia LLC
Gourmet Food, Cookbooks
Kitchen Gadgets & Gifts
Bestselling Cookbooks
Cooking Light Store
Kitchen Markdowns
Buy 3 Products, Get 4th Free
Kitchen Bonus Deals
Cookware Rebates
Bestselling Small Appliances


text:
P.T. ghost and Norman Reedus dance their hearts out in MGSV's infamous rain scene
While nowhere near as sensual and sexual as Ocelot in the role of Quiet, this video from Lakitouille takes the ghost and Norman Reedus character models from Kojima horror tech demo P.T. and puts them in that classic Metal Gear Solid V: The... read


text:
5 Things Women Should Tell Their Doctor But Don't
By SMW Staff
A recent survey in Redbook Magazine revealed a troubling trend among women regarding their relationships with their physicians: 52 percent of women lie to their doctor when asked direct questions about their health. Such a high percentage is troubling; without accurate information, doctors cannot adequately care for their patients. By learning more about what other women lie about and why they do so, women may begin to feel more comfortable disclosing their complete & accurate medical history with their healthcare professionals.
Looking closer at what women don't tell their doctors, five recurring themes emerge. Below are the health "secrets" women should always share with their physician.
Pill Popping
Women need to be honest with their doctors about the complete list of all medications that they are taking. This includes prescription medications, herbal preparations, illicit drugs, and over the counter medications. It is important to give the full scoop to the physician because some medications and treatments can counteract each other or cause serious side effects when taken together. If doctors are unaware of all medications a patient is using, then they could inadvertently prescribe inappropriate medications.
A study published in the Journal of the American Medical Association in December 2008 stated that 1 in 25 adults age 57 to 85 put themselves at risk for major drug interactions by mixing prescription drugs with over the counter medications such as aspirin, vitamins, and supplements. According to Webmd.com, one reason why women don't inform their doctors of all the medications they are taking is that they don't want to hear that they could be harmful to their bodies. Patients may also not want their prescriptions to be taken away from them, even if the prescription might cause them harm.
The Dirty Deed
Patients don't just lie about their medications. Another common fib is a womans'complete history of Sexually Transmitted Diseases (STDs). Some patients might feel embarrassed about having an STD. Others may feel that they don't need to tell their doctor about a past STD because they think it is not an issue once the STD is gone.
Similar to under-reported STD's, patients frequently underestimate the number of sexual partners they have had. By engaging in risky behavior and not practicing safe sex, women can put themselves at risk for STDs or fertility problems.
Something Smells Fishy
While it's easy to understand why women might lie about past STD's, it's more challenging to understand why women might lie to their doctors about current symptoms they are experiencing. This frequently occurs with symptoms patients perceive as "embarrassing", such as vaginal odor or discharge. Although some women may feel embarrassed about vaginal odor, it is actually a fairly common occurrence. According to ezinearticles.com, vaginal odor affects more than 65 percent of all women at some point during their lives. Perhaps if more women were aware of the frequency of the problem they would feel more comfortable telling their doctor about it. A majority of women who suffer from vaginal odor find that the problem is recurrent.
Not only do many women suffer from this problem, but many women with this problem are unable to find a solution. Though many gynecologists do not recommend douching as a solution, there is now an FDA cleared vaginal cleansing system called WaterWorks. Gynecologists recommend using WaterWorks (www.WaterWorksHealth.com) to help eliminate vaginal odor and have noted its safety and effectiveness. Since women are often too embarrassed to discuss vaginal odor and discharge, WaterWorks can be ordered discreetly online; its plain white box doesn't disclose its contents. Women should always discuss any symptoms of vaginal odor and discharge with their doctors to be certain they don't have an infection, but if the odor is not from an infection, this is a safe, effective solution.
A Leak in the System
Urinary symptoms, including urinary leakage, are another frequently avoided topic. This is another issue that is more widespread than people know. Over 13 million people in the United States experience incontinence. This issue effects people young and old, male and female, and almost always stems from an underlying medical condition. If a patient doesn't tell her doctor that she is suffering from this problem, then she will be unable to find the underlying issue that could help the incontinence.
A recent National Association for Continence survey of over 1,400 Americans revealed that 64% of people who suffer from urinary problems don't take any measures to help control or solve their problem. And on average, adults wait almost six years to seek treatment for their urinary problems. Women need to be up-front with their doctors about these problems, as six out of seven adult incontinence cases occur in women, especially those who have had children. The good news is that there are many treatment options available, depending on the specific diagnosis.
Bottoms Up
It is not surprising that women lie to their doctors about the number of drinks and/or cigarettes they have per week. Most women don't want to be judged by their doctors and feel as if they will be lectured about the dangers of smoking. While drinking alcohol in moderation is not generally risky, women should be honest with their doctors about their alcohol consumption as some medications should not be taken with any alcohol. The risks are real. Women who smoke greatly increase their risk for lung cancer, heart disease and stroke. More than 75% of deaths from chronic bronchitis and emphysema are related to smoking. Yet, one in six American women over age 18 continues to smoke.
Smoking has particular risks for mother and child during pregnancy. Smoking can cause low birth weight in one in five infants and can slow fetal growth. Women who smoke during pregnancy are also at increased risk for placenta previa, which can cause unnecessary bleeding and early delivery.
Not being honest with your doctor can lead to many problems and can magnify existing problems. By knowing common lies some women tell their doctors, other women will begin to become more comfortable sharing their complete medical information with their own doctors thus building a better doctor/patient relationship and ensuring better health outcomes.
More Health and Wellness Articles on SMW
Learn How to Be Happy With Yourself


text:
We would like to introduce Apollo Asia Travel Group -a group of destination management companies from South east asia.
Apollo Asia Travel Group is a Team of Young and energetic professionals who eat, drink and
sleep travel.
Our past 7 years of our existence has been consistent in terms of growth and able to build
up a significant market for incoming tourism to the south east Asian destinations, especially
for Malaysia, Singapore & Thailand.
Today Apollo Asia Travel Group is one of the leading DMC Group having own licensed offices
with own team / Fleet of vehicles in Malaysia, Singapore and Thailand.
Some Facts and Figures
Our total Hotel Inventory is made of more than 3000 hotels covering every nook &
corner of Malaysia,Singapore &Thailand.
An average annual sales of room nights to 150,000/ and still counting.
An average annual inbound movement of 40,000 passengers to Malaysia alone and
Projected Inbound movement of 90,000 towards all 3 destinations. market.
We speak almost all Indian languages / Persian / and other South asian Local languages.


text:
2014 is shaping up to be a great year for Casting 4 A Cure and our support of the International Rett Syndrome Foundation's research and family support programs. We held our first annual C4C golf classic in association with Chimy's restaurant chain in Ft. Worth TX in April. We were able to raise over $10,000, which was really fantastic for our first time out. We are looking to build on that success next year.
We are already sold out for our Victor, ID Casting 4 A Cure event to be held August 21-24 and looking forward to raising funds and awareness at what has become our premier event of the year. We have increased our participation numbers for the event and will have over 100 peopl in attendance.
C4C has already donated over $30,000 in 2014 to Rett Syndrome research and family support programs, and we are looking to donate over $100,000 for the year to support the mission of IRSF to find treatments and a cure for Rett Syndrome.
We have also updated our website in teh last few months so please feel free to take a look at www.casting4acure.com.
Thank you all for your support and we look forward to seeing you out on the water in 2014 as we get closer to a cure with every cast!
2013 was a great year for Casting 4 A Cure. We hosted over 120 people at our events in Victor ID, Steamboat, CO and Sulphur Springs MT. While doing so we were able to donate $75,000 to the International Rett Syndrome Foundation to support the SCOUT Program, which will be screening FDA approved drugs for their effectiveness against some Rett Syndrome symptoms.
We were also the subject of an episode of the Outdoor Channel's "Seasons on the Fly" TV show which aired 13 times in 2013 and raised awareness of Rett Syndrome and Casting 4 A Cure's efforts to thousands of people.
We are looking forward to another great year in 2014 and hope you can join us for one of our events and support us in getting closer to a cure with every cast.
Hello to all our donors, sponsors, and constituents. It has been a great summer for Casting 4 A Cure, as we held our 6th annual C4C event in Steamboat CO, our 5th annual event in Victor, ID, and our 3rd C4C event at the Bar Z Ranch outside of Bozeman.
All in all, over 110 people participated in the events, our largest number of participants to date. We raised some great awareness as we had many newcomers to our Victor ID event. They all walked away with a better understanding of the challenges that face a little girl who suffers from Rett, as well as what the families are up against. They were also enlightened to the amazing progress we are making in terms of research and our funding of the SCOUT Program sponsored by the International Rett Syndrome Foundation. The SCOUT Program will be screening pre-approved FDA drugs for positive reactions for Rett Syndrome symptoms. We are very excited about this program as if successful, it will substantially speed up the process of bringing drugs to market for Rett.
We have not closed the book on 2013 abnd have some more fundraising events planned, but we are confident tat we will be able to donate $70,000 to The International Rett Syndrome Foundation this year.
As Rett Syndrome Awareness Month is coming up in October, please tell your friends and family about Casting 4 A Cure and if they would like to help us achieve our goals of turning Research to Reality, then please send them to www.casting4acure.com and they can make a donation there.
Thanks so much for your support of Casting 4 A Cure!
As we move into the summer season, Casting 4 A Cure is getting into high gear as we approach our three big events for 2013; our Steamboat Casting 4 A Cure event July18-20; our Victor, ID C4C event Aug 22-24; and our Bar Z Ranch event Sept 13-16. We are currently sold out for all three events and are looking forward to raising our goal of $100,000 to help fund clinical research and family support programs thru the work of the International Rett Syndrome Foundation. We are also anticipating to raise significant awareness around Casting 4 A Cure and The International Rett Syndrome Foundation as we will have exposure on the NBC Sports show, "Seasons on the Fly" again for 2013. This time the show will focus on our Victor ID event and will talk to family members of girls with Rett.
We have so far this year raised $35,000 and have just sent a disbursement to IRSF for $15,000 to help fund clinical trials at Houston Children's hospital.
We are really looking forward to a successful fundraising summer and thanks for your support of Casting 4 A Cure in 2013!
Bill Farnum
Project Reports on GlobalGiving are posted directly to globalgiving.org by Project Leaders as they are completed, generally every 3-4 months. To protect the integrity of these documents, GlobalGiving does not alter them; therefore you may find some language or formatting issues.
If you donate to this project or have donated to this project, you will get an e-mail when this project posts a report. You can also subscribe for reports via e-mail without donating.
We'll only email you new reports and updates about this project.


text:
Quiet, Spacious Home from $1500 / month
|No rental rates available - please contact the owner
|Pets allowed:
Bedrooms: 3
Bathrooms: 2
Sleeps: 6
Type: Home
Pets allowed: Yes
Internet: No
The front yard features a beautiful old saguaro, and other desert trees and plants. There is a small rose garden near the front entry for a sweet, aromatic homecoming. In the back are fruit-bearing lemon, lime, and grapefruit trees around a lawn and diving pool. The pool is fenced, and the back yard is also fenced for privacy.
The home has a 50 gal. hot water tank, microwave, garbage disposal, range, dishwasher and side-by-side fridge with water and ice in the door.
Neta Phillips
The neighborhood is Carriage Lane, near Dobson Ranch in west Mesa. The neighborhood borders both Tempe and Chandler, for convenient access to all your favorite destinations. Walking paths, public parks and pools, and playgrounds are also close by.
Other nearby destinations include:
Hohokam stadium - Chicago Cubs
Scottsdale Stadium - San Francisco Giants
Phoenix Municipal Stadium - Oakland A's
Tempe Diablo stadium - Anahiem Angels
Tempe Town Lake \ Beach Park
Papago Park
Old-town Scottsdale
Marquee Theatre
Desert Botanical Gardens
Phoenix Zoo
MCC Rose Garden
Chandler Fashion Mall
Scottsdale Fashion Square
Tempe Marketplace
Arizona State University
ASU Research Park
Mesa Community College
Banner Desert Medical Center
Chandler Regional Medical Center
Tempe St. Luke's Hospital
ASU Karsten Golf Course
Dobson Ranch Golf Course
Papago Golf Course
Rolling Hills Golf Course
Tempe Municipal Golf Course
Big Surf Water Park
Barrett-Jackson showroom
Nearby Employers include:
Banner Health
Catholic Healthcare West
General Dynamics
Go Daddy
US Airways
Wells Fargo
About the owner
Owner Profile
Reviews (1)
Reviews for this vacation home rental in Mesa, Arizona
Great place for first time snowbirders
Connie H Evans
Great place for first time snowbirders
April 7, 2012
Comfortable, basic home with excellent access to all major throughways. 15 minutes to airport....quiet neighborhood...nearby park perfect for grandchildren to play..close proximity to great walking trails. situated right between Tempe, Mesa and Chandler....great access to shopping...house is furnished simply with limited seating...basic kitchen...pool unheated and unusable during our 3 month stay....could benefit from more outside furniture and a grill...Owner was most obliging and easy to work with
"We enjoyed staying here. It really felt like home." -Claudia, IN, 12/28/11
'even nicer in person than it looked online' - J.W., Flint MI, 3/31/11.
8 Reviews
1 Reviews
1 Reviews
8 Reviews
7 Reviews
1 Reviews
7 Reviews
1 Reviews
9 Reviews


text:
My Reviews
Life Flo Health, Retinol A
Posted by Reviewer1066838 on May 24, 2011
Love this product because it smooths the skin making it more supple. Just make sure not to apply it too close to the eyes because that can create swollen eyelids.
Aqua Flora, Candida Hi Potency 9
Posted by Reviewer1066838 on May 24, 2011
Wonderful product which attacks all nine strains of candida like none of the others!
Rainbow Light, advanced Enzyme Optima
Posted by Reviewer1066838 on Jun 13, 2009
I like this product very much. I had been using the straight enzymes by Rainbow already, but this one gives added help it seems, and it is nice to have two in one with the probiotics.
Y.S. Organic Bee Farms,lly in Royal Jelly in Honey
Posted by Reviewer1066838 on Sep 15, 2010
Sometimes I eat this honey because of its medicinal effect, but most of the time I just use it as a moisturizing facial mask & as a skin healing agent. Seems to do the trick!
Lumina Health, CellFood
Posted by Reviewer1066838 on Sep 03, 2010
I have been using this product for quite some time. I am very happy with CellFood & trust this product for all around health benefits. This has been recommended repeatedly for me by many different health professionals. I have been assured this has been giving me what my body requires.
Olympian Labs, Inc., Vinpocetine
Posted by Reviewer1066838 on Sep 03, 2010
I have been taking vinpocetine for months now. I know that this has helped me with my mental accuity.
Source Natural, DIM
Posted by Reviewer1066838 on May 30, 2011
This is my 2nd bottle of DIM, and I trust that it is helpful as a preventive to ward off breast cancer. My Holistic doctor recommended this product for me & says to take one a day for the rest of my life.
Tracr Research Trace Minerals
Posted by Reviewer1066838 on Jul 22, 2011
This is a good brand name, so I am confident in the use of their trace minerals.
Natrol, ALA
Posted by Reviewer1066838 on Sep 15, 2010
Recently, I began to take this ALA, and I am very happy with it. Natrol is a good label and I trust their quality of product from what I have told by professionals.
Jarrow Formulas, BroccoMax
Posted by Reviewer1066838 on May 30, 2011
Bought this product for my husband, but he hasn't begun use of it just yet. It is suppose to act as an antioxidant and protect against free radical damage. Jarrow is a good label.
Derma E, Psorzema Creme
Posted by Reviewer1066838 on Jun 13, 2009
This is a nice soothing, moisturizing cream for me. It is not a cure all for whatever is going on with me, but it sure makes a difference in my treatment. Very excellent price.
Now Ubiquinol CoQH-CF
Posted by Reviewer1066838 on Jan 27, 2012
This product is a good form of coQ10 because it is in the broken down version and the 50mg is equivalent to 100 mg of the other. Good value & more absorbable.


text:
Tropical Fish Keeping - Aquarium fish care and resources (http://www.tropicalfishkeeping.com/forum.php)
- Beginner Freshwater Aquarium (http://www.tropicalfishkeeping.com/beginner-freshwater-aquarium/)
- - Advice required (http://www.tropicalfishkeeping.com/beginner-freshwater-aquarium/advice-required-116151/)
Advice required
Hi there :-)
I have 7 corydoras, 1 betta and a rabbit snail that were in a 75 litre tank. Unfortunately it sprung a leak today and I have had to put them in a spare tank which is only 35 litres, I know it is too small. I have transferred some of the substrate, a few decs and the two filters from the old tank so there won't be any cycling issues.
I am wondering if they will be okay in there for a few weeks, with frequent water changes, until I can buy a new tank.
Any advice gratefully received.
I don't see why not!? Cory's are not very big, you have a group, you are maintaining water quality and the have the necessary bacteria. Just try to replace the tank as soon as you can.
Good luck.
Should be fine...but why not reseal the leaking tank?
|All times are GMT -5. The time now is 01:57 AM.
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.


text:
Well you like the look of the LG Optimus L7, the only problem is that black doesn't do it for you, well luckily AllPhones are here to help you out. They are now exclusively offering the Optimus L7 in white for the bargain price of $295, that's outright pricing for those shouting that you can get the L7 as an Optus Prepaid phone for $269. The 3G radio is only listed as 900/1900/2100 which means you`re either using it on Vodafone or Optus but anyway it's all about choice isn't it. This doesn't show up on the AllPhones Website as yet but it is in their July catalogue.
Tags Allphones L7 Optimus White
Check Also
LG G6 leaks in three different colours
The LG G6 may be being announced in only a couple of days time (26th …


text:
Pensao Globo
No prices found through our partners. Please contact the business directly or check some of our recommended alternatives.
How has this hotel rated in the past?
Travelers also looked at:
TripAdvisor Reviews Pensao Globo Lisbon
Travel Blogs from Lisbon
Part 4. Santiago de Compostela to Lisbon
... any sort along this road, then right on que we hit the coast again in the amazing town of Ericeira, The surfing capital of Spain (and Europe?) A sign we think says Hotel so we turn off into town down a one way cobbled street till we come out in the town Center and a most picturesque hotel built out on a peninsula into the bay. Quickly run into reception to enquire about vacancies, hoping, and yes there are plenty of rooms! Ocean view! Dinner special includes ...
Star-Spangled Fourth
... order, but it taught me a lesson that I should at least leave the shades cracked a little.
This was our only full day to see Lisbon, so were going to use our tried-and-true tactic of taking a hop-on-/hop-off bus to get an overview, and then concentrate on a few key sights later in the day. K and I had already taken one of the two main routes the day before, and we'd saved the "most touristy" route for this day. The weather was ...
Popping into Portugal
... motorcycles, and the corresponding price of the road toll. There was no booth. This happened several times over a few miles with the prices changing each time. Discussion ensured, confusion reigned and we presumed that it would be sorted once we exited the highway. As we wanted the more scenic coast road, took an exit to the Villa de Real San Antonio. There was no exit toll booth pay here place, shrugged our shoulders and thought no more of it. Much of the south coast ...
... and stone stairs, like a three dimensional Advent Calendar, all walls and windows. Low doors opened onto tiny patisseries, coffee shops, seafood vendors, bars and tourist shops. The air at lunchtime was fragrant with chargrilled fish and chicken. Early mornings were almost silent, but the lanes came alive around 10 or 11, with echoes of the laughter, arguments, conversations of the locals, and lines of tourists wandering in from the huge Cruise ships ...
Portugal Grande Finale
... in the 50 meter long line and entered the unique arched hallways surrounding a large courtyard.
It is known for is Gothic Manueline style of architecture and is ornate complex design and scale is impressive. The place is massive with two levels of cloister rooms surrounding the courtyard. Off to the water side, is the high ceilinged Church of Santa Maria, a three-aisle church with five bays under a single heaven-high vault,
Building ...


text:
Good evening to all:
Does anyone have experience with composted llama manure. I just found a free
source of it.
I have been reading the posts of Roundup, etc.. What about the use of Preen
or Surflan as pre-emgergent herbicides?
Rich Horowitz
Stoughton MA
To sign-off this list, send email to email@example.com with the
message text UNSUBSCRIBE HOSTA-OPEN


text:
All prices are in All prices are in USD
We will usually ship items as default to your Paypal billing address. To ship to different address from Paypal billing information, please provide your needed details
Please complete your shipping information
- Full name
- Email Address
- Phone number
- Order Number (Transaction ID)
- Shipping address
- Details
If you encounter any trouble during the process, don't hesitate to contact us at +44.0151-235-250, our Customer Support is pleased to assist!
The code you entered is incorrect. Please try again.


text:
Alex Rodriguez Announces Retirement From Baseball After 22-Year Career
We'll miss you, A-Rod. More »
We'll miss you, A-Rod. More »
Cameron Diaz has become a staple name on Hollywood's A-list today, making box office hit after hit and even found herself nominated for several Golden Globes.
But where did she get her start?
… More »
Kate Hudson isn't sweating over the backlash that two of her exes, Lance Armstrong and Alex Rodriguez, received for their doping scandals.
"I was as shocked as anyone," the 35-year-old actress revealed in the July issue of InStyle. "But I personally think that you make the choices you make and you should reap… More »
A-Rod knows a good investment when he sees one.
After only five months as the new owner of a luxe Miami condo, the Yankees slugger is flipping his bachelor pad — and he's hoping to make an extra $1.1 million in the process, Celebuzz has learned.
… More »
Major League Baseball commissioner Bud Selig has suspended New York Yankees third baseman Alex Rodriguez through the end of the 2014 season for using performance-enhancing drugs, lying to the MLB about said drug use and for hampering the league's investigation into the Biogenesis steroid scandal. The suspension begins Thursday and baseball's top earning player will… More »
Is A-Rod looking to ditch the Big Apple for the City of Angels? Yankees star Alex Rodriguez was spotted house hunting in West Hollywood on Thursday with his pro wrestler girlfriend Torrie Wilson.
Rodriguez, who is still trying to sell his impressive Miami mansion for $38 million, and his former WWE star girlfriend… More »
Gwen Lawrence is the instructor for five New York pro teams, including the New York Giants. She has several online yoga classes on GaiamTV.com.
I've made it my life's mission to create relevant yoga programs for athletes, from little leaguers to professionals. I'm so excited to bring you some yoga secrets I use when… More »
Gwen Lawrence is the instructor for five New York pro teams, including the New York Giants. She has several online yoga classes on GaiamTV.com.
Along with spring's blooming flowers and seasonal allergies comes a truly American tradition: baseball season. Fresh off spring training, our MLB pros take to the field with a statistical clean… More »
Apparently there is no bad blood between ex-lovers Cameron Diaz and Yankees player Alex Rodriguez. In a new interview with The Insider, A-Rod gushes about his former flame, revealing:
"I don't like talking about my relationships, but I will tell you about CD: She's probably one of the greatest human beings I've ever met,… More »
New York Yankees third baseman Alex Rodriguez has spoken out for the first time about a convicted fraudster's jailhouse deposition claim that he played alongside the star in high-stakes games that included celebrities Tobey Maguire, Leonardo DiCaprio, Matt Damon and Ben Affleck.
"There's nothing to address with this story," Rodriguez told The New… More »
Alex Rodriguez is under investigation — yet again — for participating in Hollywood's underground poker ring, Celebuzz has exclusively learned.
Major League Baseball is looking into a convicted fraudster's stunning confession that the oft-controversial Yankees slugger played in the same high-stakes tournaments that included celebrities Tobey Maguire, Leonardo DiCaprio, Matt Damon and Ben… More »
Convicted fraudster Bradley Ruderman, who embezzled $25 million of his clients' money and used $5.2 million of it to pay off monster poker debts to a slew of high-profile Hollywood identities, has confessed in a deposition that New York Yankees star Alex Rodriquez played in the games, Celebuzz has learned.
In an exclusive… More »