Patentable/Patents/US-9258569
US-9258569

Moving image processing method, program and apparatus including slice switching

PublishedFebruary 9, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

It is an object of the present invention to provide a method, a program, and an apparatus for processing a moving image, allowing efficient and smooth decoding in a simple configuration without heavily depending on the functions of an OS. Herein disclosed is a method for processing a moving image using a plurality of processing units, comprising: a step of dividing a frame of the moving image into a plurality of slices, where a number of the plurality of slices is not a multiple of a number of the plurality of processing units; a processing step, assigned to each of the plurality of slices, for processing each of the plurality of slices; and a switching step for executing slice switching, which switches between the slices to be processed, in the processing step. The method according to the present invention, not limited to the processing of moving images, allows efficient and smooth decoding in a simple configuration, even if the number of slices is not an integer multiple of the number of the processing units, without heavily depending on the functions of an OS.

Patent Claims
26 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method implemented by a computer for processing a moving image using a plurality of processing units, comprising: dividing a frame of the moving image into a plurality of slices, where a number of the plurality of slices is not an integer multiple of a number of the plurality of processing units; dividing each slice into a plurality of portions based on total number of processing units; processing, assigned to each of the plurality of slices, for processing each of the plurality of slices; and executing slice switching, which switches between the slices to be processed, in the processing step, wherein the switching-comprises: executing an event generation instruction for generating an event triggered processing of another slice; and executing an event standby instruction for waiting for an event to be generated by the event generation instruction and triggering processing of the slice in response to the event; wherein the event generation instruction and the event standby instruction are set to be triggered at predetermined positions corresponding to a different portion for each respective slice such that slice switching for each processor provides equally divided quantity of processing by the plurality of processors.

2

2. A method implemented by a computer for processing a moving image using a central processing unit (CPU) including a plurality of cores, comprising: dividing a frame of the moving image into a plurality of slices, where a number of the plurality of slices is not an integer multiple of a number of the plurality of cores; dividing each slice into a plurality of portions based on total number of processing units; processing, assigned to each of the plurality of slices, for processing each of the plurality of slices; and executing slice switching, which switches between the slices to be processed, in the processing step, wherein the switching step comprises: executing an event generation instruction for generating an event triggered processing of another slice; and executing an event standby instruction for waiting for an event to be generated by the event generation instruction and triggering processing of the slice in response to the event; wherein the event generation instruction and the event standby instruction are set to be triggered at predetermined positions corresponding to a different portion for each respective slice such that slice switching for each processor provides equally divided quantity of processing by the plurality of processors.

3

3. A method implemented by a computer for processing a moving image using a plurality of central processing units (CPUs), comprising: dividing a frame of the moving image into a plurality of slices, where a number of the plurality of slices is not an integer multiple of a number of the plurality of CPUs; dividing each slice into a plurality of portions based on total number of processing units; processing, assigned to each of the plurality of slices, for processing each of the plurality of slices; and executing slice switching, which switches between the slices to be processed, in the processing step, wherein the switching step comprises: executing an event generation instruction for generating an event triggered processing of another slice; and executing an event standby instruction for waiting for an event to be generated by the event generation instruction and triggering processing of the slice in response to the event; wherein the event generation instruction and the event standby instruction are set to be triggered at predetermined positions corresponding to a different portion for each respective slice such that slice switching for each processor provides equally divided quantity of processing by the plurality of processors.

4

4. The method according to claim 1 , wherein the event generation instruction generates the event on a basis of a first function provided by an operating system (OS), and the event standby instruction waits for the event on a basis of a second function provided by the OS.

5

5. The method according to claim 1 , wherein processing carried out in the processing step includes a decoding of the moving image including the plurality of slices.

6

6. The method according to claim 5 , wherein the moving image including the plurality of slices is encoded according to the AVC intra standard.

7

7. The method according to claim 1 , wherein the plurality of processing units includes at least one digital signal processor (DSP).

8

