Method of performing rate control for a compression system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04N-007/18
출원번호
US-0427669
(2003-04-30)
등록번호
US-7418037
(2008-08-26)
발명자
/ 주소
Nie,Xiaochun
Pun,Thomas
Kumar,Roger
Wu,Hsi Jung
출원인 / 주소
Apple Inc.
대리인 / 주소
Adeli & Tollen LLP
인용정보
피인용 횟수 :
13인용 특허 :
29
초록▼
A rate controller for allocating a bit budget for video frames to be encoded is disclosed. The rate controller of the present invention considers many different factors when determining the frame bit budget including: desired video quality, target bit rate, frame type (intra-frame or inter-frame), f
A rate controller for allocating a bit budget for video frames to be encoded is disclosed. The rate controller of the present invention considers many different factors when determining the frame bit budget including: desired video quality, target bit rate, frame type (intra-frame or inter-frame), frame duration, intra-frame frequency, frame complexity, intra-block frequency within an intra-frame, buffer overflow, buffer underflow, and the encoded video frame quality for a possible second pass.
대표청구항▼
We claim: 1. A method of encoding digital video information into a bit stream, said method comprising: determining a default bit budget for a video frame to be digitally encoded into said bit stream; examining a plurality of factors related to said video frame or said bit stream; adjusting said def
We claim: 1. A method of encoding digital video information into a bit stream, said method comprising: determining a default bit budget for a video frame to be digitally encoded into said bit stream; examining a plurality of factors related to said video frame or said bit stream; adjusting said default bit budget according to said plurality of factors to generate an adjusted target bit budget for said video frame, wherein said adjusted target bit budget is based upon an average frame display duration comprising an historical average frame display duration; and using said adjusted target bit budget to encode the video frame. 2. The method as claimed in claim 1 wherein said default bit budget is based upon a frame ratio. 3. The method as claimed in claim 2 wherein said frame ratio is relative to an average frame size. 4. The method as claimed in claim 2 further comprising assigning a video image quality level from a set of video quality levels to said video frame, wherein said frame ratio is determined by said video image quality level assigned to said video frame. 5. The method as claimed in claim 4 wherein said video image quality level is based upon a bits per pixel per frame value. 6. The method as claimed in claim 5 wherein said bits per pixel per frame value is calculated by generating an intermediate result by dividing a bit rate by a width times height of said video frame; and multiplying said intermediate result by an average frame duration. 7. The method as claimed in claim 6 wherein said bit rate comprises a channel bandwidth. 8. The method as claimed in claim 6 wherein said bit rate comprises a media read bit rate. 9. The method as claimed in claim 1 wherein said default bit budget is dependent on a frame type. 10. The method as claimed in claim 9 wherein said frame type is one of an intra-frame and an inter-frame. 11. The method as claimed in claim 2 wherein said frame ratio is dependent on a frame type. 12. The method as claimed in claim 11 wherein said frame type is one of an intra-frame and an inter-frame. 13. The method as claimed in claim 1, wherein said average frame display duration comprises a weighted sum of display duration of a current video frame and said historical average frame display duration. 14. The method as claimed in claim 1 wherein one of said plurality of factors comprises a memory buffer condition. 15. The method as claimed in claim 14 wherein said memory buffer condition comprises a ratio between a current buffer condition and a warning buffer condition. 16. The method as claimed in claim 14 wherein said memory buffer condition comprises a buffer underflow warning condition. 17. The method as claimed in claim 14 wherein said memory buffer condition comprises a buffer overflow warning condition. 18. The method as claimed in claim 1 wherein one of said plurality of factors comprises a video frame complexity. 19. The method as claimed in claim 18 wherein said video frame complexity comprises a mean average difference (MAD) for said video frame. 20. The method as claimed in claim 19 wherein said mean average difference (MAD) comprises a mean of sum of absolute differences (SAD). 21. The method as claimed in claim 1 wherein one of said plurality of factors comprises an intra-block frequency in said video frame. 22. A method of encoding digital video information into a bit stream, said method comprising: examining a plurality of factors related to said bit stream, wherein said bit stream comprises a next video frame; and setting a bit budget for said next video image to be digitally encoded into said bit stream; encoding the next video image by using said bit budget; wherein said bit budget is dependent upon said plurality of factors; wherein said plurality of factors comprises a weighted sum of display duration of the next video frame and an historical average frame display duration. 23. The method as claimed in claim 22 wherein said bit budget is comprised of a default bit budget that is subsequently adjusted. 24. The method as claimed in claim 23 wherein said default bit budget is based upon a frame ratio. 25. The method as claimed in claim 24 wherein said frame ratio is relative to an average frame size. 26. The method as claimed in claim 24 further comprising assigning a video image quality level from a set of video quality levels to said next video frame, wherein said frame ratio is determined by said video image quality level assigned to said next video frame. 27. The method as claimed in claim 26 wherein said video image quality level is based upon a bits per pixel per frame value. 28. The method as claimed in claim 27 wherein said bits per pixel per frame value is calculated by generating an intermediate result by dividing a bit rate by a width times height of said video frame, and multiplying said intermediate result by an average frame duration. 29. The method as claimed in claim 28 wherein said bit rate comprises a channel bandwidth. 30. The method as claimed in claim 28 wherein said bit rate comprises a media read bit rate. 31. The method as claimed in claim 22 wherein said wherein one of said plurality of factors comprises a frame type. 32. The method as claimed in claim 31 wherein said frame type is one of an intra-frame and an inter-frame. 33. The method as claimed in claim 24 wherein said frame ratio is dependent on a frame type. 34. The method as claimed in claim 22 wherein one of said plurality of factors comprises a memory buffer condition. 35. The method as claimed in claim 34 wherein said memory buffer condition comprises a ratio between a current buffer condition and a warning buffer condition. 36. The method as claimed in claim 34 wherein said memory buffer condition comprises a buffer underflow warning condition. 37. The method as claimed in claim 34 wherein said memory buffer condition comprises a buffer overflow warning condition. 38. The method as claimed in claim 22 wherein one of said plurality of factors comprises a video frame complexity. 39. The method as claimed in claim 38 wherein said video frame complexity comprises a mean average difference (MAD) for said video frame. 40. The method as claimed in claim 39 wherein said mean average difference (MAD) comprises a mean of sum of absolute differences (SAD). 41. The method as claimed in claim 22 wherein one of said plurality of factors comprises an intra-block frequency in said next video frame. 42. A method of encoding video images based on an encoding budget and a plurality of image encoding types, the method comprising: for each of at least two video images that are to be encoded based on a same encoding type: determining a default encoding budget based on an initial encoding budget and a first set of factors; determining an adjusted encoding budget based on the default encoding budget and a second set of factors; and using said adjusted encoding budget to encode each image; wherein for each of said at least two video images said default encoding budgets are different. 43. The method as claimed in claim 42, wherein said image encoding types comprise intra encoding type and inter encoding type; wherein intra encoding independently defines a complete image without any reference to any other information; wherein inter encoding defines an image with reference to other images in a sequence of video images. 44. The method as claimed in claim 42, wherein the default encoding budgets are different because said two video images appear at different times in a sequence of video images. 45. The method as claimed in claim 42, wherein said initial encoding budget and default encoding budget are bit budgets. 46. The method as claimed in claim 42, wherein said initial encoding budget and default encoding budget are based on frame durations. 47. A computer readable medium, said computer readable medium resident on a computer system, stored thereon a computer program comprising programmed instructions directed towards a method for encoding video images which when executed causes said computer system to encode video images based on an encoding budget and a plurality of image encoding types, the computer program comprising a set of executable instructions that for each of at least two video images that are to be encoded based on a same encoding type: determines a default encoding budget based on an initial encoding budget and a first set of factors; determines an adjusted encoding budget based on the default encoding budget and a second set of factors, wherein for each of said at least two video images said default encoding budgets are different; and uses said adjusted encoding budget to encode each image. 48. The computer readable medium as claimed in claim 47, wherein said image encoding types comprise intra encoding type and inter encoding type; wherein intra encoding independently defines a complete image without any reference to any other information; wherein inter encoding defines an image with reference to other images in a sequence of video images. 49. The computer readable medium as claimed in claim 47, wherein the default encoding budgets are different because said two video images appear at different times in a sequence of video images. 50. The computer readable medium as claimed in claim 47, wherein said initial encoding budget and default encoding budget are bit budgets. 51. The computer readable medium as claimed in claim 47, wherein said initial encoding budget and default encoding budget are based on frame durations. 52. A method of encoding video images, the method comprising: determining a first encoding budget for the video image based on a default encoding budget; encoding said video image using said first encoding budget; determining that a quality of the encoded video image is below a threshold; determining a second encoding budget for the video image, wherein the second encoding budget is larger than the first encoding budget; and encoding said video image using said second encoding budget. 53. The method of claim 52, wherein said encodings using the first and second encoding budgets are utilized in a real-time encoding application. 54. The method of claim 52, wherein said encodings using the first and second encoding budgets are utilized in an application that does not run in real time.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (29)
Uz K. Metin (Mountain View CA), Adaptive quantization.
Fukuda Hideki,JPX ; Tsuga Kazuhiro,JPX ; Hasebe Takumi,JPX ; Mori Yoshihiro,JPX ; Okada Tomoyuki,JPX ; Horiike Kazuyoshi,JPX, Method and an apparatus for system encoding bitstreams for seamless connection.
Civanlar Mehmet R. (Middletown NJ) Gaglianello Robert D. (Little Silver NJ), Multiple resolution, multi-stream video system using a single standard coder.
Chen Cheng-Tie (Bridgewater Township ; Somerset County NJ) Wong Andria H. (Morristown Township ; Morris County NJ), Pseudo-constant bit rate video coding with quantization parameter adjustment.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.