SYSTEM AND METHOD FOR OPTIMIZING BILL OF MATERIAL COST AND POWER PERFORMANCE OF PLATFORM SYSTEM-ON-CHIP IN MOBILE DEVICES

20230376649 · 2023-11-23

    Inventors

    Cpc classification

    International classification

    Abstract

    The present invention provides a system and method for optimizing BoM cost of platform SoC in mobile devices. The system (100) comprises a CPU with SIMD extensions wherein video codec encoder/decoder module is implemented (101), and another CPU with SIMD extensions instead of DSP/VLIW core wherein post-processing filtering module (Deblocking filter) (102) module is implemented. Replacing DSP/VLIW core in platform SoC helps in lowering the BoM cost and the inventive steps helps in achieving bit-exact results overcoming the limitations of CPU ISA as against DSP ISA. The power consumed is either case (deblocking filter on CPU, DSP ISA) is the same, thus giving value additions to platform SoC designers and makers.

    Claims

    1. A system (100) for optimizing Bill of Material (BoM) cost and power performance of platform System-On-Chip (SoC) in mobile devices, the system (100) comprising: a. a Central Processing Unit (CPU) core with Single Instruction Multiple Data (SIMD) extensions (101) which implements the video encoder/decoder modules; b. in-loop filter/post-processing modules including deblocking filter (102), wherein the filter module receives previously processed video frame samples from the encoder/decoder (101), wherein the filtering module (102) is implemented in another CPU core with SIMD extensions; c. saturation is turned off in the in-loop filtering/post processing module (deblocking filter); and d. the SoC is designed to have multiple CPU with SIMD extensions to have pipelined implementation of the video encoder/decoder modules and filtering modules between the cores; where in the Arithmetic Logic Unit (ALU) of CPU is designed without saturation in the critical instructions, wherein the critical instruction include but not limited to Multiply and Accumulate (MAC) and shift instructions.

    2. The system as claimed in claim 1, wherein the video codec module (101, 102) includes MPEG-1, MPEG-2, MPEG-4, H.264, H.265, AV1, VP8, VP10 standard video codecs.

    3. The system as claimed in claim 1, wherein the mobile device includes portable cell phone, mobile handset, mobile phone, wireless phone, cellular phone, portable phone, a personal digital assistant (PDA), and smartphones.

    4. The system as claimed in claim 1, wherein the BoM cost of platform SoC is reduced compared to platform SoC having Digital Signal Processor/Very Large Instruction Word (DSP/VLIW) core to implement in-loop/post-processing (deblocking filter).

    5. A method for optimizing BoM cost and power performance of platform SoC in mobile devices, the method comprising the steps of: a. video encoder/decoder module implementation on a CPU core with SIMD extensions (101); b. in-loop/post-processing Filter modules including deblocking filter (102), wherein the filter module receives previously processed video frame samples from the encoder/decoder (101), wherein the filtering module (102) is implemented in another CPU core with SIMD extensions; c. saturation is turned off in the in-loop filtering/post processing module (deblocking filter); and d. the SoC is designed to have multiple CPU with SIMD extensions to have pipelined implementation of the video encoder/decoder modules and filtering modules between the cores; where in the ALU of CPU is designed without saturation in the critical instructions, wherein the critical instruction include but not limited to MAC and shift instruction.

    6. The method as claimed in claim 5, wherein the video codec modules (101, 102) include MPEG-1, MPEG-2, MPEG-4, H.264, H.265, AV1, VP8, VP10 standard video codecs.

    7. The method as claimed in claim 5, wherein the mobile device includes portable cell phone, mobile handset, mobile phone, wireless phone, cellular phone, portable phone, a personal digital assistant (PDA) and smartphones.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0015] The foregoing and other features of embodiments will become more apparent from the following detailed description of embodiments when read in conjunction with the accompanying drawings. In the drawings, like reference numerals refer to like elements.

    [0016] FIG. 1 illustrates a block diagram of a system for implementing video codecs in the platform SoC in mobile devices, according to one embodiment of the invention.

    [0017] FIG. 2 illustrates method for optimizing BoM cost of platform SoC, according to one embodiment of the invention.

    [0018] FIG. 3 illustrates method for optimizing BoM cost of platform SoC whilst implementing video codecs in mobile devices, according to one embodiment of the invention.

    DETAILED DESCRIPTION OF THE INVENTION

    [0019] Reference will now be made in detail to the description of the present subject matter, one or more examples of which are shown in figures. Each example is provided to explain the subject matter and not a limitation. Various changes and modifications obvious to one skilled in the art to which the invention pertains are deemed to be within the spirit, scope and contemplation of the invention.

    [0020] In order to more clearly and concisely describe and point out the subject matter of the claimed invention, the following definitions are provided for specific terms, which are used in the following written description.

    [0021] The present invention provides a system and method for optimizing BoM cost of platform SoC and power-performance in mobile devices. The system comprises a CPU with SIMD extensions wherein, a video codec encoder, a video codec decoder is implemented, another CPU with SIMD extensions wherein in-loop filtering/post processing modules (deblocking filter) is implemented. The pipelined implementation of video codecs and post-processing modules (deblocking filter) in CPU with SIMD extension instead of DSP/VLIW respectively results in up-to several thousand logic gates reduction in platform SoC compared to implementation of all the module on DSP/VLIW processor.

    [0022] FIG. 1 illustrates a block diagram of a system for implementing video codecs in mobile devices, according to one embodiment of the invention. In a preferred embodiment, the system comprises a CPU core with SIMD extensions (101) which is tasked with Video frame encoding/decoding. The processed video samples are then passed to in-loop filtering/post processing module (deblocking filter) on another CPU with SIMD extensions (102).

    [0023] The video frame samples are fed to a video codec encoder/decoder module (101). The video codec encoder module is configured to encode the video signal running on a CPU with SIMD extensions. The various coding tools of the digital video compressed standard specification namely intra prediction, Motion Estimation/inter prediction, transform, quantization, bitstream encoding including VLC, CAVLC, CABAC is implemented on the CPU with SIMD extensions. The processing of video frames is pipelined between the CPU and another CPU instead of DSP/VLIW, deblocking filter implemented on CPU core. The current consumption in the SoC in either case (deblocking filter on CPU, DSP) is same while reducing BoM cost significantly in using CPU (102) compared to an implementation of the deblocking filter single or multiple DSP/VLIW core.

    [0024] The video codec decoder module (101) is configured to decode the received compressed video signals (running on a CPU with SIMD extension). The decoded video samples are then post processed (deblocking filter). The post processing modules (deblocking filter) (102) is implemented in a CPU instead of DSP/VLIW processor.

    [0025] FIG. 2 In an embodiment of the invention, the pipelined implementation of video codec and post-processing (deblocking filter) modules on different CPU cores respectively results in efficient implementation of video codecs without increase in current consumption whilst reducing BoM cost of platform SoC. The Architecture of the SoC contains multiple CPU with SIMD extensions cores without any DSP/VLIW core. Thus, lower BoM cost platform SoC is built while still maintaining same power consumption in video in the present invention

    [0026] FIG. 3 illustrates the method for optimizing power consumption in video communication in mobile devices, according to one embodiment of the invention. In a preferred embodiment, the method initiates with the step of receiving and recording raw video at step 301.

    [0027] At step 302, video frame samples are encoded by a video codec encoder module. The video encoder is implemented on CPU with SIMD extensions. The deblocking filter and other post processing is implemented on CPU core at step 303. The current consumption in video call is still the same as compared to DSP core implementation and achieving bit-exact results overcoming the limitation of CPU ISA.

    [0028] At step 304, the compressed video signal is decoded by the video codec decoder (101).

    [0029] At step 305, decoded video is deblocking filtered and post-processed to get output video frame (102).

    [0030] The inventive step in in-loop/post-processing (deblocking) module implemented on CPU with SIMD extensions is described now. The video frame samples are usually 8 bits. 10 bit video samples are supported nowadays. In deblocking module, the block size could vary from 4×4 to 32×32 depending on the video standard. The reference samples are also 8 bit or 10 bit and are subjected to filtering. The output of this is still 8 or 10 bits, and can fit within 16-bit span of a 32-bit register. The filtering operation is 3 tap filter, the intermediate results still within 16-bit span. Turning off saturation is thus safe, and the instruction set can constructed without saturation embedded into it and SIMD optimization is possible, thus saving Bill of Material (BOM) cost and giving similar power performance as in DSP implementation of deblocking filter.

    [0031] Thus, the present invention provides a method to optimize the BoM cost of platform SoC in mobile device.

    [0032] As used in this application, the terms “component” and “system” are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers.

    [0033] Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.

    [0034] The illustrated aspects of the innovation may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

    [0035] A computer typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.

    [0036] Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.

    [0037] Software includes applications and algorithms. Software may be implemented in a smart phone, tablet, or personal computer, in the cloud, on a wearable device, or other computing or processing device. Software may include logs, journals, tables, games, recordings, communications, SMS messages, Web sites, charts, interactive tools, social networks, VOIP (Voice Over Internet Protocol), e-mails, and videos.

    [0038] In some embodiments, some or all of the functions or process(es) described herein and performed by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase “computer readable program code” includes any type of computer code, including source code, object code, executable code, firmware, software, etc. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory.

    [0039] All publications and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication or patent application was specifically and individually indicated to be incorporated by reference.

    [0040] While the invention has been described in connection with various embodiments, it will be understood that the invention is capable of further modifications. This application is intended to cover any variations, uses or adaptations of the invention following, in general, the principles of the invention, and including such departures from the present disclosure as, within the known and customary practice within the art to which the invention pertains.