8. A non-transitory computer readable medium executable by a computer for processing a moving image using a plurality of processing units, comprising: code for dividing a frame of the moving image into a plurality of slices, where a number of the plurality of slices is not an integer multiple of a number of the plurality of processing units; code for dividing each slice into a plurality of portions based on total number of processing units; code for processing, assigned to each of the plurality of slices, for processing each of the plurality of slices; and code for executing slice switching, which switches between the slices to be processed, in the processing step, wherein the switching comprises: executing an event generation instruction for generating an event triggered processing of another slice; and executing an event standby instruction for waiting for an event to be generated by the event generation instruction and triggering processing of the slice in response to the event; wherein the event generation instruction and the event standby instruction are set to be triggered at predetermined positions corresponding to a different portion for each respective slice such that slice switching for each processor provides equally divided quantity of processing by the plurality of processors.

9

9. An apparatus for processing a moving image, comprising: a dividing unit for dividing a frame of the moving image into a plurality of slices, wherein a number of the plurality of slices is not an integer multiple of a number of a plurality of processing units, and for dividing each slice into a plurality of portions based on total number of processing units; a plurality of processing units, wherein each of the plurality of slices is assigned to one of the plurality of processing units, for processing the plurality of slices; and a switching unit for executing slice switching, which switches between the slices to be processed, wherein the switching unit for executing slice switching comprises: an event generation unit for executing an event generation instruction for generating an event triggered processing of another slice; an event standby unit for executing an event standby instruction for waiting for an event to be generated by the event generation instruction and triggering processing of the slice in response to the event; wherein the event generation instruction and the event standby instruction are set to be triggered predetermined positions corresponding to a different portion for each respective slice such that slice switching for each processor provides equally divided quantity of processing by the plurality of processors.

10

10. The apparatus according to claim 9 , wherein the processing unit includes a threshold unit for assigning a threshold value to each of the plurality of slices.

11

11. The apparatus according to claim 10 , wherein the predetermined position corresponds to reaching the threshold value of at least one of the plurality of slices.

12

12. The apparatus of according to claim 11 , wherein the threshold value assigned to each of the plurality of slices includes a processing quantity, and further wherein the processing quantity for each of the plurality of slices is different.

13

13. The method according to claim 1 , wherein the processing step comprises assigning a threshold value to each of the plurality of slices.

14

14. The method according to claim 13 , wherein the predetermined position corresponds to reaching the threshold value of at least one of the plurality of slices.

15

15. The method according to claim 14 , wherein the threshold value assigned to each of the plurality of slices includes a processing quantity, and further wherein the processing quantity for each of the plurality of slices is different.

16

16. The apparatus according to claim 9 , wherein the event generation instruction corresponds to generating the event on a basis of a first function provided by an operating system (OS), and the event standby instruction corresponds to waiting for the event on a basis of a second function provided by the OS.

17

17. The apparatus according to claim 9 , wherein the plurality of processing units are configured to decode the moving image.

18

18. The apparatus according to claim 17 , wherein the moving image including the plurality of slices is encoded according to the AVC intra standard.

19

19. The apparatus according to claim 9 , wherein the plurality of processing units includes at least one digital signal processor (DSP).

20

20. The computer readable medium according to claim 8 , wherein the event generation instruction corresponds to generating the event on a basis of a first function provided by an operating system (OS), and the event standby instruction corresponds to waiting for the event on a basis of a second function provided by the OS.

21

21. The computer readable medium according to claim 8 , wherein the plurality of processing units are configured to decode the moving image.

22

22. The computer readable medium according to claim 21 , wherein the moving image including the plurality of slices is encoded according to the AVC intra standard.

23

23. The computer readable medium according to claim 8 , wherein the plurality of processing units includes at least one digital signal processor (DSP).

24

24. The computer readable medium according to claim 8 , wherein the processing includes assigning a threshold value to each of the plurality of slices.

25

25. The computer readable medium according to claim 24 , wherein the predetermined position corresponds to reaching the threshold value of at least one of the plurality of slices.

26

26. The computer readable medium according to claim 25 , wherein the threshold value assigned to each of the plurality of slices includes a processing quantity, and further wherein the processing quantity for each of the plurality of slices is different.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 26, 2008

Publication Date

February 9, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Moving image processing method, program and apparatus including slice switching” (US-9258569). https://patentable.app/patents/US-9258569

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.