WO2012081299A1 - 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法 - Google Patents

画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法 Download PDF

Info

Publication number
WO2012081299A1
WO2012081299A1 PCT/JP2011/073500 JP2011073500W WO2012081299A1 WO 2012081299 A1 WO2012081299 A1 WO 2012081299A1 JP 2011073500 W JP2011073500 W JP 2011073500W WO 2012081299 A1 WO2012081299 A1 WO 2012081299A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
image quality
processing system
unit
host device
Prior art date
Application number
PCT/JP2011/073500
Other languages
English (en)
French (fr)
Inventor
裕介 奈良
孝司 澤田
幸弘 鵜飼
基康 田中
川井 英次
堅一 前
Original Assignee
株式会社メガチップス
任天堂株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社メガチップス, 任天堂株式会社 filed Critical 株式会社メガチップス
Priority to CN201180055005.9A priority Critical patent/CN103202030B/zh
Priority to EP11849633.0A priority patent/EP2654293A4/en
Priority to US13/885,104 priority patent/US9406104B2/en
Publication of WO2012081299A1 publication Critical patent/WO2012081299A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Definitions

  • the present invention relates to image data transmission technology.
  • the image data When transmitting image data between two devices, the image data is usually subjected to compression processing (encoding processing) in order to reduce the transmission band (for example, Patent Document 1).
  • compression processing encoding processing
  • Examples of compression methods for image data include H.264. H.264, MPEG (Moving Picture Experts Group) -4, etc. are employed. Since these compression systems are irreversible compression systems, an image obtained by decompression processing in an apparatus that has received image data. An image based on the data is an image with degraded image quality.
  • the delay time caused by the transmission of image data and the image quality of the transmitted image have a correlation with each other. If the delay time is shortened, the image quality deteriorates, and if the image quality is maintained, the delay time becomes longer.
  • a delay caused by the transmission of image data may not be allowed.
  • the image reflecting the input operation is transmitted from the transmitting device.
  • the response to the user's input operation is quick from the viewpoint of the convenience of the user.
  • image data is transmitted with the delay time caused by image data transmission suppressed, so that an image with degraded image quality is displayed on the receiving device.
  • the present invention provides a technique capable of improving the image quality of an image displayed based on transmitted image data without impairing user convenience due to delay caused by the transmission of image data. Objective.
  • a first aspect of an image processing system includes: a host device that outputs image data; and a client device that includes a display unit that displays an image based on the image data transmitted from the host device,
  • the host device has image quality control means for controlling the image quality of the image displayed on the display unit in accordance with the operation status of the image processing system, and the image quality control means is provided from the host device to the client device.
  • the image quality of the image displayed on the display unit is improved.
  • a second aspect of the image processing system is the first aspect, wherein the host device sets an image quality level of an image displayed on the display unit according to the operation status.
  • An image quality setting means for outputting image quality information relating to the set image quality level
  • an encoding condition setting means for setting an encoding condition at the time of encoding based on the image quality information, and based on the encoding condition
  • the image quality control unit includes an encoding unit that performs an encoding process on the image data, and the image quality setting unit increases the image quality level in the operation situation in which the delay of the image display is allowed. Output information.
  • a third aspect of the image processing system is the second aspect described above, wherein the encoding condition setting means is an area within one frame of image data and is generated by encoding.
  • a unit coding area indicating the management range of the generated code amount is specified based on the image quality information output by the image quality setting means, and the unit coding area is output as the coding condition.
  • a code amount control means for controlling a quantization parameter by determining a target code amount per macroblock obtained by dividing one frame into a plurality of regions based on the coding condition;
  • Quantization means that performs quantization processing using a quantization step determined accordingly and generates encoded image data.
  • the 4th aspect of the image processing system which concerns on this invention is the said 3rd aspect, Comprising:
  • the said code amount control means calculates the target code amount per macroblock contained in the said unit coding area,
  • the generated code amount of the unit coding area is determined to be within the total target code amount of the unit coding area.
  • a fifth aspect of the image processing system is any one of the second aspect to the fourth aspect, in which the client device performs processing on image data transmitted from the host device.
  • Decoding means for performing a decoding process wherein the image processing system performs the encoding process, the transmission process of image data from the host apparatus to the client apparatus, and the decoding process, respectively. This is performed independently for each unit coding area.
  • a sixth aspect of the image processing system is any one of the second aspect to the fifth aspect, wherein the operation situation in which the delay of the image display is allowed is A situation in which a scene intended for viewing is displayed on the display unit is included.
  • a seventh aspect of the image processing system is the sixth aspect, wherein the host device has a storage unit for storing a program for reproducing the scene for viewing.
  • the program incorporates an image quality setting command for raising the image quality level.
  • the image quality setting means receives the image quality setting command and sets the image quality level. Set.
  • An eighth aspect of the image processing system according to the present invention is the seventh aspect, wherein a program for reproducing the viewing-purpose scene is configured as a function, and an API (Application Program Interface) of the function Is open to programmers.
  • a program for reproducing the viewing-purpose scene is configured as a function
  • an API Application Program Interface
  • the ninth aspect of the image processing system is the sixth aspect, wherein the host device has a storage unit for storing a program for reproducing the scene for viewing.
  • the viewing-purpose scene name is described as a comment sentence, and the comment sentence relating to the viewing-purpose scene name is preprocessed before pre-compilation.
  • the image quality setting means receives an image quality setting command issued by execution of the program including the object code generated from the source code, The image quality level is set.
  • a tenth aspect of the image processing system is any one of the second aspect to the fifth aspect, wherein the operation situation in which the delay of the image display is allowed includes A situation is included in which application software of a specific genre that requires a think time for a user who visually recognizes the display unit is being executed.
  • An eleventh aspect of the image processing system is the tenth aspect, wherein the host device includes a storage unit that stores a function for issuing an image quality setting instruction according to a genre of application software.
  • the function is used in the application software of the specific genre, the specific genre is set as an argument of the function in the application software of the specific genre, and the image quality setting means is the application of the specific genre.
  • the image quality setting means is the application of the specific genre.
  • the twelfth aspect of the image processing system according to the present invention is the eleventh aspect, and an API of a function for issuing an image quality setting command according to the genre of application software is disclosed to a programmer.
  • a thirteenth aspect of the image processing system is the tenth aspect, in which the host device executes a first function executed in an initialization process of application software, and the first function And a second function for storing an image quality setting command according to the genre of the application software set as an argument.
  • the first function is used in the application software of the specific genre, and the specific genre In the application software, the specific genre is set as an argument of the first function, the second function is executed by executing the first function, and the image quality setting unit executes the application software of the specific genre.
  • the fourteenth aspect of the image processing system according to the present invention is the thirteenth aspect, and the API of the first function is disclosed to a programmer.
  • a fifteenth aspect of the image processing system is the tenth aspect, wherein the specific genre is described as a comment sentence in the source code of the application software of the specific genre, and the specific genre The comment sentence regarding is replaced with the source code of the image quality setting instruction for raising the image quality level by a preprocessor that performs preprocessing before compiling, and the image quality setting means includes the object code generated from the source code.
  • the image quality level is set in response to the image quality setting command issued by execution of application software of a specific genre.
  • a sixteenth aspect of the image processing system according to the present invention is any one of the second aspect to the fifth aspect, wherein the operation situation in which the delay of the image display is allowed is This includes situations where the host device is reading data.
  • the host device includes a storage unit that stores a program for executing data reading, and the program Includes an image quality setting command for raising the image quality level.
  • the image quality setting means receives the image quality setting command and sets the image quality level. .
  • An eighteenth aspect of the image processing system according to the present invention is the seventeenth aspect, wherein a program for executing data reading is configured as a function, and an API of the function is disclosed to a programmer.
  • the nineteenth aspect of the image processing system according to the present invention is any one of the sixteenth aspect to the eighteenth aspect described above, wherein the host device reads the data when the host device is reading data. Includes a situation in which data is read from an external storage medium attached to the computer.
  • a twentieth aspect of the image processing system is any one of the second to fifth aspects, wherein the client device detects an operation of a user on the client device.
  • the operation situation having the detection unit and allowing the delay of the image display includes a situation where the operation amount of the user detected by the operation detection unit is equal to or less than a predetermined amount.
  • a twenty-first aspect of the image processing system is the twentieth aspect, wherein the client device transmits information detected by the operation detection means to the host device as operation information,
  • the image quality setting means outputs image quality information for increasing the image quality level when the non-operation period specified based on the operation information is equal to or longer than a predetermined period.
  • a twenty-second aspect of the image processing system is the twentieth aspect or the twenty-first aspect, wherein the operation detecting means detects a movement given to the client device by a user.
  • a detection sensor is included, and the client device includes information detected by the detection sensor in the operation information and transmits the operation information to the host device, and the image quality establishing means is based on the information detected by the detection sensor. If the specified movement amount of the client device does not change over a predetermined time, the image quality level is increased.
  • a twenty-third aspect of the image processing system is the twentieth aspect, wherein the client device transmits information detected by the operation detection means to the host device as operation information
  • the host device includes an operation monitoring unit that monitors a user operation on the client device based on the operation information, and the operation monitoring unit is configured to display the image quality when a user operation amount is a predetermined amount or more.
  • An image quality setting command for lowering the level is output. If the user's operation amount is less than a predetermined amount, an image quality setting command for increasing the image quality level is output.
  • a twenty-fourth aspect of the image processing system according to the present invention is any one of the second to the twenty-third aspects, wherein the image quality setting means is an operation in which a delay of the image display is allowed. Image quality information for lowering the image quality level is output at a time point before the time point when the situation changes to the operation state where the delay in image display is not allowed.
  • a twenty-fifth aspect of the image processing system is any one of the twentieth to the twenty-fourth aspects, in which the host device is configured so that a user's operation can be
  • the host device is configured so that a user's operation can be
  • a storage unit for storing a program for executing a predetermined event at a time point before the scene change time point when the operation is changed to a required scene; and the image quality setting for lowering the image quality level in the program
  • the image quality setting means receives the image quality setting command and sets the image quality level.
  • a twenty-sixth aspect of the image processing system according to the present invention is the twenty-fifth aspect, wherein a program for executing the predetermined event is configured as a function, and an API of the function is disclosed to a programmer. Is done.
  • a twenty-seventh aspect of the image processing system is any one of the twentieth aspect to the twenty-fourth aspect, in which the host device starts from a scene where no user operation is required.
  • a storage unit that stores a program that executes an event at a scene change time to change to a scene that requires an operation, and the source code of a program that executes an event at the scene change time, when compiled,
  • a special instruction for placing an image quality setting instruction for lowering the image quality level at a predetermined time before the scene change time, and the image quality setting means includes an object code generated by compiling the source code.
  • a twenty-eighth aspect of the image processing system according to the present invention is the twenty-seventh aspect, wherein a program for executing an event at the scene change time is configured as a function, and an API of the function is disclosed to a programmer. Is done.
  • a twenty-ninth aspect of the image processing system is any one of the second to fifth aspects, wherein the client device detects an operation of a user on the client device.
  • the client device transmits information detected by the operation detection unit to the host device as operation information, and the host device has an operation state in which delay of the image display is allowed in the host device. , A situation is set such that an instruction based on the operation information is not accepted.
  • a thirtieth aspect of the image processing system is the twenty-ninth aspect, wherein the host device stores a program for not accepting an instruction based on the operation information.
  • the program includes an image quality setting command for increasing the image quality level, and the image quality setting means receives the image quality setting command when the image quality setting command is issued by executing the program.
  • the image quality level is set.
  • a thirty-first aspect of the image processing system according to the present invention is the thirty-first aspect, wherein a program for not accepting an instruction based on the operation information is configured as a function.
  • the API is open to programmers.
  • a thirty-second aspect of the image processing system is any one of the second to fifth aspects, wherein the host device has an image generating means for generating a 3D image.
  • the client device includes an operation detection unit that detects a user operation on the client device, and the 3D image generated by the image generation unit is included in the operation situation in which delay of the image display is allowed. This includes a situation in which the viewing viewpoint position is moving, and a situation in which a user operation is detected by the operation detection means in a predetermined period before the viewpoint position is moved.
  • a thirty-third aspect of the image processing system is the thirty-second aspect, in which the client device transmits information detected by the operation detection means to the host device as operation information,
  • the image generation unit continuously changes the viewpoint position with respect to the image quality setting unit when performing the viewing conversion that continuously changes the viewpoint position.
  • the image quality setting means detects a user operation during a predetermined period before the input of the signal indicating that the viewpoint position is continuously changed based on the operation information. If not, image quality information for raising the image quality level is output.
  • a thirty-fourth aspect of the image processing system is any one of the second to fifth aspects, wherein the host device has an image generation means for generating a 3D image.
  • the client device has operation detection means for detecting a user operation on the client device, and the client device transmits information detected by the operation detection means to the host device as operation information, and the image
  • the generation means indicates that the viewpoint position is continuously changed with respect to the image quality setting means.
  • the image quality setting means is configured so that the user's operation during a predetermined period before the input of the signal indicating that the viewpoint position is continuously changed is When detected on the basis of the information outputs image quality information to lower the image quality level.
  • a thirty-fifth aspect of the image processing system is the first aspect, wherein the host device sets an image quality level of an image displayed on the display unit according to the operation status.
  • the image quality control means includes image quality setting means for outputting image quality information relating to the set image quality level, and coding means for performing coding processing on the image data based on the image quality information,
  • the encoding means identifies a unit encoding area that is a region within one frame of image data and indicates a management range of a generated code amount generated by encoding, based on the image quality information, and includes a plurality of frames as one frame.
  • a code amount control means for controlling a quantization parameter by determining a target code amount per one macroblock obtained by dividing into regions based on the unit coding area; and the quantization parameter. It performs quantization process using a quantization step determined in accordance with the data, and a quantizing means for generating image data encoded.
  • a thirty-sixth aspect of the image processing system according to the present invention is the first aspect, wherein the host device sets an allowable delay time for image display on the display unit according to the operation status. Then, the delay time setting means for outputting the delay time information relating to the set allowable delay time, and the encoding means for performing the encoding process on the image data based on the delay time information are used as the image quality control means.
  • the encoding means is an area within one frame of image data, and specifies a unit encoding area indicating a management range of a generated code amount generated by encoding based on the delay time information;
  • a code amount control means for determining a target code amount per macroblock obtained by dividing one frame into a plurality of regions based on the unit coding area, and controlling a quantization parameter;
  • Serial performs quantization process using a quantization step determined in accordance with the quantization parameter, and a quantization means for generating image data encoded.
  • output means for generating image data of an image to be displayed on the display unit of the client device and outputting the image data, the host device and the client device.
  • Image quality control means for controlling the image quality of the image displayed on the display unit in accordance with the operation status of the image processing system including the image quality control means, wherein the image quality control means transmits image data from the host device to the client device.
  • the image quality of the image is improved in the operation situation in which the delay of image display caused by the above is allowed.
  • the first aspect of the operation method of the image processing system is a client device having a host device that outputs image data and a display unit that displays an image based on the image data transmitted from the host device.
  • An operation method of the image processing system comprising: a) a step of grasping an operation state of the image processing system in the host device; and b) a step from the host device to the client device in the step a).
  • a step of improving the image quality of an image displayed on the display unit when an operation state in which a delay in image display caused by transmission of image data is allowed is grasped.
  • a second aspect of the operation method of the image processing system is the first aspect of the operation method, wherein the step b) is performed according to the operation situation grasped in the step a).
  • An image quality setting step for setting an image quality level of an image displayed on the display unit and outputting image quality information relating to the set image quality level; and a code for setting an encoding condition for encoding based on the image quality information
  • the image quality information for increasing the image quality level is output.
  • a third aspect of the operation method of the image processing system is the second aspect of the operation method, wherein the encoding condition setting step includes an area within one frame of the image data.
  • the unit coding area indicating the management range of the generated code amount generated by the coding is specified based on the image quality information output in the step b-1, and the unit coding area is output as the coding condition.
  • the encoding step determines a target code amount per macroblock obtained by dividing one frame into a plurality of regions based on the encoding condition, and controls a quantization parameter. And a quantization step of performing quantization processing using a quantization step determined according to the quantization parameter to generate encoded image data.
  • a fourth aspect of the operation method of the image processing system according to the present invention is the third aspect of the operation method, and in the code amount control step, per macroblock included in the unit coding area. Is determined so that the generated code amount of the unit coding area falls within the total target code amount of the unit coding area.
  • a fifth aspect of the operation method of the image processing system is any one of the second aspect to the fourth aspect of the operation method, wherein the image data transmitted from the host device is
  • the image processing system further includes a decoding process for performing a decoding process in the client device, and the encoding process, a transmission process of image data from the host device to the client device, and the decoding Conversion processing is performed sequentially for each unit coding area.
  • a sixth aspect of the operation method of the image processing system according to the present invention is any one of the second aspect to the fifth aspect of the operation method.
  • the image display Image quality information that lowers the image quality level is output at a time point before the time point when the operation state in which the delay is allowed is changed to the operation state in which the delay in image display is not allowed.
  • an image including a host device that outputs image data and a client device that includes a display unit that displays an image based on the image data transmitted from the host device.
  • a host device that outputs image data
  • a client device that includes a display unit that displays an image based on the image data transmitted from the host device.
  • a method for creating a program stored in the storage unit of the host device of the image processing system provided, and shows a scene name of the viewing purpose described in a source code of the program for reproducing the scene of the viewing purpose Replacing the comment sentence with a source code of an image quality setting instruction for increasing the image quality level of the image displayed on the display unit by a preprocessor that performs preprocessing before compiling, and the image quality level from the source code by compilation Generating a program including the object code of the image quality setting instruction That.
  • a host device that outputs image data
  • a client device that includes a display unit that displays an image based on the image data transmitted from the host device.
  • a method of creating a program stored in a storage unit of the host device of the image processing system provided with a comment sentence indicating the specific genre described in the source code of the application software of the specific genre before compiling An image quality setting instruction object that raises the image quality level from the source code by compiling the source code of the image quality setting instruction that raises the image quality level of the image displayed on the display unit by a pre-processor Generating a program including code .
  • a host device that outputs image data
  • a client device that includes a display unit that displays an image based on the image data transmitted from the host device.
  • a method for creating a program stored in a storage unit of the host device of an image processing system provided with an event at the time of a scene change that changes from a scene that does not require user operation to a scene that requires user operation
  • Compiling a source code of a program for executing the program, wherein in the source code, an image quality setting instruction for lowering an image quality level of an image displayed on the display unit by executing the process is provided at a predetermined time at the scene change time. Includes special instructions to be placed before time.
  • the present invention it is possible to improve the image quality of an image displayed based on the transmitted image data without impairing the user's convenience due to the delay caused by the transmission of the image data.
  • FIG. 1 is a diagram illustrating a schematic configuration of an image processing system according to an embodiment of the present invention. It is a figure which shows the specific structure of the image coding apparatus and image decoding apparatus which comprise an image processing system. It is a block diagram which shows the structure of an encoding part. It is a table which shows the relationship between image quality mode and an encoding condition. It is a figure for demonstrating the encoding process in an image coding apparatus. It is a figure for demonstrating the encoding process in an image coding apparatus. It is a figure for demonstrating the encoding process in an image coding apparatus. It is a figure which shows the transmission operation
  • FIG. 1 is a diagram showing a schematic configuration of an image processing system 1 according to an embodiment of the present invention.
  • the image processing system 1 includes an image encoding device 10 and an image decoding device 30.
  • the image encoding device 10 of the image processing system 1 encodes the image data generated by the image generation unit 11.
  • the image data encoded by the image encoding device 10 is transmitted from the image encoding device 10 to the image decoding device 30 by communication means (output means) such as wired communication or wireless communication.
  • the image data transmitted to the image decoding device 30 is decoded by the image decoding device 30 and displayed on the display unit 34.
  • the image processing system 1 of the present embodiment includes an image quality control unit 15 that controls the image quality of an image displayed on the display unit 34.
  • the image quality control unit 15 detects the operation status SA of the image processing system 1 and controls the image quality of the image displayed on the display unit 34 according to the detected operation status SA.
  • operation information input by the user (user) via the operation unit 35 of the image decoding device 30 is transferred from the image decoding device 30 to the image encoding device 10 by the communication unit.
  • the image processing system 1 executes an operation according to the operation information.
  • the image encoding device 10 has a role as a host device that is the core of processing in the system, and the image decoding device 30 uses functions or data provided by the host device. It has a role as a client device that operates.
  • the image processing system 1 may be configured such that, for example, a plurality of image decoding devices 30 are provided for one image encoding device 10. In this case, one image encoding device 10 is provided. Thus, the image data is transmitted to the plurality of image decoding devices 30.
  • the image encoding device 10 operates as a game machine body, and the image decoding device 30 is operated by an operation terminal (simply “operation terminal”). Or “terminal”).
  • operation terminal implies “operation terminal”. Or “terminal”.
  • the game operator can enjoy the game by giving an instruction operation to the operation terminal while visually recognizing the image displayed on the display unit of the operation terminal.
  • the image processing system 1 does not allow a delay (delay) with respect to the display of an image on the display unit as well as a system that requires a response to an operation by a user who visually recognizes the display unit as in a game system. Includes other systems.
  • the image data of the image and the image itself are equally expressed as “image” within a range where there is no possibility of confusion.
  • the “image” in this specification is used as a concept including a still image and a moving image.
  • FIG. 2 is a diagram illustrating a specific configuration of the image encoding device 10 and the image decoding device 30 included in the image processing system 1.
  • the image encoding device 10 includes an image generation unit 11, an overall control unit 12, an encoding unit 13, and a communication unit 14.
  • the image generation unit 11 is configured using a GPU (Graphic Processing Unit) and has a function of sequentially generating image data of an image forming a moving image.
  • the GPU is a semiconductor chip that is specifically designed for image processing as compared with a general-purpose CPU, and is mounted on the image encoding device 10 separately from a normal CPU.
  • the image data generated by the image generation unit 11 is output to the encoding unit 13.
  • the image generation unit 11 generates image data of a moving image using image data stored in an external storage medium (not shown) such as a memory card or a CD-ROM attached to the image encoding device 10. You can also
  • the encoding unit (also referred to as “encoder”) 13 performs compression processing (also referred to as “encoding processing”) of a predetermined moving image compression method on the image data input from the image generation unit 11 to compress the image data. Generate image data. Examples of the moving image compression method include H.264. H.264, MPEG (Moving Picture Experts Group) -2, MPEG-4, and the like are employed. The detailed configuration of the encoding unit 13 will be described later.
  • the compressed image data generated by the encoding unit 13 is input to the communication unit 14 and transmitted to the outside of the image encoding device 10 by the communication unit 14.
  • the overall control unit 12 includes a CPU, a ROM, a RAM, and the like (all not shown), and comprehensively controls each operation of the image encoding device 10 and the image processing system 1.
  • the overall control unit 12 functionally realizes the image quality setting unit 121 and the encoding condition setting unit 122 by executing a program stored in the ROM by the CPU.
  • the image quality setting unit 121 and the encoding condition setting unit 122 will be described later.
  • the image encoding device 10 receives operation information input by a user (user) using the image decoding device 30 as a client device from the image decoding device 30, and the operation information is received by the overall control unit 12. To analyze.
  • the overall control unit 12 realizes various operations in response to the operation information.
  • the image decoding device 30 includes a communication unit 31, an overall control unit 32, a decoding unit 33, a display unit 34, and an operation unit 35.
  • the communication unit 31 receives data (transmission data) transmitted by the image encoding device 10 and outputs the transmission data to the overall control unit 32 or the decoding unit 33.
  • data transmission data
  • the compressed image data included in the transmission data is output to the decoding unit 33 by the communication unit 31.
  • the decoding unit (also referred to as “decoder”) 33 performs decompression processing (also referred to as “decoding processing”) on the compressed image data to obtain image data.
  • the decrypted image data is displayed on a display unit 34 such as an LCD (Liquid Crystal Display) or an organic EL display.
  • a display unit 34 such as an LCD (Liquid Crystal Display) or an organic EL display.
  • the overall control unit 32 includes a CPU, a ROM, a RAM, and the like (all not shown), and comprehensively controls each operation (for example, a communication operation, a decoding process, and a display process) of the image decoding apparatus 30. To do.
  • the operation unit 35 includes a direction selection key, a push button, and the like, and is used for causing the image processing system 1 to input a user instruction operation. That is, the operation unit 35 functions as an operation detection unit that detects a user operation on the image decoding device 30. The instruction operation input using the operation unit 35 is analyzed by the overall control unit 32, and operation information corresponding to the instruction operation is output to the image encoding device 10.
  • FIG. 3 is a block diagram illustrating a configuration of the encoding unit 13.
  • the image data output from the image generation unit 11 is stored in the image memory (frame memory) 212 via the interface (I / F) unit 211.
  • the image memory 212 temporarily stores image data for each frame.
  • the memory reading unit 213 reads the image data from the image memory 212 in units of blocks (for example, blocks of 16 pixels ⁇ 16 pixels) obtained by dividing the image into a plurality of regions.
  • the read block-unit image data (also referred to as “block image data”) 51 is input to the encoding unit 13 (specifically, the difference calculation unit 217, the intra prediction unit 214, and the inter prediction unit 215).
  • the image encoding apparatus 10 reads image data in units of blocks and performs an encoding process for each block (also referred to as “macro block” or “compressed block”).
  • the compression process executed by the encoding unit 13 of the image encoding apparatus 10 is roughly divided into three processes, that is, a predicted image generation process, a residual signal encoding process, and a local decoding process.
  • the predicted image generation processing is realized by a predicted image output unit including the intra prediction unit 214, the inter prediction unit 215, and the intra / inter switching unit 216 in FIG.
  • the intra prediction unit 214 performs intra prediction and generates an intra predicted image. Specifically, the intra prediction unit 214 receives the block image data 51 and the locally decoded image 52 of the encoded data as input, determines a prediction direction in which encoding efficiency is optimal from candidate prediction directions, The intra prediction image (intra prediction signal) and the intra prediction information (information on the prediction direction) are output as the intra information 53.
  • the inter prediction unit 215 performs inter prediction and generates an inter prediction image. Specifically, the inter prediction unit 215 receives the block image data 51 and the locally decoded image of the encoded data as input, determines a motion vector with the optimal encoding efficiency, and determines an inter prediction image (inter prediction signal) and Inter prediction information (information relating to motion vectors) is output as inter information 54.
  • the intra / inter switching unit 216 receives the intra information 53, the inter information 54, and the block image data 51 as input, and selectively selects and outputs either the intra information 53 or the inter information 54.
  • the intra / inter switching unit 216 calculates a difference value between the intra predicted image and the block image data 51 and a difference value between the inter predicted image and the block image data 51. Then, the intra / inter switching unit 216 compares the two difference values, thereby selecting the image having the smaller difference from the block image data from the intra predicted image and the inter predicted image as the predicted image 55, and the difference calculating unit 217. And output to the addition operation unit 223.
  • the intra / inter switching unit 216 outputs the prediction information 56 related to the output predicted image 55 to the entropy encoding unit 221. That is, when the intra prediction image is output as the prediction image 55, the intra prediction information is output as the prediction information 56, and when the inter prediction image is output as the prediction image 55, the inter prediction information is output as the prediction information 56. Will be.
  • the residual signal encoding process is realized by the difference calculation unit 217, the orthogonal transform unit 218, the quantization unit 219, the code amount control unit 220, and the entropy encoding unit 221 in FIG.
  • the difference calculation unit 217 calculates a pixel value difference between the block image data 51 and the predicted image 55, and outputs a residual signal (difference signal) 57 as a difference result to the orthogonal transformation unit 218.
  • DCT discrete cosine transform
  • the quantization unit 219 performs quantization on the DCT coefficient 58 and converts the DCT coefficient 58 into the quantization coefficient 59. Such quantization is realized by dividing the DCT coefficient 58 using a quantization step determined by the code amount control unit 220.
  • the quantization coefficient 59 obtained by the quantization unit 219 is input to the entropy encoding unit 221 and the local decoding unit 222.
  • the entropy encoding unit 221 performs variable length encoding processing such as Huffman encoding or arithmetic on the quantization coefficient 59 input from the quantization unit 219 and the prediction information 56 input from the intra / inter switching unit 216. Encoding processing is performed, and encoded data 60 is generated. The encoded data 60 is temporarily stored in a transmission buffer (not shown) and then output to the outside of the encoding unit 13 as compressed image data. Note that since the compressed image data includes information such as the encoded prediction information 56, the decoding apparatus that receives the compressed image data and reconstructs the image performs the encoding. By using this information, decoding can be performed.
  • the entropy encoding unit 221 outputs the data amount (generated code amount) 61 of the generated encoded data to the code amount control unit 220 in a timely manner.
  • the code amount control unit 220 functions as an information generation unit that determines a quantization step used for quantization and outputs the quantization step as quantization information 62 to the quantization unit 219.
  • the quantization step indicates the roughness of the quantization. The smaller the quantization step, the lower the image quality, but the more the code amount.
  • the code amount control unit 220 derives a quantization step by controlling a quantization parameter having a predetermined relationship with the quantization step.
  • the quantization parameter setting control is performed based on the encoding condition input from the encoding condition setting unit 122 of the overall control unit 12. The quantization parameter setting control will be described later.
  • the quantization parameter is a variable having a predetermined relationship with the quantization step.
  • the quantization parameter has a proportional relationship with the quantization step.
  • the quantization parameter is proportional to the logarithm of the quantization step.
  • the local decoding process is realized by the local decoding unit 222, the addition operation unit 223, and the reference image memory 224 in FIG.
  • the local decoding unit 222 After the inverse quantization process is performed on the quantization coefficient 59, an operation (inverse DCT) opposite to the DCT is performed, and the operation result (reconstructed residual signal 63) is obtained. Is output.
  • an addition process using the prediction image 55 generated by the intra prediction unit 214 or the inter prediction unit 215 is performed on the operation result of the local decoding unit 222, and a local decoded image ( 52) (also referred to as “reference image”) is output.
  • the locally decoded image is temporarily stored in the reference image memory 224.
  • the encoding unit 13 performs intra-screen prediction or inter-screen prediction based on the image data generated by the image generation unit 11, and encodes the image data.
  • the image processing system 1 includes the image quality control unit 15 that controls the image quality of the image displayed on the display unit 34 in accordance with the operation status of the image processing system 1.
  • FIG. 4 is a table showing the relationship between the image quality mode and the encoding condition.
  • the image quality control unit 15 is realized by the cooperation of the image quality setting unit 121 and the encoding condition setting unit 122 that are functionally realized in the overall control unit 12 and the encoding unit 13. It is a functional part.
  • the image quality setting unit 121 sets the image quality level of an image to be displayed on the display unit 34 in accordance with the operation status of the image processing system 1.
  • the setting of the image quality level is performed, for example, by changing a mode related to the image quality level (image quality mode).
  • image quality mode a mode related to the image quality level
  • the selection of the image quality mode is performed by reflecting the operation status of the image processing system 1.
  • the image processing system 1 as a game system often operates in a mode with a relatively low image quality (low image quality mode or medium image quality mode).
  • the mode is shifted to the side mode (high image quality mode or medium image quality mode).
  • Examples of the operation status of the image processing system 1 when transitioning from the low image quality mode to the high image quality mode include, for example, (1) a situation in which a scene intended for viewing is displayed on the display unit 34, (2 ) A situation where the user's input operation is assumed to be small, (3) a situation where the image encoding device 10 is reading data, and (4) a situation where no operation by the user is actually performed in the image decoding device 30. is there.
  • (1) to (3) are grasped by issuing an image quality setting command incorporated in the program being executed (here, the game program).
  • the image quality setting unit 121 changes the image quality mode according to the image quality setting command.
  • the operation status of (4) is a status grasped based on the operation information input from the image decoding device 30, and the image quality setting unit 121 corresponds to the user's operation status grasped based on the operation information. Change the image quality mode. Details will be described later.
  • the image quality setting unit 121 notifies the encoding condition setting unit 122 of information related to the current image quality level (also referred to as “image quality information”) when the image encoding device 10 is started and the image quality mode is changed.
  • image quality information information related to the current image quality level
  • the image quality mode is used as the image quality information.
  • the notification of the image quality mode is performed using, for example, a flag assigned corresponding to each image quality mode.
  • the encoding condition setting unit 122 sets an encoding condition (encoding condition) based on the current image quality mode notified from the image quality setting unit 121.
  • the encoding condition can be set using, for example, a table indicating the relationship between the image quality mode and the encoding condition.
  • a table TB1 as shown in FIG.
  • the condition EC1 is set as the encoding condition when the current image quality mode is the high image quality mode.
  • the encoding condition setting unit 122 is also referred to as an encoding information acquisition unit that acquires encoding information used for encoding based on image quality information.
  • the encoding condition setting unit 122 When the encoding condition setting is completed, the encoding condition setting unit 122 outputs the set encoding condition to the encoding unit 13.
  • the encoding unit 13 performs an encoding process on the image data based on the encoding condition input from the encoding condition setting unit 122.
  • 5 to 7 are diagrams for explaining the encoding process in the image encoding device 10.
  • the encoding process is performed by changing the unit encoding area (unit encoding area) based on the encoding condition input from the encoding condition setting unit 122 of the overall control unit 12.
  • the unit coding area is an area within one frame of the image data, and represents the management range of the generated code amount when performing the coding process. For example, as shown in FIG. 5, when 1/3 area AE1 of one frame FR is the processing unit of the encoding process, 1/3 frame area AE1 is the unit encoding area. Also, as shown in FIG. 6, when 2/3 area AE2 of one frame FR is the processing unit of the encoding process, 2/3 frame area AE2 is the unit encoding area. Also, as shown in FIG. 7, when the entire area AE3 of one frame FR is the processing unit of the encoding process, the entire area AE3 is the unit encoding area.
  • Such a change in the unit coding area is performed in the code amount control unit 220 based on the coding condition input from the coding condition setting unit 122.
  • the number of macroblocks included in the unit coding area (also referred to as “number of unit processing blocks”) is used as a coding condition, and the number of unit processing blocks is determined for each coding condition.
  • different values are set according to the image quality mode.
  • the number of unit processing blocks is set to the number of blocks for one frame.
  • the number of unit processing blocks is set to 2/3 frames, and in the low image quality mode, the number of unit processing blocks is set to 1/3 frames. Yes.
  • the encoding condition setting unit 122 outputs a different number of unit processing blocks according to the type of the current image quality mode.
  • the code amount control unit 220 specifies the unit coding area based on the number of unit processing blocks input from the coding condition setting unit 122, the number of unit processing blocks input from the coding condition setting unit 122 is changed. Then, the unit coding area specified by the code amount control unit 220 is changed. That is, in the high image quality mode of the present embodiment, the unit coding area is an area for one frame, and in the medium image quality mode, the unit coding area is an area for 2/3 frames. In this case, the unit coding area is an area corresponding to 1/3 frame.
  • the image quality of the image data is changed.
  • the encoding unit 13 performs the encoding process by managing the code amount for each unit encoding area. That is, the coding unit 13 sets the target code amount per macroblock (“unit target code amount”) so that the actual generated code amount in the unit coding area falls within the total target code amount of the unit coding area. (Referred to also as “encoding”).
  • the code amount control unit 220 multiplies the reference code amount per macroblock by the number of macroblocks constituting the unit coding area, thereby obtaining the total target code amount “TM” of the unit coding area. Get. Also, the code amount control unit 220 relates to a macro block (processed block) that has been encoded among the macro blocks included in the unit encoding area based on the generated code amount input from the entropy encoding unit 221. The generated code amount “FA” is acquired.
  • the code amount control unit 220 identifies the number “BN” of macroblocks (unprocessed blocks) that have not yet been encoded among the macroblocks included in the unit encoding area, and uses the following formula: The calculation (1) is performed.
  • the generated code amount “FA” of the processed block is subtracted from the total target code amount “TM”, and the obtained subtraction value is divided by the number of unprocessed blocks “BN”.
  • the code amount control unit 220 acquires the target code amount “TC” per macroblock.
  • the code amount control unit 220 updates the target code amount per macroblock by appropriately performing the calculation of the above formula (1) during the execution of the encoding process, and the updated target code per macroblock. Control the quantization parameter based on the quantity.
  • the reference code amount per macroblock includes the transfer bit rate from the image encoding device 10 to the image decoding device 30 (for example, 10 Mbps), the frame rate of the moving image (for example, 60 fps), and one frame. By dividing by the total number of macroblocks.
  • the unit coding area is increased and the average interval for obtaining the target code amount per macroblock is lengthened. For example, a relatively large value is allowed as the peak value of the code amount per macroblock.
  • the total target code amount is larger than when the 1/3 frame region is a unit coding area. For this reason, when a whole frame is a unit coding area, a relatively large value is obtained as a peak value of the code amount per macroblock, compared to a case where a 1/3 frame region is a unit coding area. Permissible.
  • the unit coding area is increased in this way, a relatively large value can be allowed as the peak value of the code amount per macroblock. For this reason, when the unit coding area is large, for example, a relatively large amount of code can be allocated to a specific region in a frame containing a lot of high-frequency components compared to other regions in the frame. Therefore, it is possible to reduce the image quality deterioration of the specific area due to the encoding, and to improve the image quality of the image after the decoding process.
  • FIG. 8 is a diagram illustrating an image data transmission operation from the image encoding device 10 to the image decoding device 30.
  • the image encoding device 10 temporarily stores the compressed image data in the transmission buffer, and transmits the compressed image data for each unit encoding area when the encoding process of the unit encoding area is completed. Then, the image decoding device 30 decodes the transmitted compressed image data for each unit encoding area, and acquires image data.
  • the image processing system 1 performs the image encoding by independently performing the encoding process in the image encoding apparatus 10, the transmission process of the compressed image data, and the decoding process in the image decoding apparatus 30.
  • the time required for transmitting image data from the apparatus 10 to the image decoding apparatus 30 is reduced.
  • the encoding process EP1 is performed on the image data in the area (upper area) AU corresponding to the upper third frame.
  • a transmission process TP1 for compressed image data in the upper area AU is executed.
  • the image decoding apparatus 30 decodes the compressed image data in the upper area AU.
  • DP1 is executed.
  • the image data transmission operation specifically, the encoding process EP1, the transmission process TP1, and the decoding process DP1
  • GF1 of the upper area AU is completed.
  • the image encoding device 10 when the encoding process EP1 for the upper area AU is completed, the encoding process EP2 for the area (middle area) AM corresponding to 1/3 frame of the middle stage of the frame is started.
  • the transmission process TP2 of the compressed image data of the middle area AM is executed.
  • the image decoding device 30 decodes the compressed image data in the middle region AM.
  • DP2 is executed.
  • the image data transmission operation GF2 of the middle area AM is completed.
  • the encoding process EP3 of the area (lower area) AD corresponding to 1/3 frame in the lower stage of the frame is started.
  • a transmission process TP3 for compressed image data in the lower area AD is executed.
  • the image decoding device 30 decodes the compressed image data in the lower region AD.
  • DP3 is executed.
  • the image data transmission operation GF3 of the lower area AD is completed.
  • the image processing system 1 executes the encoding process using an area smaller than one frame as a unit encoding area
  • the image data transmission operation encoding process, transmission process, and
  • the coding process for a certain unit coding area is completed
  • the coding process for the next unit coding area that is, the image data transmission operation for the next unit coding area is started. That is, in the image processing system 1, the encoding process, the transmission process, and the decoding process are sequentially performed for each unit encoding area.
  • the image data transmission operation for each unit coding area is partially performed in parallel. Therefore, in the image processing system 1, when the encoding process is executed using an area smaller than one frame as a unit encoding area, the image data transmission operation GF4 (specifically, the entire area AE3 of one frame is used as a unit encoding area). The time required to transmit the image data can be reduced as compared with the case where the encoding process EP4, the transmission process TP4, and the decoding process DP4) are performed.
  • the reduction in the transmission time of the image data has been described by taking the case where the unit coding area is an area corresponding to 1/3 frame and the case where the unit coding area is an area corresponding to one frame as an example. As the area becomes smaller, the transmission time of the image data is shortened.
  • the image encoding device 10 controls the image quality by executing the encoding process by changing the unit encoding area in accordance with the change of the image quality mode.
  • image data is generated in the image generation unit 11 of the image encoding device 10 and then an image based on the image data is displayed on the display unit 34 of the image decoding device 30.
  • the time from when an image is generated in the image encoding device 10 to when the image is displayed in the image decoding device 30 is also referred to as an image display delay time.
  • the image quality of the image displayed on the display unit 34 and the delay time have a correlation, and if the unit coding area is increased, the image quality is improved, but the delay time is increased. On the other hand, if the unit coding area is reduced, the image quality is lowered, but the delay time is shortened.
  • a delay of image display caused by transmission of image data from the image encoding device 10 to the image decoding device 30 is allowed. It can also be expressed as a situation. That is, in each situation where a delay related to image display is allowed, in other words, in each situation that does not affect the operation of the image processing system 1 even if the delay time becomes long, the image processing system 1 displays on the display unit 34. Improve the image quality of images.
  • each operation state (1) to (4) of the image processing system 1 when transitioning from the low image quality mode to the high image quality mode will be described in detail.
  • the image quality mode is set to the low image quality side in a scene intended for viewing that does not require an input operation by the user.
  • the mode is shifted from the mode to the mode with higher image quality.
  • the viewing-purpose scene includes, for example, a replay image display scene (replay scene) or a moving image display scene (movie scene).
  • a menu scene for selecting game settings, a help scene for knowing how to operate the game, and the like may be regarded as a scene for viewing.
  • the situation in which a scene intended for viewing is displayed is grasped by the overall control unit 12 detecting an image quality setting command incorporated in the program being executed.
  • the image quality setting instruction is included in a function in a library included in a software development kit (SDK: Software Development Kit) provided to an application developer (also referred to as “game developer” or simply “programmer”), for example.
  • SDK Software Development Kit
  • a command image quality setting command for raising the image quality level
  • a command image quality setting command for raising the image quality level
  • the application program interface (API: Application Program Interface) of these functions in the library included in the SDK is open to application developers. For this reason, when an application developer develops application software (also referred to as a “game program” or simply “application”), the application developer calls and programs a function according to a published API, so that the image quality (delay corresponding to the scene) ) Application can be developed without being aware of the adjustment.
  • the API is a rule that defines a procedure on a program for using a function in the library.
  • the library may be stored in advance in the ROM of the image encoding device 10.
  • the library is stored together with the game program in an external storage medium attached to the image encoding device 10, and is attached to the image encoding device 10 when the external storage medium is attached to the image encoding device 10.
  • the aspect provided may be sufficient.
  • an initial setting function for declaring the game genre is provided in the game program.
  • This is defined as a rule for creating a game program, and a method for preparing a genre setting function for issuing an image quality setting command in the library can be considered.
  • FIG. 9 is a design example of a game program.
  • a genre setting function LFN1 for declaring a game genre is prepared in the library.
  • an image quality setting command corresponding to the genre indicated by the argument HS1 is issued.
  • the game developer refers to the API of the published genre setting function, provides the genre setting function FN1 to the game program PG1 created by the game developer, and sets the genre of the game (in the argument HS1 of the genre setting function FN1) For example, “Action”, “Puzzle”, “RPG”, etc.) are set.
  • the genre setting function LFN1 in the library linked to the genre setting function FN1 is called.
  • the genre setting function LFN1 in the library includes a function TFN that issues an image quality setting command corresponding to the genre set as the argument HS1 with reference to a table showing the relationship between the game genre and the image quality setting command. Yes. Therefore, when the genre setting function LFN1 in the library is called, an image quality setting command is issued.
  • an image quality setting command (image quality setting command for lowering the image quality level) for issuing a transition to a low image quality mode is issued.
  • the image quality setting unit 121 lowers the image quality level.
  • an image quality setting command for making a transition to a low image quality mode is issued.
  • the image quality setting unit 121 lowers the image quality level.
  • FIG. 10 is a design example of a game program.
  • a genre setting function LFN1 for issuing an image quality setting command is provided in the library, and an argument of the encoder initial setting function LFN2 in the library is increased by one from the conventional one.
  • An argument LHS2 relating to the game genre is newly provided.
  • a genre setting function FN1 for issuing an image quality setting command based on the argument LHS2 is prepared in the encoder initial setting function LFN2, and the API of the encoder initial setting function LFN2 is disclosed.
  • the game developer increases one argument of the encoder initial setting function FN2 of the game program PG2 created by the game developer based on the published API, and newly sets an argument HS2 related to the game genre. Become.
  • the encoder initial setting function FN2 when executed by the overall control unit 12, the encoder initial setting function LFN2 in the library linked to the encoder initial setting function FN2 is called.
  • the encoder initial setting function LFN2 in the library is executed, the genre setting function FN1 embedded in the encoder initial setting function LFN2 is called and an image quality setting command is issued.
  • the game developer can reduce the burden on the game developer.
  • the genre setting function FN1 is embedded in the encoder initial setting function LFN2 in advance
  • the game developer newly sets an argument HS2 of the encoder initial setting function FN2 in the game program PG2 created by the game developer. It will be. Even if the game developer forgets to set the argument HS2 when creating the game program PG2, if the game program PG2 is compiled, a compilation error occurs due to insufficient setting of the argument. , Prompting the user to set the argument HS. According to this, forgetting to set the game genre can be prevented in advance, so that the burden on the game developer can be reduced.
  • a genre setting function FN1 as a second function is prepared in the encoder initial setting function FN2 as the first function, and the second function is directly executed by executing the first function.
  • the second function is prepared in another function included in the first function and the second function is indirectly executed by executing the first function. That is, execution of the second function includes direct execution and indirect execution realized by execution of the first function.
  • FIG. 11 is a design example of a game program.
  • the source of an image quality setting instruction that causes a comment sentence (character string) related to the game genre to transition to an image quality mode corresponding to the game genre described in the comment sentence to a preprocessor that performs preprocessing before compilation. Gives the ability to replace code.
  • the method for issuing an image quality setting command based on the comment text in the game program can also be used for the method (1) for detecting a scene intended for viewing and issuing an image quality setting command. .
  • the preprocessor is provided with a function for replacing the comment text relating to the scene (scene name) with the source code of the image quality setting command for switching to the image quality mode corresponding to the scene.
  • the game program when the game developer describes the scene name as a comment sentence in a source code group describing a certain scene (for example, a menu scene or a help scene) in the game program, the game program is executed by the overall control unit 12. Is executed, an image quality setting command is issued according to the scene.
  • an image quality setting for making a transition to the high image quality mode is included in a function related to data reading.
  • a method of incorporating instructions can be considered.
  • an image quality setting command for switching to the high image quality mode is incorporated in the function for accessing the external storage medium.
  • the image quality mode is automatically set to the high image quality side. Transition to the mode.
  • the user's operation amount is a predetermined amount or less.
  • a technique for detecting the situation can be employed.
  • the overall control unit 12 detects the operation state of the user based on the operation information input from the image decoding device 30.
  • the overall control unit 12 notifies the image quality setting unit 121 of the detected operation state.
  • the image quality setting unit 121 identifies a non-operation period based on the notification of the operation state, and variably changes the image quality mode according to the non-operation period.
  • a method of variably changing the image quality mode according to the non-operation period for example, a method in which a plurality of different threshold values are provided and the image quality level is gradually increased every time the non-operation period exceeds each threshold value is adopted. Can do.
  • the image quality mode is changed in stages from low image quality mode ⁇ medium image quality mode ⁇ high image quality mode according to the non-operation period. In this way, by changing the image quality mode step by step, it is possible to change the image quality without visually discomforting the user who enjoys the game.
  • the image quality mode may be changed from the low image quality mode to the high image quality mode at a time when the non-operation period exceeds a certain threshold without performing stepwise change. Further, when an input operation by the user is detected and the non-operation period ends, the high image quality mode may be shifted to the low image quality mode at once, or the low image quality side may be gradually increased from the end of the non-operation period. You may make a transition to the mode.
  • variable change of the image quality mode according to the operation situation may be realized in middleware.
  • the application developer particularly relates to the variable change of the image quality mode according to the operation situation.
  • the threshold regarding the non-operation period for changing the image quality mode can be set on the application software by the game developer.
  • the middleware for example, an operation monitoring task described later is realized, and the image quality mode is variably changed according to the operation status.
  • the image decoding device 30 includes a sensor (motion detection sensor) that detects motion, such as a gyro sensor or an acceleration sensor, the motion of the image decoding device 30 is detected using the sensor.
  • the image quality mode may be variably changed according to the detected motion.
  • the image quality setting unit 121 changes the image quality mode to the image quality mode.
  • the image quality mode may be changed according to the amount of shaking of the image decoding device 30, the number of times of shaking, the interval of shaking, or the rate of change of the amount of shaking. For example, if the amount of shaking is large, the number of shakings is large, the interval between shakings is short, or the rate of change in the amount of shaking is large, the amount of user operation is considered to be large, so the image quality mode is set to the mode on the low image quality side. Transition to reduce delay time. On the other hand, if the amount of shaking is small, the number of shakings is small, the interval between shakings is long, or the rate of change in the amount of shaking is small, the amount of user operation is considered to be small. Transition.
  • the image quality can be changed without visually giving the user a sense of incongruity.
  • the motion information detected by the motion detection sensor is transmitted from the image decoding device 30 to the image encoding device 10 as operation information.
  • the motion detection sensor is included in the operation detection unit provided in the image decoding device 30, and information detected by the operation detection unit is transmitted to the image encoding device 10 as operation information.
  • an operation by the user including an input operation via the operation unit 35 and a motion of the image decoding device 30 detected by the motion detection sensor
  • a method may be employed in which a task to be monitored (also referred to as an “operation monitoring task”) is provided, and an operation status by the user is detected by the task.
  • the operation monitoring task acquires current scene information, and calculates the user's operation amount (expected operation amount) expected in the current scene from the scene information, the scene and the expected operation amount. Is obtained using a table indicating the relationship between
  • the operation monitoring task outputs an image quality setting command depending on whether or not the actual operation amount (the number of operations, the operation interval, the movement amount, etc.) by the user is greater than or equal to the expected operation amount. That is, when the actual operation amount by the user is equal to or greater than the expected operation amount, an image quality setting command for shifting to the low image quality mode is output, and the actual operation amount by the user is greater than the expected operation amount. If the number is small, an image quality setting command for shifting to the high image quality mode is output.
  • the actual operation amount the number of operations, the operation interval, the movement amount, etc.
  • the operation monitoring task detects a situation in which the same operation is input by the user in the same scene, the operation monitoring task shifts the image quality mode to a mode on the low image quality side to reduce the delay time.
  • FIG. 12 and FIG. 13 are diagrams for explaining a method of changing the image quality mode to the low image quality mode until the scene change time.
  • the time before the scene change time HP (“start” in FIG. 12).
  • an image quality setting instruction CMD for changing the image quality mode to the low image quality mode is incorporated in a program or function for executing an event.
  • the image quality setting command CMD is caused to execute the countdown event so that the image quality setting command CMD for changing the image quality mode to the low image quality mode is issued.
  • the image quality mode can be shifted to the low image quality mode by the scene change time HP.
  • the scene change point when changing from a scene that does not require user operation to a scene that requires user operation is changed from an operation state in which image display delay is allowed to an operation state in which image display delay is not allowed. It can also be expressed as the time of change.
  • the countdown for the start of the race is started, for example, a racing game in which six signals are sequentially turned on and the timing when all the signals are turned on all at once are blacked out (turned off). In the case of, the lighting of the signal starts.
  • the function for executing the event at the time point before the scene change time point HP may be a function in the library included in the SDK, and in this case, the API of the function is disclosed to the programmer.
  • a program or function for executing an event at the scene change time HP is used as another method of changing the image quality mode to the low image quality mode before the scene change time.
  • a method of incorporating a special instruction SPD may be adopted.
  • the special instruction SPD is an instruction that causes the compiler to place the image quality setting instruction CMD at a predetermined time before the scene change time HP.
  • the compiler measures the number of clocks and arranges the image quality setting instruction CMD at a predetermined time before the scene change time HP. According to this, since the image quality setting command CMD can be issued a predetermined time before the scene change time HP, the game developer is different from the method shown in FIG. 12 before the scene change time HP. There is no need to consider in which event the image quality setting command CMD is incorporated. That is, according to the method shown in FIG. 13, it is possible to reduce the burden on the game developer.
  • the function for executing the event at the scene change point HP may be a function in the library included in the SDK, and in this case, the API of the function is disclosed to the programmer.
  • the image processing system 1 includes an image encoding device 10 as a host device that outputs image data, and a display unit that displays an image based on the image data transmitted from the image encoding device 10.
  • the image decoding apparatus 30 as a client apparatus having 34 is provided, and the image encoding apparatus 10 controls the image quality of the image displayed on the display unit 34 in accordance with the operation status SA of the image processing system 1.
  • the image quality control unit 15 is displayed on the display unit 34 in an operation situation SA in which an image display delay caused by transmission of image data from the image encoding device 10 to the image decoding device 30 is allowed. To improve the image quality.
  • the image displayed on the display unit 34 is displayed. Since the control is performed so as to improve the image quality, it is possible to improve the image quality of the image displayed on the display unit 34 without impairing the convenience for the user due to the delay caused by the transmission of the image data.
  • FIG. 14 is a diagram illustrating a specific configuration of an image processing system 1A according to a modification.
  • information about the image quality level is directly input to the encoding unit 13 (specifically, the code amount control unit 220).
  • the image processing system 1A includes an image quality setting unit 121 in the overall control unit 12.
  • the image quality control unit 15 of the image processing system 1 ⁇ / b> A is a functional unit realized by the cooperation of the image quality setting unit 121 and the encoding unit 13.
  • the image processing system 1A is the same as the image processing system 1 of the above embodiment (see FIG. 2) except that the overall control unit 12 of the image encoding device 10A does not include the encoding condition setting unit 220. It has a structure and a function, and common parts are denoted by the same reference numerals and description thereof is omitted.
  • the unit encoding area is specified based on the input image quality information, and the encoding process is performed.
  • the unit coding area can be specified using, for example, a table showing the relationship between the image quality level and the size of the unit coding area.
  • As the image quality information for example, an image quality mode may be used. When the image quality mode is used, a flag assigned corresponding to each image quality mode is input to the code amount control unit 220.
  • FIG. 15 is a diagram illustrating a specific configuration of an image processing system 1B according to a modification.
  • the image processing system 1 ⁇ / b> B newly includes a delay time setting unit 125 in the overall control unit 12.
  • the image quality control unit 15 of the image processing system 1B is a functional unit realized by the cooperation of the delay time setting unit 125 and the encoding unit 13.
  • the image encoding device 10B has a delay time setting unit 125 in the overall control unit 12 as compared with the image processing system 1 (see FIG. 2) of the above-described embodiment.
  • the condition setting unit 220 is not provided.
  • the image processing system 1B has the same structure and function as those of the image processing system 1 of the above-described embodiment except for the difference. Common parts are denoted by the same reference numerals and description thereof is omitted.
  • the delay time setting unit 125 sets an allowable delay time for image display on the display unit 34 according to the operation status of the image processing system 1B, and outputs delay time information regarding the set allowable delay time.
  • the delay time information is input to the code amount control unit 220.
  • a unit coding area is specified based on the input delay time information, and the coding process is performed.
  • the unit coding area can be specified using, for example, a table indicating the relationship between the delay time and the size of the unit coding area.
  • the image quality setting unit 121 of the above embodiment specifies the non-operation period and sets the image quality mode based on the specified non-operation period.
  • the present invention is not limited to this.
  • the image quality setting unit 121 may set the image quality mode according to the frequency of non-operation during a predetermined time. Further, the image quality mode may be changed using both the non-operating period and the non-operating frequency index.
  • the change range of the image quality level may be set for each game genre.
  • FIG. 16 is a diagram illustrating the relationship between the game genre and the change range of the image quality level.
  • the image quality level is shifted on the high image quality side.
  • the image quality level is shifted on the low image quality side to reduce the delay time.
  • the user can enjoy the game with the optimum image quality according to the type of game.
  • the operation states (1) to (4) are exemplified as the operation states for changing the image quality.
  • the image quality setting unit 121 may be used in other operation states (5) or other operations.
  • the image quality level may be changed by detecting the situation.
  • an operation situation (5-1) for example, there is a situation where the position of the viewpoint viewing the 3D image is continuously moving in the generation of the 3D image. Specifically, when generating a 3D image, it is detected whether or not the position of the viewpoint viewing the 3D image is moving. If the position of the viewpoint is continuously moving, the image quality mode is changed.
  • the image quality mode change pattern here differs depending on whether or not there is an operation by the user before a predetermined period of viewpoint movement.
  • the change of the viewpoint position of the 3D image is performed before 3D rendering by the viewing conversion that converts the 3D space into the space viewed from the specified viewpoint in the image generation unit 11 that generates the 3D image.
  • the image generation unit 11 detects a change in viewpoint position by detecting whether viewing conversion has been performed. When the image generation unit 11 detects a continuous change in the viewpoint position, the image generation unit 11 outputs a signal indicating that the viewpoint position is continuously changed to the overall control unit 12.
  • the overall control unit 12 When a signal indicating a continuous change in the viewpoint position is input and the user performs an operation during a predetermined period before the input of the signal, the overall control unit 12 changes the image quality mode to the low image quality mode. Issue the image quality setting command to transition. In addition, when a signal indicating a continuous change in the viewpoint position is input, the overall control unit 12 sets the image quality mode to the high image quality side when there is no user operation during a predetermined period before the input of the signal. Issue an image quality setting command to switch to mode.
  • the image quality mode is changed to a mode on the high image quality side to delay image display. Allow. According to this, a delay in image display is allowed in a situation where an increase in the amount of calculation processing at the time of compression caused by a significant change in the image such as a change in the viewpoint position is allowed.
  • the load on the apparatus 10 can be reduced, and a high-quality image can be displayed.
  • a situation in which there is no user operation before a predetermined period of viewpoint movement is, for example, from the viewpoint of a ball flying in a replay video of a shot in a golf game
  • a situation where playback and display are assumed is assumed, and in this case, a high-definition video can be displayed.
  • an operation situation (5-2) for example, a situation is assumed in which the image encoding device 10 is set not to accept an input from the operation unit 35 of the image decoding device 30.
  • a method for detecting such a situation for example, an image quality setting command for switching to a high image quality mode is incorporated in a function that does not accept an input from the operation unit 35 in the image encoding device 10.
  • a technique may be adopted. Specifically, in a specific scene or state, the image encoding device 10 may execute a function that does not accept an input from the operation unit 35.
  • an image quality setting command for transitioning to a high image quality mode is incorporated in such a function, a situation in which no user operation is performed (to be precise, a situation in which the operation is not accepted even if an operation is performed)
  • the image quality mode can be changed to the image quality mode.
  • an image quality setting command for transitioning to a low image quality mode may be incorporated in a function for receiving an input from the operation unit 35 in the image encoding device 10. According to this, even when there is a state change from the state where the input from the operation unit 35 is not accepted to the state where it is accepted, the image quality mode can be smoothly transitioned to the low image quality mode.
  • a function that prevents input from the operation unit 35 in the image encoding device 10 and a function that receives input from the operation unit 35 in the image encoding device 10 are functions in a library included in the SDK. In this case, the API of the function is disclosed to the programmer.
  • the image quality setting unit 121 acquires information about motion vectors (inter prediction information) from the encoding unit 13 and, for example, transitions the image quality mode to a low image quality mode when the motion vector is large.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

 画像データの伝送によって生じる遅延によりユーザの利便性を損なうことなく、伝送された画像データに基づいて表示される画像の画質を向上させることが可能な技術を提供する。画像処理システム1は、画像データを出力するホスト装置としての画像符号化装置10と、画像符号化装置10から伝送された画像データに基づく画像を表示する表示部34を有するクライアント装置としての画像復号化装置30とを備え、画像符号化装置10は、画像処理システム1の動作状況SAに応じて、表示部34に表示される画像の画質を制御する画質制御部15を有し、画質制御部15は、画像符号化装置10から画像復号化装置30への画像データの伝送によって生じる画像表示の遅延が許容される動作状況において、表示部34に表示される画像の画質を上げる。

Description

画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法
 本発明は、画像データの伝送技術に関する。
 2つの装置間で画像データを伝送する場合、伝送帯域を抑えるため、通常、画像データには、圧縮処理(符号化処理)が施される(例えば、特許文献1)。画像データに対する圧縮方式としては、例えば、H.264、MPEG(Moving Picture Experts Group)-4等の圧縮方式が採用されるが、これらの圧縮方式は、不可逆な圧縮方式であるため、画像データを受信した装置において、伸張処理されて得られる画像データに基づく画像は、画質の劣化した画像となる。
 画像データの伝送によって生じる遅延時間と、伝送された画像の画質とは互いに相関関係を有し、遅延時間を短くすると画質が劣化し、画質を維持しようとすると遅延時間が長くなる。
特開平11-298890号公報
 ここで、装置間の画像データの伝送においては、画像データの伝送によって生じる遅延が許容されない場合がある。例えば、画像データを受信した受信側の装置において、画像を視認したユーザによって、受信側の装置に対して何らかの入力操作が行われた場合に、当該入力操作を反映した画像を送信側の装置から取得して表示するシステムでは、ユーザの利便性の観点から、ユーザの入力操作に対する応答は早いことが好ましい。
 このようなシステムにおいては、画像データの伝送によって生じる遅延時間を抑えた画像データの伝送が行われるため、受信側の装置には、画質の劣化した画像が表示されることになる。
 そこで、本発明は、画像データの伝送によって生じる遅延によりユーザの利便性を損なうことなく、伝送された画像データに基づいて表示される画像の画質を向上させることが可能な技術を提供することを目的とする。
 本発明に係る画像処理システムの第1の態様は、画像データを出力するホスト装置と、前記ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備え、前記ホスト装置は、前記画像処理システムの動作状況に応じて、前記表示部に表示される画像の画質を制御する画質制御手段を有し、前記画質制御手段は、前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される前記動作状況において、前記表示部に表示される画像の画質を上げる。
 また、本発明に係る画像処理システムの第2の態様は、上記第1の態様であって、前記ホスト装置は、前記動作状況に応じて、前記表示部に表示される画像の画質レベルを設定して、設定した画質レベルに関する画質情報を出力する画質設定手段と、前記画質情報に基づいて符号化の際の符号化条件を設定する符号化条件設定手段と、前記符号化条件に基づいて、前記画像データに対して符号化処理を施す符号化手段とを前記画質制御手段として有し、前記画質設定手段は、前記画像表示の遅延が許容される前記動作状況において、前記画質レベルを上げる画質情報を出力する。
 また、本発明に係る画像処理システムの第3の態様は、上記第2の態様であって、前記符号化条件設定手段は、画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアを、前記画質設定手段により出力される画質情報に基づいて特定し、当該単位符号化エリアを前記符号化条件として出力し、前記符号化手段は、1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記符号化条件に基づいて決定して、量子化パラメータを制御する符号量制御手段と、前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化手段とを有する。
 また、本発明に係る画像処理システムの第4の態様は、上記第3の態様であって、前記符号量制御手段は、前記単位符号化エリアに含まれる1マクロブロックあたりの目標符号量を、当該単位符号化エリアの発生符号量が当該単位符号化エリアの総目標符号量に収まるように決定する。
 また、本発明に係る画像処理システムの第5の態様は、上記第2の態様から上記第4の態様のいずれかであって、前記クライアント装置は、前記ホスト装置から伝送される画像データに対して、復号化処理を施す復号化手段を有し、前記画像処理システムは、前記符号化処理と、前記ホスト装置から前記クライアント装置への画像データの伝送処理と、前記復号化処理とを、それぞれ独立して単位符号化エリアごとに順次に行う。
 また、本発明に係る画像処理システムの第6の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記画像表示の遅延が許容される前記動作状況には、前記表示部に視聴目的のシーンが表示される状況が含まれる。
 また、本発明に係る画像処理システムの第7の態様は、上記第6の態様であって、前記ホスト装置は、前記視聴目的のシーンを再生するためのプログラムを記憶する記憶部を有し、前記プログラムには、前記画質レベルを上げる画質設定命令が組み込まれており、前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第8の態様は、上記第7の態様であって、前記視聴目的のシーンを再生するためのプログラムは、関数として構成され、当該関数のAPI(ApplicationProgramInterface)はプログラマに公開される。
 また、本発明に係る画像処理システムの第9の態様は、上記第6の態様であって、前記ホスト装置は、前記視聴目的のシーンを再生するためのプログラムを記憶する記憶部を有し、前記視聴目的のシーンを再生するためのプログラムのソースコードには、前記視聴目的のシーン名がコメント文として記載され、前記視聴目的のシーン名に関するコメント文は、コンパイルの前に前処理を行うプリプロセッサによって、前記画質レベルを上げる画質設定命令のソースコードに置換され、前記画質設定手段は、前記ソースコードから生成されたオブジェクトコードを含んだ前記プログラムの実行により発行される画質設定命令を受けて、前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第10の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記画像表示の遅延が許容される前記動作状況には、前記表示部を視認するユーザに対して思考時間を必要とさせる特定ジャンルのアプリケーションソフトウェアが実行されている状況が含まれる。
 また、本発明に係る画像処理システムの第11の態様は、上記第10の態様であって、前記ホスト装置は、アプリケーションソフトウェアのジャンルに応じた画質設定命令を発行させる関数を記憶する記憶部を有し、前記関数は、前記特定ジャンルのアプリケーションソフトウェアにおいて使用され、前記特定ジャンルのアプリケーションソフトウェアには、当該関数の引数として、前記特定ジャンルが設定され、前記画質設定手段は、前記特定ジャンルのアプリケーションソフトウェアの実行により前記画質レベルを上げる画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第12の態様は、上記第11の態様であって、アプリケーションソフトウェアのジャンルに応じた画質設定命令を発行させる関数のAPIは、プログラマに公開される。
 また、本発明に係る画像処理システムの第13の態様は、上記第10の態様であって、前記ホスト装置は、アプリケーションソフトウェアの初期化処理において実行される第1関数と、当該第1関数の引数に設定されたアプリケーションソフトウェアのジャンルに応じた画質設定命令を発行させる第2関数とを記憶する記憶部を有し、前記第1関数は、前記特定ジャンルのアプリケーションソフトウェアにおいて使用され、前記特定ジャンルのアプリケーションソフトウェアでは、前記第1関数の引数として、前記特定ジャンルが設定され、前記第2関数は、前記第1関数の実行によって実行され、前記画質設定手段は、前記特定ジャンルのアプリケーションソフトウェアの実行により前記画質レベルを上げる画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第14の態様は、上記第13の態様であって、前記第1関数のAPIは、プログラマに公開される。
 また、本発明に係る画像処理システムの第15の態様は、上記第10の態様であって、前記特定ジャンルのアプリケーションソフトウェアのソースコードには、当該特定ジャンルがコメント文として記載され、前記特定ジャンルに関するコメント文は、コンパイルの前に前処理を行うプリプロセッサによって、前記画質レベルを上げる画質設定命令のソースコードに置換され、前記画質設定手段は、前記ソースコードから生成されたオブジェクトコードを含んだ前記特定ジャンルのアプリケーションソフトウェアの実行により発行される当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第16の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記画像表示の遅延が許容される前記動作状況には、前記ホスト装置がデータを読み出している状況が含まれる。
 また、本発明に係る画像処理システムの第17の態様は、上記第16の態様であって、前記ホスト装置は、データの読み出しを実行するためのプログラムを記憶する記憶部を有し、前記プログラムには、前記画質レベルを上げる画質設定命令が組み込まれており、前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第18の態様は、上記第17の態様であって、データの読み出しを実行するためのプログラムは、関数として構成され、当該関数のAPIはプログラマに公開される。
 また、本発明に係る画像処理システムの第19の態様は、上記第16の態様から上記第18の態様のいずれかであって、前記ホスト装置がデータを読み出している状況には、当該ホスト装置に装着された外部記憶媒体からデータを読み出している状況が含まれる。
 また、本発明に係る画像処理システムの第20の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、前記画像表示の遅延が許容される前記動作状況には、前記操作検出手段によって検出されるユーザの操作量が所定量以下である状況が含まれる。
 また、本発明に係る画像処理システムの第21の態様は、上記第20の態様であって、前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、前記画質設定手段は、前記操作情報に基づいて特定された未操作期間が所定期間以上であった場合、前記画質レベルを上げる画質情報を出力する。
 また、本発明に係る画像処理システムの第22の態様は、上記第20の態様または上記第21の態様であって、前記操作検出手段には、ユーザによって前記クライアント装置に与えられる動きを検知する検知センサが含まれ、前記クライアント装置は、前記検知センサによって検知される情報を前記操作情報に含めて前記ホスト装置に伝送し、前記画質制定手段は、前記検知センサによって検知される情報に基づいて特定される前記クライアント装置の移動量が所定時間にわたって変化しない場合、前記画質レベルを上げる。
 また、本発明に係る画像処理システムの第23の態様は、上記第20の態様であって、前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、前記ホスト装置は、前記操作情報に基づいて、前記クライアント装置に対するユーザの操作を監視する操作監視手段を有し、前記操作監視手段は、ユーザの操作量が所定量以上である場合は、前記画質レベルを下げる画質設定命令を出力し、ユーザの操作量が所定量より少ない場合は、前記画質レベルを上げる画質設定命令を出力する。
 また、本発明に係る画像処理システムの第24の態様は、上記第2の態様から上記第23の態様のいずれかであって、前記画質設定手段は、前記画像表示の遅延が許容される動作状況から前記画像表示の遅延が許容されない動作状況へと変化する時点よりも前の時点において、画質レベルを下げる画質情報を出力する。
 また、本発明に係る画像処理システムの第25の態様は、上記第20の態様から上記第24の態様のいずれかであって、前記ホスト装置は、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点よりも前の時点において、所定のイベントを実行するためのプログラムを記憶する記憶部を有し、前記プログラムには、前記画質レベルを下げる画質設定命令が組み込まれており、前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第26の態様は、上記第25の態様であって、前記所定のイベントを実行するためのプログラムは、関数として構成され、当該関数のAPIはプログラマに公開される。
 また、本発明に係る画像処理システムの第27の態様は、上記第20の態様から上記第24の態様のいずれかであって、前記ホスト装置は、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点におけるイベントを実行させるプログラムを記憶する記憶部を有し、前記シーン変更時点におけるイベントを実行させるプログラムのソースコードには、コンパイルされた際に、前記画質レベルを下げる画質設定命令を、前記シーン変更時点の所定時間前に配置させる特殊命令が含まれ、前記画質設定手段は、前記ソースコードのコンパイルにより生成されたオブジェクトコードを含んだ前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第28の態様は、上記第27の態様であって、前記シーン変更時点におけるイベントを実行させるプログラムは、関数として構成され、当該関数のAPIはプログラマに公開される。
 また、本発明に係る画像処理システムの第29の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、前記画像表示の遅延が許容される前記動作状況には、前記ホスト装置において、前記操作情報に基づく指示を受け付けないように設定される状況が含まれる。
 また、本発明に係る画像処理システムの第30の態様は、上記第29の態様であって、前記ホスト装置は、前記操作情報に基づく指示を受け付けないようにするためのプログラムを記憶する記憶部を有し、前記プログラムには、前記画質レベルを上げる画質設定命令が組み込まれており、前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する。
 また、本発明に係る画像処理システムの第31の態様は、上記第30の態様であって、前記操作情報に基づく指示を受け付けないようにするためのプログラムは、関数として構成され、当該関数のAPIはプログラマに公開される。
 また、本発明に係る画像処理システムの第32の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記ホスト装置は、3D画像を生成する画像生成手段を有し、前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、前記画像表示の遅延が許容される前記動作状況には、前記画像生成手段によって生成される前記3D画像を見る視点位置が移動している状況であって、視点位置の移動前の所定期間において前記操作検出手段によってユーザの操作が検出される状況が含まれる。
 また、本発明に係る画像処理システムの第33の態様は、上記第32の態様であって、前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、前記画像生成手段は、3D画像を生成する際に、前記視点位置を連続的に変化させるビューイング変換を行う場合は、前記画質設定手段に対して視点位置の連続的な変化が行われていることを示す信号を出力し、前記画質設定手段は、視点位置の連続的な変化が行われていることを示す信号の入力前の所定期間におけるユーザの操作が、前記操作情報に基づいて検出されなかったときは、前記画質レベルを上げる画質情報を出力する。
 また、本発明に係る画像処理システムの第34の態様は、上記第2の態様から上記第5の態様のいずれかであって、前記ホスト装置は、3D画像を生成する画像生成手段を有し、前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、前記画像生成手段は、3D画像を生成する際に、前記視点位置を連続的に変化させるビューイング変換を行う場合は、前記画質設定手段に対して視点位置の連続的な変化が行われていることを示す信号を出力し、前記画質設定手段は、視点位置の連続的な変化が行われていることを示す信号の入力前の所定期間におけるユーザの操作が、前記操作情報に基づいて検出されたときは、前記画質レベルを下げる画質情報を出力する。
 また、本発明に係る画像処理システムの第35の態様は、上記第1の態様であって、前記ホスト装置は、前記動作状況に応じて、前記表示部に表示される画像の画質レベルを設定して、設定した画質レベルに関する画質情報を出力する画質設定手段と、前記画質情報に基づいて、前記画像データに対して符号化処理を施す符号化手段とを前記画質制御手段として有し、前記符号化手段は、画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアを、前記画質情報に基づいて特定し、1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記単位符号化エリアに基づいて決定して、量子化パラメータを制御する符号量制御手段と、前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化手段とを有する。
 また、本発明に係る画像処理システムの第36の態様は、上記第1の態様であって、前記ホスト装置は、前記動作状況に応じて、前記表示部への画像表示の許容遅延時間を設定して、設定した許容遅延時間に関する遅延時間情報を出力する遅延時間設定手段と、前記遅延時間情報に基づいて、前記画像データに対して符号化処理を施す符号化手段とを前記画質制御手段として有し、前記符号化手段は、画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアを、前記遅延時間情報に基づいて特定し、1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記単位符号化エリアに基づいて決定して、量子化パラメータを制御する符号量制御手段と、前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化手段とを有する。
 また、本発明に係るホスト装置の第1の態様は、クライアント装置の表示部に表示させる画像の画像データを生成して、当該画像データを出力する出力手段と、前記ホスト装置および前記クライアント装置を含む画像処理システムの動作状況に応じて、前記表示部に表示される画像の画質を制御する画質制御手段とを備え、前記画質制御手段は、前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される前記動作状況において、前記画像の画質を上げる。
 また、本発明に係る画像処理システムの動作方法の第1の態様は、画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの動作方法であって、a)前記ホスト装置において、前記画像処理システムの動作状況を把握する工程と、b)前記a)工程において前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される動作状況が把握された場合、前記表示部に表示される画像の画質を上げる工程とを有する。
 また、本発明に係る画像処理システムの動作方法の第2の態様は、上記動作方法の第1の態様であって、前記b)工程は、前記a)工程において把握される動作状況に応じて、前記表示部に表示される画像の画質レベルを設定して、設定した画質レベルに関する画質情報を出力する画質設定工程と、前記画質情報に基づいて符号化の際の符号化条件を設定する符号化条件設定工程と、前記符号化条件に基づいて、前記画像データに対して符号化処理を施す符号化工程とを含み、前記画質設定工程では、前記画像表示の遅延が許容される前記動作状況において、前記画質レベルを上げる画質情報が出力される。
 また、本発明に係る画像処理システムの動作方法の第3の態様は、上記動作方法の第2の態様であって、前記符号化条件設定工程では、画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアが、前記b-1工程において出力された画質情報に基づいて特定され、当該単位符号化エリアが前記符号化条件として出力され、前記符号化工程は、1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記符号化条件に基づいて決定して、量子化パラメータを制御する符号量制御工程と、前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化工程とを含む。
 また、本発明に係る画像処理システムの動作方法の第4の態様は、上記動作方法の第3の態様であって、前記符号量制御工程では、前記単位符号化エリアに含まれる1マクロブロックあたりの目標符号量が、当該単位符号化エリアの発生符号量が当該単位符号化エリアの総目標符号量に収まるように決定される。
 また、本発明に係る画像処理システムの動作方法の第5の態様は、上記動作方法の第2の態様から上記第4の態様のいずれかであって、前記ホスト装置から伝送される画像データに対して、前記クライアント装置において復号化処理を施す復号化工程をさらに有し、前記画像処理システムでは、前記符号化処理と、前記ホスト装置から前記クライアント装置への画像データの伝送処理と、前記復号化処理とが、それぞれ独立して単位符号化エリアごとに順次に行われる。
 また、本発明に係る画像処理システムの動作方法の第6の態様は、上記動作方法の第2の態様から上記第5の態様のいずれかであって、前記画質設定工程では、前記画像表示の遅延が許容される動作状況から前記画像表示の遅延が許容されない動作状況へと変化する時点よりも前の時点において、画質レベルを下げる画質情報が出力される。
 また、本発明に係るプログラムの第1の態様は、画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置に内蔵されたコンピュータに、前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される前記画像処理システムの動作状況において、前記表示部に表示される画像の画質レベルを上げる画質設定命令を発行する工程と、前記画質設定命令の発行を受けて前記画質レベルを設定する工程とを実行させる。
 また、本発明に係るプログラムの作成方法の第1の態様は、画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置の記憶部に記憶されるプログラムの作成方法であって、視聴目的のシーンを再生するためのプログラムのソースコードにおいて記載された、当該視聴目的のシーン名を示すコメント文を、コンパイルの前に前処理を行うプリプロセッサによって、前記表示部に表示される画像の画質レベルを上げる画質設定命令のソースコードに置換する工程と、コンパイルによって、当該ソースコードから前記画質レベルを上げる画質設定命令のオブジェクトコードを含むプログラムを生成する工程とを備える。
 また、本発明に係るプログラムの作成方法の第2の態様は、画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置の記憶部に記憶されるプログラムの作成方法であって、前記特定ジャンルのアプリケーションソフトウェアのソースコードにおいて記載された、当該特定ジャンルを示すコメント文を、コンパイルの前に前処理を行うプリプロセッサによって、前記表示部に表示される画像の画質レベルを上げる画質設定命令のソースコードに置換する工程と、コンパイルによって、当該ソースコードから前記画質レベルを上げる画質設定命令のオブジェクトコードを含むプログラムを生成する工程とを備える。
 また、本発明に係るプログラムの作成方法の第3の態様は、画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置の記憶部に記憶されるプログラムの作成方法であって、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点におけるイベントを実行させるプログラムのソースコードをコンパイルする工程を備え、前記ソースコードには、前記工程の実行によって、前記表示部に表示される画像の画質レベルを下げる画質設定命令を、前記シーン変更時点の所定時間前に配置させる特殊命令が含まれる。
 本発明によれば、画像データの伝送によって生じる遅延によりユーザの利便性を損なうことなく、伝送された画像データに基づいて表示される画像の画質を向上させることが可能になる。
 この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施形態に係る画像処理システムの概略構成を示す図である。 画像処理システムを構成する画像符号化装置および画像復号化装置の具体構成を示す図である。 符号化部の構成を示すブロック図である。 画質モードと符号化条件との関係を示すテーブルである。 画像符号化装置における符号化処理を説明するための図である。 画像符号化装置における符号化処理を説明するための図である。 画像符号化装置における符号化処理を説明するための図である。 画像符号化装置から画像復号化装置への画像データの伝送動作を示す図である。 ゲームプログラムの設計例である。 ゲームプログラムの設計例である。 ゲームプログラムの設計例である。 シーン変更時点までに、画質モードを低画質側のモードに遷移させる手法を説明するための図である。 シーン変更時点までに、画質モードを低画質側のモードに遷移させる手法を説明するための図である。 変形例に係る画像処理システムの具体構成を示す図である。 変形例に係る画像処理システムの具体構成を示す図である。 ゲームジャンルと画質レベルの変化範囲との関係を示す図である。
 以下、本発明の実施形態について図面を参照して説明する。
 <1.実施形態>
  [1-1.概要]
 図1は、本発明の実施形態に係る画像処理システム1の概略構成を示す図である。
 図1に示されるように、画像処理システム1は、画像符号化装置10と、画像復号化装置30とを備えている。
 画像処理システム1の画像符号化装置10は、画像生成部11において生成した画像データを符号化する。画像符号化装置10で符号化された画像データは、有線通信または無線通信等の通信手段(出力手段)によって画像符号化装置10から画像復号化装置30へと伝送される。画像復号化装置30に伝送された画像データは、画像復号化装置30において復号化され表示部34に表示される。
 本実施形態の画像処理システム1は、表示部34において表示される画像の画質を制御する画質制御部15を有している。画質制御部15は、画像処理システム1の動作状況SAを検出し、検出された動作状況SAに応じて、表示部34に表示される画像の画質を制御する。
 また、画像処理システム1では、ユーザ(使用者)によって画像復号化装置30の操作部35を介して入力された操作情報が、上記通信手段によって画像復号化装置30から画像符号化装置10へと伝送され、画像処理システム1では、操作情報に応じた動作が実行される。
 画像処理システム1では、画像符号化装置10は、システム内で処理の中核となるホスト装置としての役割を有し、画像復号化装置30は、ホスト装置によって提供される機能またはデータ等を利用して動作するクライアント装置としての役割を有している。このため、画像処理システム1においては、例えば、1つの画像符号化装置10に対して、複数の画像復号化装置30が設けられる態様であってもよく、この場合、1つの画像符号化装置10から複数の画像復号化装置30に対して、画像データが伝送されることになる。
 このような画像処理システム1としては、例えば、ゲームシステムが想定され、当該ゲームシステムでは、画像符号化装置10がゲーム機本体として動作し、画像復号化装置30が操作端末機(単に「操作端末」または「端末」とも称する)として動作する。ゲームの操作者は、操作端末の表示部に表示される画像を視認しつつ、操作端末に対して指示操作を与えることによって、ゲームを楽しむことができる。
 以下では、画像処理システム1がゲームシステムである場合を想定して、画像処理システム1の詳細について説明する。なお、画像処理システム1は、ゲームシステムのように、表示部を視認したユーザによる操作に対する応答が要求されるシステムの他、表示部への画像の表示に対して、遅れ(遅延)が許容されない他のシステムを含んでいる。
 なお、本明細書では、説明の無用の煩雑化を避けるため、混同のおそれのない範囲で、画像の画像データと、画像そのものとを等しく「画像」とも表現する。また、本明細書の「画像」は、静止画像および動画像を含む概念として用いている。
  [1-2.構成]
 次に、画像処理システム1を構成する画像符号化装置10と画像復号化装置30との具体的構成について詳述する。図2は、画像処理システム1を構成する画像符号化装置10および画像復号化装置30の具体構成を示す図である。
 図2に示されるように、画像符号化装置10は、画像生成部11と全体制御部12と符号化部13と通信部14とを備えている。
 画像生成部11は、GPU(Graphic Processing Unit)を用いて構成され、動画像を形成する画像の画像データを順次に生成する機能を有している。なお、GPUは、汎用のCPUと比較して特に画像処理に特化した設計がなされている半導体チップであり、通常のCPUとは別個に画像符号化装置10に搭載されている。画像生成部11で生成された画像データは、符号化部13に出力される。なお、画像生成部11は、画像符号化装置10に装着されるメモリカード、CD-ROM等の外部記憶媒体(不図示)に格納された画像データを用いて、動画像の画像データを生成することもできる。
 符号化部(「エンコーダ」とも称する)13は、画像生成部11から入力される画像データに対して、所定の動画像圧縮方式の圧縮処理(「符号化処理」とも称する)を施して、圧縮画像データを生成する。動画像圧縮方式としては、例えば、H.264、MPEG(Moving Picture Experts Group)-2、MPEG-4等が採用される。なお、符号化部13の詳細構成については、後述する。
 符号化部13で生成された圧縮画像データは、通信部14に入力され、通信部14によって、画像符号化装置10の外部へと伝送される。
 全体制御部12は、CPU、ROMおよびRAM等(いずれも不図示)で構成され、画像符号化装置10および画像処理システム1の各動作を統括的に制御する。また特に、全体制御部12は、ROMに格納されたプログラムをCPUで実行することにより、画質設定部121および符号化条件設定部122を機能的に実現する。画質設定部121および符号化条件設定部122については後述する。
 また、画像符号化装置10は、クライアント装置としての画像復号化装置30を使用するユーザ(使用者)によって入力された操作情報を、画像復号化装置30から受け取り、全体制御部12において操作情報を解析する。全体制御部12は、当該操作情報に応答した各種動作を実現する。
 一方、画像復号化装置30は、通信部31と全体制御部32と復号化部33と表示部34と操作部35とを備えている。
 通信部31は、画像符号化装置10によって伝送されたデータ(伝送データ)を受信し、伝送データを全体制御部32または復号化部33に出力する。例えば、伝送データに含まれる圧縮画像データは、通信部31によって復号化部33に出力される。
 復号化部(「デコーダ」とも称する)33は、圧縮画像データに伸張処理(「復号化処理」とも称する)を施して、画像データを取得する。
 復号化された画像データは、LCD(Liquid Crystal Display)または有機ELディスプレイ等の表示部34において表示される。
 全体制御部32は、CPU、ROMおよびRAM等(いずれも不図示)で構成され、画像復号化装置30の各動作(例えば、通信動作、復号化処理、および表示処理等)を統括的に制御する。
 操作部35は、方向選択キー、プッシュボタン等で構成され、ユーザの指示操作を画像処理システム1に入力させるためのものである。すなわち、操作部35は、画像復号化装置30に対するユーザの操作を検出する操作検出手段として機能する。操作部35を用いて入力された指示操作は、全体制御部32において解析され、指示操作に応じた操作情報が画像符号化装置10に出力される。
  [1-3.符号化部の詳細構成]
 次に、画像符号化装置10の符号化部13について詳述する。図3は、符号化部13の構成を示すブロック図である。
 図3に示されるように、画像生成部11から出力された画像データは、インターフェース(I/F)部211を介して画像メモリ(フレームメモリ)212に格納される。画像メモリ212は、画像データをフレームごとに一時的に記憶する。
 その後、メモリ読出部213によって、画像を複数の領域に分割して得られるブロック(例えば16画素×16画素のブロック)単位で、画像メモリ212から画像データが読み出される。読み出されたブロック単位の画像データ(「ブロック画像データ」とも称する)51は、符号化部13(詳細には、差分演算部217、イントラ予測部214およびインター予測部215)に入力される。
 このように、画像符号化装置10では、ブロック単位で画像データが読み出され、ブロック(「マクロブロック」または「圧縮ブロック」とも称する)ごとに符号化処理が施されることになる。
 画像符号化装置10の符号化部13で実行される圧縮処理は、大きく分けて3つの処理、すなわち予測画像生成処理と、残差信号符号化処理と、局所復号処理とに大別される。
 予測画像生成処理は、図3におけるイントラ予測部214と、インター予測部215と、イントラ/インター切替部216とで構成される予測画像出力手段によって実現される。
 イントラ予測部214は、画面内予測を行ってイントラ予測画像を生成する。具体的には、イントラ予測部214は、ブロック画像データ51および符号化済みデータの局所復号画像52を入力とし、候補となる予測方向の中から符号化効率が最適となる予測方向を決定し、イントラ予測画像(イントラ予測信号)およびイントラ予測情報(予測方向に関する情報)をイントラ情報53として出力する。
 インター予測部215は、画面間予測を行ってインター予測画像を生成する。具体的には、インター予測部215は、ブロック画像データ51および符号化済みデータの局所復号画像を入力とし、符号化効率が最適となる動きベクトルを決定し、インター予測画像(インター予測信号)およびインター予測情報(動ベクトルに関する情報)をインター情報54として出力する。
 イントラ/インター切替部216は、イントラ情報53、インター情報54、およびブロック画像データ51を入力とし、イントラ情報53およびインター情報54のうち、いずれか一方を択一的に選択して出力する。イントラ/インター切替部216は、イントラ予測画像とブロック画像データ51との差分値、およびインター予測画像とブロック画像データ51との差分値を算出する。そして、イントラ/インター切替部216は、2つの差分値を比較することによって、イントラ予測画像およびインター予測画像の中からブロック画像データとの差分の小さい方の画像を予測画像55として差分演算部217および加算演算部223に出力する。
 またさらに、イントラ/インター切替部216は、出力された予測画像55に関する予測情報56をエントロピー符号化部221に出力する。すなわち、イントラ予測画像が予測画像55として出力された場合は、イントラ予測情報が予測情報56として出力され、インター予測画像が予測画像55として出力された場合は、インター予測情報が予測情報56として出力されることになる。
 残差信号符号化処理は、図3における差分演算部217、直交変換部218、量子化部219、符号量制御部220、およびエントロピー符号化部221で実現される。
 差分演算部217は、ブロック画像データ51と、予測画像55との間で、画素値の差分を演算し、差分結果の残差信号(差分信号)57を直交変換部218に出力する。
 直交変換部218では、いわゆる離散コサイン変換(DCT)が行われ、残差信号57が周波数領域のDCT係数58へと直交変換される。当該変換によって得られたDCT係数58は、量子化部219へと入力される。
 量子化部219では、DCT係数58に対して量子化が行われ、DCT係数58が量子化係数59へと変換される。このような量子化は、符号量制御部220で決定される量子化ステップを用いてDCT係数58を除算することによって実現される。量子化部219で得られた量子化係数59は、エントロピー符号化部221および局所復号部222に入力される。
 エントロピー符号化部221では、量子化部219から入力される量子化係数59およびイントラ/インター切替部216から入力される予測情報56に対して、例えばハフマン符号化などの可変長符号化処理或いは算術符号化処理が施され、符号化データ60が生成される。符号化データ60は、送信バッファ(不図示)に一旦蓄積された後に、圧縮画像データとして符号化部13の外部に出力される。なお、圧縮画像データには符号化された予測情報56等の符号化の際の情報が含まれているため、圧縮画像データを受信し、画像を再構成する復号化装置では、符号化の際の当該情報を用いることによって復号化が可能となる。
 また、エントロピー符号化部221は、生成した符号化データのデータ量(発生符号量)61を適時に符号量制御部220に出力する。
 符号量制御部220は、量子化に用いられる量子化ステップを決定し、当該量子化ステップを量子化情報62として量子化部219に出力する情報生成手段として機能する。量子化ステップは、量子化の粗さを示しており、量子化ステップが小さいほど、画質の劣化は抑えられるが、符号量は多くなる。符号量制御部220では、量子化ステップと所定の関係を有する量子化パラメータを制御することによって、量子化ステップが導出される。量子化パラメータの設定制御は、全体制御部12の符号化条件設定部122から入力される符号化条件に基づいて行われる。量子化パラメータの設定制御については、後述する。
 なお、量子化パラメータは、量子化ステップと所定の関係を有する変数であり、例えば、MPEG-2では、量子化パラメータは量子化ステップと比例関係を有し、H.264では、量子化パラメータは、量子化ステップの対数と比例関係を有している。
 局所復号処理は、図3における局所復号部222、加算演算部223、および参照画像メモリ224で実現される。
 局所復号部222では、量子化係数59に対して逆量子化処理が行われた後に、DCTとは逆の演算(逆DCT)が実行され、演算結果(再構成された残差信号63)が出力される。加算演算部223では、局所復号部222の演算結果に対して、イントラ予測部214或いはインター予測部215で生成された予測画像55を用いた加算処理が行われ、その加算結果の局所復号画像(「参照画像」とも称される)52が出力される。局所復号画像は、参照画像メモリ224に一時的に蓄積される。
 このように、符号化部13は、画像生成部11で生成された画像データに基づいて画面内予測または画面間予測を行って、当該画像データを符号化する。
  [1-4.画質制御について]
 上述のように、画像処理システム1は、画像処理システム1の動作状況に応じて、表示部34に表示される画像の画質を制御する画質制御部15を有している。図4は、画質モードと符号化条件との関係を示すテーブルである。
 図2に示されるように、画質制御部15は、全体制御部12において機能的に実現される画質設定部121および符号化条件設定部122と、符号化部13との協働により実現される機能部である。
 具体的には、画質設定部121は、画像処理システム1の動作状況に応じて、表示部34に表示させる画像の画質レベルを設定する。画質レベルの設定は、例えば、画質レベルに関するモード(画質モード)を変更することにより行われる。画像処理システム1では、画質モードの種類として、例えば、高画質モード、中画質モードおよび低画質モードの3種類が設けられおり、画質設定部121は、これら複数種類の画質モードの中から1種類の画質モードを選択する。
 画質モードの選択は、画像処理システム1の動作状況を反映して行われる。ゲームシステムとしての画像処理システム1では、比較的低画質側のモード(低画質モード或いは中画質モード)で動作している場合が多く、動作状況に応じて低画質側のモードから比較的高画質側のモード(高画質モード或いは中画質モード)へと遷移されることになる。
 低画質側のモードから高画質側のモードへと遷移される際の、画像処理システム1の動作状況としては、例えば、(1)表示部34に視聴目的のシーンが表示される状況、(2)ユーザの入力操作が少ないと想定される状況、(3)画像符号化装置10がデータを読み込んでいる状況、および(4)画像復号化装置30においてユーザによる操作が実際に行われない状況がある。
 (1)~(3)の各動作状況は、実行中のプログラム(ここでは、ゲームプログラム)に組み込まれた画質設定命令が発行されることによって把握される。
 具体的には、全体制御部12のCPUによるプログラムの実行により、当該プログラムに組み込まれた画質設定命令が発行されると、画質設定部121は、画質設定命令に応じて、画質モードを変更する。
 (4)の動作状況は、画像復号化装置30から入力される操作情報に基づいて把握される状況であり、画質設定部121は、操作情報に基づいて把握されるユーザの操作状況に応じて画質モードを変更する。詳細は後述する。
 画質設定部121は、画像符号化装置10が起動された際および画質モードが変更された際に、現在の画質レベルに関する情報(「画質情報」とも称する)を符号化条件設定部122に通知する。ここでは、画質情報として、画質モードが用いられる。画質モードの通知は、例えば、各画質モードに対応して割り当てられたフラグを用いて行われる。
 符号化条件設定部122は、画質設定部121から通知された現在の画質モードに基づいて、符号化の条件(符号化条件)を設定する。符号化条件の設定は、例えば、画質モードと符号化条件との関係を示すテーブルを用いて行うことができる。本実施形態では、図4に示されるような、テーブルTB1を用いて符号化条件を設定する場合について例示する。当該テーブルTB1を用いて符号化条件を設定すると、現在の画質モードが高画質モードであるときは、符号化条件として条件EC1が設定される。また、現在の画質モードが中画質モードであるときは、符号化条件として条件EC2が設定され、現在の画質モードが低画質モードであるときは、符号化条件として条件EC3が設定される。なお、符号化条件設定部122は、符号化に用いられる符号化情報を画質情報に基づいて取得する符号化情報取得部とも称される。
 符号化条件設定部122は、符号化条件の設定が終了すると、設定した符号化条件を符号化部13に出力する。
 符号化部13は、符号化条件設定部122から入力された符号化条件に基づいて、画像データに対して符号化処理を行う。
 ここで、画像符号化装置10において実行される符号化処理について詳述する。図5~図7は、画像符号化装置10における符号化処理を説明するための図である。
 画像符号化装置10では、全体制御部12の符号化条件設定部122から入力される符号化条件に基づいて単位符号化エリア(単位符号化領域)を変更して符号化処理が行われる。
 単位符号化エリアは、画像データの1フレーム内の領域であり、符号化処理を行う際の発生符号量の管理範囲を表している。例えば、図5に示されるように、1フレームFRのうちの1/3の領域AE1が符号化処理の処理単位となるときは、1/3のフレーム領域AE1が単位符号化エリアとなる。また、図6に示されるように、1フレームFRのうちの2/3の領域AE2が符号化処理の処理単位となるときは、2/3のフレーム領域AE2が単位符号化エリアとなる。また、図7に示されるように、1フレームFRの全領域AE3が符号化処理の処理単位となるときは、当該全領域AE3が単位符号化エリアとなる。
 このような単位符号化エリアの変更は、符号化条件設定部122から入力される符号化条件に基づいて符号量制御部220において行われる。
 具体的には、本実施形態では、単位符号化エリアに含まれるマクロブロックの個数(「単位処理ブロック数」とも称する)が符号化条件として用いられ、単位処理ブロック数は、符号化条件ごとに、換言すれば画質モードに応じて、異なる値に設定されている。図4に示されるテーブルTB1を用いる本実施形態では、高画質モードのときは、単位処理ブロック数は1フレーム分のブロック数に設定されている。また、中画質モードのときは、単位処理ブロック数は2/3フレーム分のブロック数に設定され、低画質モードのときは、単位処理ブロック数は1/3フレーム分のブロック数に設定されている。
 これにより、符号化条件設定部122からは、現在の画質モードの種類に応じて、異なる単位処理ブロック数が出力されることになる。
 符号量制御部220は、符号化条件設定部122から入力される単位処理ブロック数に基づいて単位符号化エリアを特定するので、符号化条件設定部122から入力される単位処理ブロック数が変更されると、符号量制御部220によって特定される単位符号化エリアは変更されることになる。すなわち、本実施形態の高画質モードのときは、単位符号化エリアは1フレーム分の領域となり、中画質モードのときは、単位符号化エリアは2/3フレーム分の領域となり、低画質モードのときは、単位符号化エリアは1/3フレーム分の領域となる。
 このように、単位符号化エリアを変更して符号化処理を行うと、画像データの画質が変更されることになる。
 具体的には、符号化部13は、単位符号化エリアごとの符号量を管理して符号化処理を行う。すなわち、符号化部13は、単位符号化エリアにおける実際の発生符号量が、当該単位符号化エリアの総目標符号量に収まるように、1マクロブロックあたりの目標符号量(「単位目標符号量」とも称する)を制御して符号化処理を行う。
 より詳細には、符号量制御部220は、1マクロブロックあたりの基準符号量に、単位符号化エリアを構成するマクロブロック数を乗算することによって、当該単位符号化エリアの総目標符号量「TM」を得る。また、符号量制御部220は、エントロピー符号化部221から入力される発生符号量に基づいて、単位符号化エリアに含まれるマクロブロックのうち、符号化処理済みのマクロブロック(処理済みブロック)に関する発生符号量「FA」を取得する。
 そして、符号量制御部220は、単位符号化エリアに含まれるマクロブロックのうち、未だ符号化処理を終了していないマクロブロック(未処理ブロック)の数「BN」を特定して、下記の式(1)の演算を行う。
Figure JPOXMLDOC01-appb-M000001
 式(1)の演算は、総目標符号量「TM」から処理済みブロックの発生符号量「FA」を減算し、得られた減算値を未処理ブロックの数「BN」で除算するものであり、当該演算により、符号量制御部220は、1マクロブロックあたりの目標符号量「TC」を取得する。
 符号量制御部220は、符号化処理の実行中、上記式(1)の演算を適宜に行うことによって、1マクロブロックあたりの目標符号量を更新し、更新された1マクロブロックあたりの目標符号量に基づいて量子化パラメータを制御する。
 なお、1マクロブロックあたりの基準符号量は、画像符号化装置10から画像復号化装置30への転送ビットレート(例えば、10Mbps)を、動画像のフレームレート(例えば、60fps)、および1フレーム内のマクロブロックの総数で除算することによって得ることができる。
 上述のように、符号化処理において、発生符号量を単位符号化エリアごとに管理する場合、単位符号化エリアを大きくして、1マクロブロックあたりの目標符号量を得るための平均区間を長くすれば、1マクロブロックあたりの符号量のピーク値として比較的大きな値が許容されることになる。
 例えば、1フレーム全体を単位符号化エリアとする場合、1/3のフレーム領域を単位符号化エリアとする場合に比べて総目標符号量が大きくなる。このため、1フレーム全体を単位符号化エリアとする場合は、1/3のフレーム領域を単位符号化エリアとする場合に比べて、1マクロブロックあたりの符号量のピーク値として比較的大きな値が許容される。
 このように単位符号化エリアを大きくすれば、1マクロブロックあたりの符号量のピーク値として比較的大きな値を許容することができる。このため、単位符号化エリアが大きい場合、例えば、高周波成分を多く含んだフレーム内の特定領域に対しては、フレーム内の他の領域と比べて比較的多くの符号量を割り当てることができるので、符号化による当該特定領域の画質劣化を軽減させることができ、ひいては復号化処理後の画像の画質を向上させることが可能となる。
 一方、1フレームよりも小さい領域を単位符号化エリアとする場合は、1マクロブロックあたりの符号量のピーク値として許容される値が小さくなるので、復号化処理後の画像の画質は低下することになる。
 1フレームよりも小さい領域を単位符号化エリアとする場合、画像処理システム1では、符号化処理後の画質の低下に反して、画像符号化装置10から画像復号化装置30への画像データの伝送に要する時間を短縮することができる。図8は、画像符号化装置10から画像復号化装置30への画像データの伝送動作を示す図である。
 具体的には、画像符号化装置10は、圧縮画像データを送信バッファに一旦蓄積し、単位符号化エリアの符号化処理が終了した時点で、単位符号化エリアごとに圧縮画像データを伝送する。そして、画像復号化装置30は、伝送された圧縮画像データを単位符号化エリアごとに復号化し、画像データを取得する。
 このとき、画像処理システム1は、画像符号化装置10における符号化処理と、圧縮画像データの伝送処理と、画像復号化装置30における復号化処理とをそれぞれ独立して行うことによって、画像符号化装置10から画像復号化装置30への画像データの伝送に要する時間を短縮する。
 例えば、図8に示されるように、1/3フレーム分の領域を単位符号化エリアとして符号化処理を実行する場合を想定する。
 この場合、まず、フレーム上段の1/3フレーム分の領域(上段領域)AUの画像データに対して符号化処理EP1が実行される。上段領域AUの符号化処理EP1が終了すると、上段領域AUの圧縮画像データの伝送処理TP1が実行される。当該伝送処理TP1により、上段領域AUの圧縮画像データが画像符号化装置10から画像復号化装置30へと伝送されると、画像復号化装置30では、上段領域AUの圧縮画像データに対する復号化処理DP1が実行される。復号化処理DP1が終了すると、上段領域AUの画像データの伝送動作(詳細には、符号化処理EP1、伝送処理TP1、および復号化処理DP1)GF1が完了することになる。
 また、画像符号化装置10では、上段領域AUの符号化処理EP1が終了すると、フレーム中段の1/3フレーム分の領域(中段領域)AMの符号化処理EP2が開始される。中段領域AMの符号化処理EP2が終了すると、中段領域AMの圧縮画像データの伝送処理TP2が実行される。当該伝送処理TP2により、中段領域AMの圧縮画像データが画像符号化装置10から画像復号化装置30へと伝送されると、画像復号化装置30では、中段領域AMの圧縮画像データに対する復号化処理DP2が実行される。復号化処理DP2が終了すると、中段領域AMの画像データの伝送動作GF2が完了することになる。
 また同様に、画像符号化装置10では、中段領域AMの符号化処理EP2が終了すると、フレーム下段の1/3フレーム分の領域(下段領域)ADの符号化処理EP3が開始される。下段領域ADの符号化処理EP3が終了すると、下段領域ADの圧縮画像データの伝送処理TP3が実行される。当該伝送処理TP3により、下段領域ADの圧縮画像データが画像符号化装置10から画像復号化装置30へと伝送されると、画像復号化装置30では、下段領域ADの圧縮画像データに対する復号化処理DP3が実行される。復号化処理DP3が終了すると、下段領域ADの画像データの伝送動作GF3が完了することになる。
 このように、画像処理システム1は、1フレームよりも小さい領域を単位符号化エリアとして符号化処理を実行する場合、単位符号化エリアごとに画像データの伝送動作(符号化処理、伝送処理、および復号化処理)を行うとともに、或る単位符号化エリアの符号化処理が終了すると、次の単位符号化エリアの符号化処理、すなわち次の単位符号化エリアの画像データの伝送動作を開始する。つまり、画像処理システム1では、符号化処理、伝送処理、およぶ復号化処理それぞれが単位符号化エリアごとに順次に行われる。
 これによれば、図8に示されるように、画像処理システム1では、単位符号化エリアごとの画像データの伝送動作が一部並行して行われることになる。したがって、画像処理システム1では、1フレームよりも小さい領域を単位符号化エリアとして符号化処理を実行する場合、1フレームの全領域AE3を単位符号化エリアとして画像データの伝送動作GF4(詳細には、符号化処理EP4、伝送処理TP4、および復号化処理DP4)を行う場合よりも、画像データの伝送に要する時間を短縮することができる。なお、ここでは、単位符号化エリアが1/3フレーム分の領域である場合と1フレーム分の領域である場合を例にして、画像データの伝送時間の短縮化について説明したが、単位符号化エリアが小さくなるほど、画像データの伝送時間は短縮されることになる。
 このように、画像処理システム1では、画像符号化装置10が画質モードの変更に応じて単位符号化エリアを変更して符号化処理を実行することによって、画質の制御を行う。
 また、画像データの伝送時間が短縮されると、画像符号化装置10の画像生成部11において画像データが生成されてから、画像復号化装置30の表示部34において当該画像データに基づく画像が表示されるまでの時間を短縮することができる。画像符号化装置10において画像が生成されてから、当該画像が画像復号化装置30において表示されるまでの時間は、画像表示の遅延時間とも称される。
 表示部34に表示される画像の画質と遅延時間とは相関関係を有し、単位符号化エリアを大きくすれば、画質が向上する反面、遅延時間が長くなる。一方、単位符号化エリアを小さくすれば、画質が低下する反面、遅延時間が短くなる。上記では、低画質側のモードから高画質側のモードへと遷移される際の、画像処理システム1の動作状況として、(1)表示部34に視聴目的のシーンが表示される状況、(2)ユーザの入力操作が少ないと想定される状況、(3)画像符号化装置10がデータを読み込んでいる状況、および(4)画像復号化装置30においてユーザによる操作が実際に行われない状況を挙げたが、これら(1)~(4)の各動作状況は、画像処理システム1では、画像符号化装置10から画像復号化装置30への画像データの伝送によって生じる画像表示の遅延が許容される状況であるとも表現することができる。すなわち、画像表示に関する遅延が許容される各状況、換言すれば遅延時間が長くなっても、画像処理システム1の動作に影響を与えない各状況において、画像処理システム1は、表示部34に表示する画像の画質を向上させる。
  [1-5.各動作状況について]
 ここで、低画質側のモードから高画質側のモードへと遷移される際の、画像処理システム1の各動作状況(1)~(4)について詳述する。
(1)表示部34に視聴目的のシーンが表示される状況
 本実施形態の画像処理システム1において、ユーザによる入力操作を必要としない、視聴が主目的のシーンでは、画質モードは、低画質側のモードから高画質側のモードへと遷移される。視聴目的のシーンには、例えば、リプレイ画像表示シーン(リプレイシーン)または動画像表示シーン(ムービーシーン)等が含まれる。なお、リプレイシーン、ムービーシーンの他に、ゲームの設定を選択するメニューシーン、ゲームの操作方法等を知るためのヘルプシーン等も視聴目的のシーンとみなしてもよい。
 視聴目的のシーンを表示する状況は、全体制御部12が実行中のプログラムに組み込まれた画質設定命令を検出することによって把握される。
 画質設定命令は、例えば、アプリケーション開発者(「ゲーム開発者」、または単に「プログラマ」とも称する)に提供される、ソフトウェア開発キット(SDK:Software Development Kit)に含まれるライブラリ内の関数に含めればよい。より詳細には、ムービーシーンを再生するための関数(例えば、play movie関数)、またはリプレイシーンを再生するための関数(例えば、play replay関数)内に、高画質側のモードに遷移させる画質設定命令(画質レベルを上げる画質設定命令)を組み込んでおけばよい。
 SDKに含まれるライブラリ内のこれらの関数のアプリケーションプログラムインターフェース(API:Application Program Interface)は、アプリケーション開発者に公開される。このため、アプリケーション開発者は、アプリケーションソフトウェア(「ゲームプログラム」または単に「アプリケーション」とも称する)を開発する際に、公開されたAPIに従って関数を呼び出してプログラミングすることで、シーンに応じた画質(遅延)の調整を意識することなく、アプリケーションを開発することができる。なお、APIは、ライブラリ内の関数を利用するためのプログラム上の手続きを定めた規約である。
 なお、上記ライブラリは、画像処理システム1においては、画像符号化装置10のROMに予め格納されている態様であってもよい。或いは、ライブラリは、画像符号化装置10に装着される外部記憶媒体内にゲームプログラムと一緒に格納されており、当該外部記憶媒体の画像符号化装置10への装着とともに、画像符号化装置10に提供される態様であってもよい。
(2)ユーザの入力操作が少ないと想定される状況
 ユーザの入力操作が少ないと想定される状況としては、例えば、将棋ゲーム等のボードゲーム、パズルゲームおよびシミュレーションゲーム等の思考時間を要するが入力操作を比較的必要としない特定種類(特定ジャンル)のゲームを行っている状況が挙げられる。このように特定ジャンルのゲームプログラム(特定ジャンルのアプリケーションソフトウェア)が実行されている状況では、表示部34に表示される文字またはオブジェクト(将棋の駒)等の視認性が求められるため、画像表示の遅延時間を減らすことよりも高い画質での画像表示が求められる。
 このように、ゲームの種類(ゲームジャンル)に応じた画質モードに遷移させる画質設定命令を発行させる手法としては、例えば、ゲームプログラムにゲームのジャンルを宣言する初期設定関数(ジャンル設定関数)を設けることを、ゲームプログラム作成上の規約として定め、ライブラリ内に画質設定命令を発行させるジャンル設定関数を準備する手法が考えられる。図9は、ゲームプログラムの設計例である。
 具体的には、図9に示されるように、ライブラリ内においてゲームのジャンルを宣言するジャンル設定関数LFN1を準備する。当該ジャンル設定関数LFN1内では引数HS1で示されたジャンルに応じた画質設定命令が発行されるようになっている。
 この場合、ゲーム開発者は、公開されたジャンル設定関数のAPIを参照して、自身が作成するゲームプログラムPG1にジャンル設定関数FN1を設け、当該ジャンル設定関数FN1の引数HS1に、ゲームのジャンル(例えば、「Action」、「Puzzle」、「RPG」等)を設定することになる。
 実際に、全体制御部12によってジャンル設定関数FN1が実行されると、当該ジャンル設定関数FN1にリンクしたライブラリ内のジャンル設定関数LFN1が呼び出される。ライブラリ内のジャンル設定関数LFN1には、引数HS1として設定されたジャンルに応じた画質設定命令を、ゲームのジャンルと画質設定命令との関係を示すテーブルを参照して発行させる関数TFNが含まれている。したがって、ライブラリ内のジャンル設定関数LFN1が呼び出されると、画質設定命令が発行されることになる。
 例えば、ゲームの種類がアクションであれば、低画質側のモードに遷移させる画質設定命令(画質レベルを下げる画質設定命令)が発行される。当該画質設定命令を受けた画質設定部121は、画質レベルを下げることになる。また、例えば、ゲームジャンルがパズルであれば、低画質側のモードに遷移させる画質設定命令が発行される。当該画質設定命令を受けた画質設定部121は、画質レベルを下げることになる。
 また、ゲームジャンルに応じた画質モードに遷移させる画質設定命令を発行させる他の手法としては、例えば、アプリケーションソフトウェアの初期化処理において、必ず実行される関数内に、上記ジャンル設定関数FN1を埋め込む手法が考えられる。アプリケーションソフトウェアの初期化処理において実行される関数としては、例えば、エンコーダ13の初期設定(初期化)を行うエンコーダ初期設定関数FN2が挙げられる。図10は、ゲームプログラムの設計例である。
 具体的には、図10に示されるように、ライブラリ内に画質設定命令を発行させるジャンル設定関数LFN1を設けるとともに、ライブラリ内のエンコーダ初期設定関数LFN2の引数を従来のものより一つ増やして、ゲームのジャンルに関する引数LHS2を新たに設ける。そして、エンコーダ初期設定関数LFN2内に、引数LHS2に基づいて画質設定命令を発行させるジャンル設定関数FN1を準備し、エンコーダ初期設定関数LFN2のAPIを公開する。
 この場合、ゲーム開発者は、公開されたAPIに基づいて、自身が作成するゲームプログラムPG2のエンコーダ初期設定関数FN2の引数を一つ増やして、ゲームのジャンルに関する引数HS2を新たに設定することになる。
 実際に、全体制御部12によってエンコーダ初期設定関数FN2が実行されると、当該エンコーダ初期設定関数FN2にリンクしたライブラリ内のエンコーダ初期設定関数LFN2が呼び出される。ライブラリ内のエンコーダ初期設定関数LFN2が実行されると、今度は、エンコーダ初期設定関数LFN2内に埋め込まれた、ジャンル設定関数FN1が呼び出され、画質設定命令が発行される。
 このように、ライブラリに含まれるエンコーダ初期設定関数LFN2内にジャンル設定関数FN1を予め埋め込んでおくことによれば、ゲーム開発者は、ゲーム開発者の負担を軽減することができる。具体的には、エンコーダ初期設定関数LFN2内にジャンル設定関数FN1を予め埋め込んでおく場合、ゲーム開発者は、自身が作成するゲームプログラムPG2において、エンコーダ初期設定関数FN2の引数HS2を新たに設定することになる。仮に、ゲーム開発者が、ゲームプログラムPG2を作成する際に引数HS2の設定を忘れたとしても、ゲームプログラムPG2をコンパイルすると、引数の設定不足によりコンパイルエラーが発生するので、ゲーム開発者に対して、引数HSの設定を促すことができる。これによれば、ゲームジャンルの設定忘れを未然に防止することができるので、ゲーム開発者の負担を軽減することが可能になる。
 なお、ここでは、第1関数としてのエンコーダ初期設定関数FN2内に、第2関数としてのジャンル設定関数FN1を準備し、第1関数の実行によって第2関数が直接実行される態様を例示していたが、これに限定されない。具体的には、上記第1関数に含まれる他の関数内に上記第2関数を準備し、第1関数の実行によって第2関数が間接的に実行される態様であってもよい。すなわち、第2関数の実行には、第1関数の実行によって実現される直接的な実行および間接的な実行が含まれる。
 また、ゲームジャンルに応じた画質モードに遷移させる画質設定命令を発行させる他の手法としては、例えば、ゲームプログラムに記述された、ゲームジャンルに関するコメント文を検出して画質設定命令を発行させる手法が考えられる。図11は、ゲームプログラムの設計例である。
 具体的には、コンパイルの前に前処理を行うプリプロセッサに対して、ゲームジャンルに関するコメント文(文字列)を、コメント文に記載されたゲームジャンルに応じた画質モードに遷移させる画質設定命令のソースコードに置換させる機能を与える。
 この場合、図11に示されるように、ゲーム開発者が、自身が作成するゲームプログラムPG3に、ゲームのジャンルをコメント文TX1として記述すると、当該ゲームプログラムPG3がコンパイルされた際には、上記画質設定命令のソースコードに応じたオブジェクトコードが生成されることになる。そして、全体制御部12によって当該ゲームプログラムPG3が実行されると、ゲームジャンルに応じた画質モードに遷移させる画質設定命令が発行されることになる。
 なお、ゲームプログラム中のコメント文に基づいて、画質設定命令を発行させる当該手法は、上記(1)の視聴目的のシーンを検出して、画質設定命令を発行させる手法にも利用することができる。
 具体的には、プリプロセッサに対して、シーン(シーン名)に関するコメント文を、当該シーンに応じた画質モードに遷移させる画質設定命令のソースコードに置換させる機能を与える。
 この場合、ゲーム開発者が、ゲームプログラム内の、或るシーン(例えば、メニューシーン、ヘルプシーン)を記述したソースコード群において、当該シーン名をコメント文として記述すると、全体制御部12によってゲームプログラムが実行された際には、シーンに応じて画質設定命令が発行されることになる。
(3)画像符号化装置10がデータを読み込んでいる状況
 画像符号化装置10がデータを読み込んでいる状況においては、ユーザの入力操作を受け付けない場合が多く、画像表示に関する遅延が許容される。
 画像符号化装置10がデータを読み込んでいる状況において、高画質側のモードに遷移させる画質設定命令を発行させる手法としては、データの読み出しに関する関数内に、高画質側のモードに遷移させる画質設定命令を組み込んでおく手法が考えられる。
 例えば、外部記憶媒体にアクセスする場合は、その後、外部記憶媒体から取得した画像データの再生表示を行う可能性が高い。そこで、外部記憶媒体にアクセスするための関数内に、高画質側のモードに遷移させる画質設定命令を組み込んでおく。
 これによれば、外部記憶媒体へのアクセス要求が発生し、外部記憶媒体にアクセスするための関数のAPIを用いて作成されたプログラムが実行された場合、画質モードが自動的に高画質側のモードに遷移されることになる。
(4)画像復号化装置30においてユーザによる操作が実際に行われない状況
 画像復号化装置30においてユーザによる操作が実際に行われない状況においては、ユーザの入力操作に応答した画像表示を行う必要がないので、画像表示に関する遅延が許容される。
 画像復号化装置30においてユーザによる操作が実際に行われない状況を検出する手法としては、例えば、画像復号化装置30から入力される操作情報に基づいて、ユーザの操作量が所定量以下である状況を検出する手法を採用することができる。
 具体的には、全体制御部12は、画像復号化装置30から入力される操作情報に基づいて、ユーザの操作状態を検出する。全体制御部12は、検出された操作状態を画質設定部121に通知する。画質設定部121は、操作状態の通知に基づいて、未操作の期間を特定し、未操作期間に応じて画質モードを可変的に変更する。
 未操作期間に応じて画質モードを可変的に変更する手法としては、例えば、複数の異なる閾値を設け、未操作期間が各閾値を超える度に、段階的に画質レベルを上げる手法を採用することができる。本実施形態では、3種類の画質モードが設けられているため、未操作期間に応じて、低画質モード→中画質モード→高画質モードへと画質モードが段階的に変更されることになる。このように段階的に画質モードを変更することによれば、ゲームを楽しむユーザに対して、視覚的に違和感を与えることなく、画質を変更することが可能になる。
 なお、段階的な変更を行わず、未操作期間が或る閾値を超えた時点で、画質モードを低画質モードから高画質モードへと一気に遷移させてもよい。また、ユーザによる入力操作が検出され、未操作期間が終了した場合は、高画質モードから低画質モードへと一気に遷移させてもよく、或いは未操作期間が終了した時点から段階的に低画質側のモードへと遷移させてもよい。
 また、このような、操作状況に応じた画質モードの可変的な変更は、ミドルウェアにおいて実現してもよく、この場合、アプリケーション開発者は、操作状況に応じた画質モードの可変的な変更に関して特に意識する必要はない。なお、画質モードを変更させるための未操作期間に関する閾値は、ゲーム開発者によって、アプリケーションソフトウェア上でも設定可能とする。なお、ミドルウェアでは、例えば、後述の操作監視タスクが実現され、操作状況に応じた画質モードの可変的な変更が行われる。
 また、ユーザによる操作状況を検出する他の手法としては、例えば、以下のような手法が存在する。
 具体的には、画像復号化装置30が、ジャイロセンサ、加速度センサ等の、動きを検知するセンサ(動き検知センサ)を有している場合、当該センサを用いて画像復号化装置30の動きを検出し、当該動きに応じて画質モードを可変的に変更してもよい。
 例えば、画像復号化装置30の移動量が変化しない場合は、ユーザは、画像復号化装置30を持っていないと想定される。また、移動量が徐々に少なくなっている場合は、ユーザは操作を行わないと想定される。したがって、所定時間にわたって移動量が変化しない、或いは移動量が徐々に少なくなっている場合は、画質設定部121は、画質モードを高画質側のモードに遷移させる。
 また、画像復号化装置30の揺れ量、揺れの回数、揺れの間隔、または揺れ量の変化率に応じて、画質モードを変更してもよい。例えば、揺れ量が大きい、揺れの回数が多い、揺れの間隔が短い、または揺れ量の変化率が大きい場合は、ユーザの操作量が多いと考えられるので、画質モードを低画質側のモードに遷移させ、遅延時間を少なくする。一方、揺れ量が小さい、揺れの回数が少ない、揺れの間隔が長い、または揺れ量の変化率が小さい場合は、ユーザの操作量が少ないと考えられるので、画質モードを高画質側のモードに遷移させる。なお、ここでの画質モードの遷移を段階的に行えば、ユーザに対して視覚的に違和感を与えることなく、画質を変更することが可能になる。なお、動き検知センサによって検知された動き情報は、操作情報として画像復号化装置30から画像符号化装置10へと伝送される。
 なお、動き検知センサは、操作部35と同様、画像復号化装置30に設けられた操作検出手段に含まれ、操作検出手段によって検出された情報は、操作情報として画像符号化装置10へ伝送される。
 また、ユーザによる操作状況を検出する他の手法として、例えば、ユーザによる操作(ここでは、操作部35を介した入力操作および動き検知センサによって検知される画像復号化装置30の動きを含む)を監視するタスク(「操作監視タスク」とも称する)を設け、当該タスクによって、ユーザによる操作状況を検出する手法を採用してもよい。
 具体的には、操作監視タスク(操作監視手段)は、現在のシーン情報を取得し、当該シーン情報から現在のシーンで期待されるユーザの操作量(期待操作量)を、シーンと期待操作量との関係を示すテーブルを用いて取得する。
 そして、操作監視タスクは、ユーザによる実際の操作量(操作回数、操作の間隔、移動量等の動き)が、期待操作量以上であるか否かに応じて、画質設定命令を出力する。すなわち、ユーザによる実際の操作量が、期待操作量以上であった場合は、低画質側のモードに遷移させるための画質設定命令を出力し、ユーザによる実際の操作量が、期待操作量よりも少なかった場合は、高画質側のモードに遷移させるための画質設定命令を出力する。
 また特に、同じシーンにおいてユーザによって同じ操作が入力される場合は、ユーザの操作に対して画像表示が遅延しているため、ユーザが同じ操作を行っている状況が想定される。したがって、操作監視タスクは、同じシーンにおいてユーザによって同じ操作が入力される状況を検出した場合は、画質モードを低画質側のモードに遷移させ、遅延時間を少なくする。
 なお、ユーザによる操作が実際に行われていない状況を検出して、高画質側のモードに遷移している場合において、急にユーザによる操作が要求されるときがある。例えば、レースゲームでは、スタート前には、操作を必要としないが、スタート直後からは、操作が要求されることになる。このようなときは、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更する時点(「シーン変更時点」とも称する)までに、画質モードを低画質側のモードに遷移させておくことが好ましい。図12および図13は、シーン変更時点までに、画質モードを低画質側のモードに遷移させる手法を説明するための図である。
 シーン変更時点までに、画質モードを低画質側のモードに遷移させておく手法としては、例えば、図12に示されるように、シーン変更時点HP(図12では「スタート」)よりも前の時点において、イベントを実行させるプログラムまたは関数に、画質モードを低画質側のモードに遷移させる画質設定命令CMDを組み込んでおく手法を採用することができる。
 シーン変更時点HPよりも前の時点のイベントとしては、例えば、レースゲームを行うゲームの操作者にスタートのタイミングを知らせるカウントダウンイベントが考えられる。この場合、レースのスタートに向けたカウントダウンが開始されたときに、画質モードを低画質側のモードに遷移させる画質設定命令CMDが発行されるように、当該画質設定命令CMDをカウントダウンイベントを実行させるプログラムまたは関数に組み込んでおく。これによれば、シーン変更時点HPまでに画質モードを低画質側のモードに遷移させることができる。
 なお、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点は、画像表示の遅延が許容される動作状況から、画像表示の遅延が許容されない動作状況へと変化する時点とも表現できる。また、レースのスタートに向けたカウントダウンが開始されたときとは、例えば、6つの信号を順次に点灯させ、全て点灯した状態から一斉にブラックアウト(消灯)したタイミングをスタートのタイミングとするレースゲームの場合、信号の点灯が開始したときである。なお、シーン変更時点HPよりも前の時点のイベントを実行させる関数は、SDKに含まれるライブラリ内の関数であってもよく、この場合、当該関数のAPIはプログラマに公開される。
 また、シーン変更時点までに、画質モードを低画質側のモードに遷移させておく他の手法としては、例えば、図13に示されるように、シーン変更時点HPにおけるイベントを実行させるプログラムまたは関数に、特殊命令SPDを組み込む手法を採用してもよい。当該特殊命令SPDは、上記画質設定命令CMDをシーン変更時点HPの所定時間前にコンパイラに配置させる命令である。
 当該特殊命令SPDを含んだプログラムまたは関数がコンパイルされた際には、コンパイラはクロック数を計測して上記画質設定命令CMDをシーン変更時点HPの所定時間前に配置する。これによれば、シーン変更時点HPの所定時間前には、画質設定命令CMDを発行させることができるので、ゲーム開発者は、図12に示される手法とは異なりシーン変更時点HPよりも前のどのイベントに画質設定命令CMDを組み込んでおくかを考慮する必要がなくなる。すなわち、図13に示される手法によれば、ゲーム開発者の負担を軽減することが可能になる。なお、シーン変更時点HPにおけるイベントを実行させる関数は、SDKに含まれるライブラリ内の関数であってもよく、この場合、当該関数のAPIはプログラマに公開される。
 以上のように、本実施形態の画像処理システム1は、画像データを出力するホスト装置としての画像符号化装置10と、画像符号化装置10から伝送された画像データに基づく画像を表示する表示部34を有するクライアント装置としての画像復号化装置30とを備え、画像符号化装置10は、画像処理システム1の動作状況SAに応じて、表示部34に表示される画像の画質を制御する画質制御部15を有し、画質制御部15は、画像符号化装置10から画像復号化装置30への画像データの伝送によって生じる画像表示の遅延が許容される動作状況SAにおいて、表示部34に表示される画像の画質を上げる。
 これによれば、画像符号化装置10から画像復号化装置30への画像データの伝送によって生じる画像表示の遅延が許容される画像処理システム1の動作状況において、表示部34に表示される画像の画質を上げるように制御されるので、画像データの伝送によって生じる遅延によりユーザの利便性を損なうことなく、表示部34に表示される画像の画質を向上させることが可能になる。
 <2.変形例>
 以上、この発明の実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
 例えば、上記実施形態では、単位符号化エリアに含まれるマクロブロックの個数が符号化条件として符号化部13に入力されていたが、これに限定されない。図14は、変形例に係る画像処理システム1Aの具体構成を示す図である。
 具体的には、図14に示されるように、画像処理システム1Aでは、画質レベルに関する情報(画質情報)が、符号化部13(詳細には、符号量制御部220)に直接入力される。
 具体的には、画像処理システム1Aは、全体制御部12において画質設定部121を有している。画像処理システム1Aの画質制御部15は、画質設定部121と符号化部13との協働により実現される機能部である。なお、画像処理システム1Aは、画像符号化装置10Aの全体制御部12において符号化条件設定部220を有していない点以外は、上記実施形態の画像処理システム1(図2参照)と同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。
 画質情報が入力される、符号量制御部220では、入力された画質情報に基づいて、単位符号化エリアが特定され、符号化処理が行われることになる。単位符号化エリアの特定は、例えば、画質レベルと単位符号化エリアの大きさとの関係を示すテーブルを用いて行うことができる。また、画質情報としては、例えば、画質モードを用いてもよく、画質モードを用いる場合、各画質モードに対応して割り当てられたフラグが符号量制御部220に入力されることになる。
 また、画質レベルと遅延時間とは相関関係を有している。このため、表示部34における画像表示において許容される遅延時間(許容遅延時間)に関する情報(遅延時間情報)が、符号化部13(詳細には、符号量制御部220)に直接入力される態様としてもよい。図15は、変形例に係る画像処理システム1Bの具体構成を示す図である。
 具体的には、図15に示されるように、変形例に係る画像処理システム1Bは、全体制御部12において遅延時間設定部125を新たに有している。画像処理システム1Bの画質制御部15は、遅延時間設定部125と符号化部13との協働により実現される機能部である。なお、画像符号化装置10Bは、上記実施形態の画像処理システム1(図2参照)と比べて、全体制御部12において遅延時間設定部125を有しているが、画質設定部121および符号化条件設定部220を有していない。画像処理システム1Bは、当該差違点以外は、上記実施形態の画像処理システム1と同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。
 遅延時間設定部125は、画像処理システム1Bの動作状況に応じて、表示部34への画像表示の許容遅延時間を設定して、設定した許容遅延時間に関する遅延時間情報を出力する。遅延時間情報は、符号量制御部220に入力される。
 符号量制御部220では、入力された遅延時間情報に基づいて、単位符号化エリアが特定され、符号化処理が行われることになる。なお、単位符号化エリアの特定は、例えば、遅延時間と単位符号化エリアの大きさとの関係を示すテーブルを用いて行うことができる。
 また、上記実施形態の画質設定部121は、未操作の期間を特定し、特定された未操作期間に基づいて画質モードの設定を行っていたが、これに限定されない。具体的には、画質設定部121は、所定時間における、未操作の頻度に応じて画質モードの設定を行ってもよい。また、未操作期間および未操作の頻度両方の指標を用いて、画質モードの変更を行うようにしてもよい。
 また、上記各実施形態では、画質モードを3種類としていたがこれに限定されず、4種類以上または2種類としてもよい。
 また、画質レベルの変化範囲をゲームのジャンルごとに設定してもよい。図16は、ゲームジャンルと画質レベルの変化範囲との関係を示す図である。
 具体的には、図16に示されるように、比較的操作量が少ないと想定されるゲーム(例えば、ボードゲーム、RPG)のときは、画質レベルを高画質側で遷移させる。また、比較的操作量が多いと考えられるゲーム(例えば、レースゲーム、アクションゲーム)のときは、画質レベルを低画質側で遷移させて、遅延時間を少なくする。
 このように、ゲームのジャンルに応じて画質レベルの変化範囲を設定することによれば、ユーザは、ゲームの種類に応じた最適な画質で、ゲームを楽しむことができる。
 また、上記各実施形態では、画質を変更させる動作状況として、(1)~(4)の動作状況を例示したが、画質設定部121は、他の動作状況(5)において、或いは他の動作状況を検出して、画質レベルを変更させてもよい。
 他の動作状況(5-1)としては、例えば、3D画像の生成において、3D画像を見る視点の位置が連続的に動いている状況がある。具体的には、3D画像を生成する際に、当該3D画像を見る視点の位置が動いているか否かを検出し、視点の位置が連続的に動いている場合は、画質モードを変更させる。ここでの画質モードの変更パターンは、視点移動の所定期間前にユーザによる操作があるか否かに応じて異なる。
 より詳細には、3D画像の視点位置の変更は、3D画像を生成する画像生成部11において、指定された視点から見た空間に3D空間を変換するビューイング変換によって、3Dレンダリング前に行われる。画像生成部11は、ビューイング変換が行われたか否かを検出することによって、視点位置の変化を検出する。そして、画像生成部11は、視点位置の連続的な変化を検出した場合は、視点位置の連続的な変化が行われていることを示す信号を全体制御部12に対して出力する。
 全体制御部12は、視点位置の連続的な変化を示す信号が入力された場合において、当該信号の入力前の所定期間にユーザによる操作があったときは、画質モードを低画質側のモードに遷移させる画質設定命令を発行する。また、全体制御部12は、視点位置の連続的な変化を示す信号が入力された場合において、当該信号の入力前の所定期間にユーザによる操作がなかったときは、画質モードを高画質側のモードに遷移させる画質設定命令を発行する。
 このように視点位置の連続的な変化が検出された場合において、視点移動の所定期間前にユーザの操作があったときは、画質モードが低画質側のモードに遷移されるので、ユーザの操作に対してスムーズな画像表示を行うことができる。
 また、視点位置の連続的な変化が検出された場合において、視点移動の所定期間前にユーザの操作がなかったときは、画質モードを高画質側のモードに遷移させて、画像表示の遅延を許容する。これによれば、視点位置の変化という画像の大幅な変化によって生じる、圧縮の際の演算処理量の増加が想定される状況において、画像表示の遅延が許容されることになるので、画像符号化装置10の負荷を低減することが可能になるとともに、高画質の画像を表示することが可能になる。なお、視点位置の連続的な変化が検出された場合において、視点移動の所定期間前にユーザの操作がない状況としては、例えば、ゴルフゲームで、ショットのリプレイ映像を飛んでいるボールの視点から再生して表示するような状況が想定され、この場合高精細な映像を表示することが可能になる。
 また、他の動作状況(5-2)としては、例えば、画像符号化装置10において、画像復号化装置30の操作部35からの入力を受け付けないように設定される状況が想定される。このような状況を検出する手法としては、例えば、画像符号化装置10において操作部35からの入力を受け付けないようにする関数内に、高画質側のモードに遷移させる画質設定命令を組み込んでおく手法を採用してもよい。具体的には、或る特定のシーンまたは状態においては、画像符号化装置10は、操作部35からの入力を受け付けない関数を実行する場合がある。したがって、このような関数に高画質側のモードに遷移させる画質設定命令を組み込んでおけば、ユーザによる操作が行われない状況(正確には、操作が行われても当該操作を受け付けない状況)において、画質モードを高画質側のモードに遷移させることができる。
 また、これとは逆に、画像符号化装置10において操作部35からの入力を受け付けるようにする関数内に、低画質側のモードに遷移させる画質設定命令を組み込んでおいてもよい。これによれば、操作部35からの入力を受け付けない状態から、受け付ける状態へと状態変化があったときでも、画質モードを低画質側のモードにスムーズに遷移させることができる。なお、画像符号化装置10において操作部35からの入力を受け付けないようにする関数および画像符号化装置10において操作部35からの入力を受け付けるようにする関数は、SDKに含まれるライブラリ内の関数であってもよく、この場合、当該関数のAPIはプログラマに公開される。
 また、他の動作状況(5-3)を検出して画質を制御する手法としては、例えば、符号化部13のインター予測部215で検出される動きベクトルに基づいて、画質レベルを制御する手法を採用してもよい。画質設定部121は、動きベクトルに関する情報(インター予測情報)を符号化部13から取得し、例えば、動きベクトルが大きい場合は、画質モードを低画質側のモードに遷移させる。
 この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
 1,1A,1B 画像処理システム
 10,10A,10B 画像符号化装置(ホスト装置)
 11 画像生成部
 12 全体制御部
 13 符号化部
 15 画質制御部
 30 画像復号化装置(クライアント装置)
 34 表示部
 35 操作部
 121 画質設定部
 122 符号化条件設定部
 125 遅延時間設定部

Claims (47)

  1.  画像処理システムであって、
     画像データを出力するホスト装置と、
     前記ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置と、
    を備え、
     前記ホスト装置は、
      前記画像処理システムの動作状況に応じて、前記表示部に表示される画像の画質を制御する画質制御手段を有し、
     前記画質制御手段は、前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される前記動作状況において、前記表示部に表示される画像の画質を上げる画像処理システム。
  2.  前記ホスト装置は、
      前記動作状況に応じて、前記表示部に表示される画像の画質レベルを設定して、設定した画質レベルに関する画質情報を出力する画質設定手段と、
      前記画質情報に基づいて符号化の際の符号化条件を設定する符号化条件設定手段と、
      前記符号化条件に基づいて、前記画像データに対して符号化処理を施す符号化手段と、
    を前記画質制御手段として有し、
     前記画質設定手段は、前記画像表示の遅延が許容される前記動作状況において、前記画質レベルを上げる画質情報を出力する請求項1に記載の画像処理システム。
  3.  前記符号化条件設定手段は、
      画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアを、前記画質設定手段により出力される画質情報に基づいて特定し、当該単位符号化エリアを前記符号化条件として出力し、
     前記符号化手段は、
      1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記符号化条件に基づいて決定して、量子化パラメータを制御する符号量制御手段と、
      前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化手段と、
    を有する請求項2に記載の画像処理システム。
  4.  前記符号量制御手段は、前記単位符号化エリアに含まれる1マクロブロックあたりの目標符号量を、当該単位符号化エリアの発生符号量が当該単位符号化エリアの総目標符号量に収まるように決定する請求項3に記載の画像処理システム。
  5.  前記クライアント装置は、
      前記ホスト装置から伝送される画像データに対して、復号化処理を施す復号化手段を有し、
     前記画像処理システムは、前記符号化処理と、前記ホスト装置から前記クライアント装置への画像データの伝送処理と、前記復号化処理とを、それぞれ独立して単位符号化エリアごとに順次に行う請求項2から請求項4のいずれかに記載の画像処理システム。
  6.  前記画像表示の遅延が許容される前記動作状況には、前記表示部に視聴目的のシーンが表示される状況が含まれる請求項2から請求項4のいずれかに記載の画像処理システム。
  7.  前記ホスト装置は、前記視聴目的のシーンを再生するためのプログラムを記憶する記憶部を有し、
     前記プログラムには、前記画質レベルを上げる画質設定命令が組み込まれており、
     前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項6に記載の画像処理システム。
  8.  前記視聴目的のシーンを再生するためのプログラムは、関数として構成され、
     当該関数のAPI(Application Program Interface)はプログラマに公開される請求項7に記載の画像処理システム。
  9.  前記ホスト装置は、前記視聴目的のシーンを再生するためのプログラムを記憶する記憶部を有し、
     前記視聴目的のシーンを再生するためのプログラムのソースコードには、前記視聴目的のシーン名がコメント文として記載され、
     前記視聴目的のシーン名に関するコメント文は、コンパイルの前に前処理を行うプリプロセッサによって、前記画質レベルを上げる画質設定命令のソースコードに置換され、
     前記画質設定手段は、前記ソースコードから生成されたオブジェクトコードを含んだ前記プログラムの実行により発行される画質設定命令を受けて、前記画質レベルを設定する請求項6に記載の画像処理システム。
  10.  前記画像表示の遅延が許容される前記動作状況には、前記表示部を視認するユーザに対して思考時間を必要とさせる特定ジャンルのアプリケーションソフトウェアが実行されている状況が含まれる請求項2から請求項4のいずれかに記載の画像処理システム。
  11.  前記ホスト装置は、アプリケーションソフトウェアのジャンルに応じた画質設定命令を発行させる関数を記憶する記憶部を有し、
     前記関数は、前記特定ジャンルのアプリケーションソフトウェアにおいて使用され、
     前記特定ジャンルのアプリケーションソフトウェアには、当該関数の引数として、前記特定ジャンルが設定され、
     前記画質設定手段は、前記特定ジャンルのアプリケーションソフトウェアの実行により前記画質レベルを上げる画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項10に記載の画像処理システム。
  12.  アプリケーションソフトウェアのジャンルに応じた画質設定命令を発行させる関数のAPIは、プログラマに公開される請求項11に記載の画像処理システム。
  13.  前記ホスト装置は、アプリケーションソフトウェアの初期化処理において実行される第1関数と、当該第1関数の引数に設定されたアプリケーションソフトウェアのジャンルに応じた画質設定命令を発行させる第2関数とを記憶する記憶部を有し、
     前記第1関数は、前記特定ジャンルのアプリケーションソフトウェアにおいて使用され、
     前記特定ジャンルのアプリケーションソフトウェアでは、前記第1関数の引数として、前記特定ジャンルが設定され、
     前記第2関数は、前記第1関数の実行によって実行され、
     前記画質設定手段は、前記特定ジャンルのアプリケーションソフトウェアの実行により前記画質レベルを上げる画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項10に記載の画像処理システム。
  14.  前記第1関数のAPIは、プログラマに公開される請求項13に記載の画像処理システム。
  15.  前記特定ジャンルのアプリケーションソフトウェアのソースコードには、当該特定ジャンルがコメント文として記載され、
     前記特定ジャンルに関するコメント文は、コンパイルの前に前処理を行うプリプロセッサによって、前記画質レベルを上げる画質設定命令のソースコードに置換され、
     前記画質設定手段は、前記ソースコードから生成されたオブジェクトコードを含んだ前記特定ジャンルのアプリケーションソフトウェアの実行により発行される当該画質設定命令を受けて前記画質レベルを設定する請求項10に記載の画像処理システム。
  16.  前記画像表示の遅延が許容される前記動作状況には、前記ホスト装置がデータを読み出している状況が含まれる請求項2から請求項4のいずれかに記載の画像処理システム。
  17.  前記ホスト装置は、データの読み出しを実行するためのプログラムを記憶する記憶部を有し、
     前記プログラムには、前記画質レベルを上げる画質設定命令が組み込まれており、
     前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項16に記載の画像処理システム。
  18.  データの読み出しを実行するためのプログラムは、関数として構成され、
     当該関数のAPIはプログラマに公開される請求項17に記載の画像処理システム。
  19.  前記ホスト装置がデータを読み出している状況には、当該ホスト装置に装着された外部記憶媒体からデータを読み出している状況が含まれる請求項16に記載の画像処理システム。
  20.  前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、
     前記画像表示の遅延が許容される前記動作状況には、前記操作検出手段によって検出されるユーザの操作量が所定量以下である状況が含まれる請求項2から請求項4のいずれかに記載の画像処理システム。
  21.  前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、
     前記画質設定手段は、前記操作情報に基づいて特定された未操作期間が所定期間以上であった場合、前記画質レベルを上げる画質情報を出力する請求項20に記載の画像処理システム。
  22.  前記操作検出手段には、ユーザによって前記クライアント装置に与えられる動きを検知する検知センサが含まれ、
     前記クライアント装置は、前記検知センサによって検知される情報を前記操作情報に含めて前記ホスト装置に伝送し、
     前記画質制定手段は、前記検知センサによって検知される情報に基づいて特定される前記クライアント装置の移動量が所定時間にわたって変化しない場合、前記画質レベルを上げる請求項20に記載の画像処理システム。
  23.  前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、
     前記ホスト装置は、前記操作情報に基づいて、前記クライアント装置に対するユーザの操作を監視する操作監視手段を有し、
     前記操作監視手段は、ユーザの操作量が所定量以上である場合は、前記画質レベルを下げる画質設定命令を出力し、ユーザの操作量が所定量より少ない場合は、前記画質レベルを上げる画質設定命令を出力する請求項20に記載の画像処理システム。
  24.  前記画質設定手段は、前記画像表示の遅延が許容される動作状況から前記画像表示の遅延が許容されない動作状況へと変化する時点よりも前の時点において、画質レベルを下げる画質情報を出力する請求項2から請求項4のいずれかに記載の画像処理システム。
  25.  前記ホスト装置は、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点よりも前の時点において、所定のイベントを実行するためのプログラムを記憶する記憶部を有し、
     前記プログラムには、前記画質レベルを下げる画質設定命令が組み込まれており、
     前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項20に記載の画像処理システム。
  26.  前記所定のイベントを実行するためのプログラムは、関数として構成され、
     当該関数のAPIはプログラマに公開される請求項25に記載の画像処理システム。
  27.  前記ホスト装置は、ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点におけるイベントを実行させるプログラムを記憶する記憶部を有し、
     前記シーン変更時点におけるイベントを実行させるプログラムのソースコードには、コンパイルされた際に、前記画質レベルを下げる画質設定命令を、前記シーン変更時点の所定時間前に配置させる特殊命令が含まれ、
     前記画質設定手段は、前記ソースコードのコンパイルにより生成されたオブジェクトコードを含んだ前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項20に記載の画像処理システム。
  28.  前記シーン変更時点におけるイベントを実行させるプログラムは、関数として構成され、
     当該関数のAPIはプログラマに公開される請求項27に記載の画像処理システム。
  29.  前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、
     前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、
     前記画像表示の遅延が許容される前記動作状況には、前記ホスト装置において、前記操作情報に基づく指示を受け付けないように設定される状況が含まれる請求項2から請求項4のいずれかに記載の画像処理システム。
  30.  前記ホスト装置は、前記操作情報に基づく指示を受け付けないようにするためのプログラムを記憶する記憶部を有し、
     前記プログラムには、前記画質レベルを上げる画質設定命令が組み込まれており、
     前記画質設定手段は、前記プログラムの実行により画質設定命令が発行されると、当該画質設定命令を受けて前記画質レベルを設定する請求項29に記載の画像処理システム。
  31.  前記操作情報に基づく指示を受け付けないようにするためのプログラムは、関数として構成され、
     当該関数のAPIはプログラマに公開される請求項30に記載の画像処理システム。
  32.  前記ホスト装置は、3D画像を生成する画像生成手段を有し、
     前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、
     前記画像表示の遅延が許容される前記動作状況には、前記画像生成手段によって生成される前記3D画像を見る視点位置が移動している状況であって、視点位置の移動前の所定期間において前記操作検出手段によってユーザの操作が検出されない状況が含まれる請求項2から請求項4のいずれかに記載の画像処理システム。
  33.  前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、
     前記画像生成手段は、3D画像を生成する際に、前記視点位置を連続的に変化させるビューイング変換を行う場合は、前記画質設定手段に対して視点位置の連続的な変化が行われていることを示す信号を出力し、
     前記画質設定手段は、視点位置の連続的な変化が行われていることを示す信号の入力前の所定期間におけるユーザの操作が、前記操作情報に基づいて検出されなかったときは、前記画質レベルを上げる画質情報を出力する請求項32に記載の画像処理システム。
  34.  前記ホスト装置は、3D画像を生成する画像生成手段を有し、
     前記クライアント装置は、当該クライアント装置に対するユーザの操作を検出する操作検出手段を有し、
     前記クライアント装置は、前記操作検出手段によって検出される情報を操作情報として前記ホスト装置に伝送し、
     前記画像生成手段は、3D画像を生成する際に、前記視点位置を連続的に変化させるビューイング変換を行う場合は、前記画質設定手段に対して視点位置の連続的な変化が行われていることを示す信号を出力し、
     前記画質設定手段は、視点位置の連続的な変化が行われていることを示す信号の入力前の所定期間におけるユーザの操作が、前記操作情報に基づいて検出されたときは、前記画質レベルを下げる画質情報を出力する請求項2から請求項4のいずれかに記載の画像処理システム。
  35.  前記ホスト装置は、
      前記動作状況に応じて、前記表示部に表示される画像の画質レベルを設定して、設定した画質レベルに関する画質情報を出力する画質設定手段と、
      前記画質情報に基づいて、前記画像データに対して符号化処理を施す符号化手段と、
    を前記画質制御手段として有し、
     前記符号化手段は、
      画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアを、前記画質情報に基づいて特定し、1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記単位符号化エリアに基づいて決定して、量子化パラメータを制御する符号量制御手段と、
      前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化手段と、
    を有する請求項1に記載の画像処理システム。
  36.  前記ホスト装置は、
      前記動作状況に応じて、前記表示部への画像表示の許容遅延時間を設定して、設定した許容遅延時間に関する遅延時間情報を出力する遅延時間設定手段と、
      前記遅延時間情報に基づいて、前記画像データに対して符号化処理を施す符号化手段と、
    を前記画質制御手段として有し、
     前記符号化手段は、
      画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアを、前記遅延時間情報に基づいて特定し、1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記単位符号化エリアに基づいて決定して、量子化パラメータを制御する符号量制御手段と、
      前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化手段と、
    を有する請求項1に記載の画像処理システム。
  37.  ホスト装置であって、
     クライアント装置の表示部に表示させる画像の画像データを生成して、当該画像データを出力する出力手段と、
     前記ホスト装置および前記クライアント装置を含む画像処理システムの動作状況に応じて、前記表示部に表示される画像の画質を制御する画質制御手段と、
    を備え、
     前記画質制御手段は、前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される前記動作状況において、前記画像の画質を上げるホスト装置。
  38.  画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの動作方法であって、
     a)前記ホスト装置において、前記画像処理システムの動作状況を把握する工程と、
     b)前記a)工程において前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される動作状況が把握された場合、前記表示部に表示される画像の画質を上げる工程と、
    を有する画像処理システムの動作方法。
  39.  前記b)工程は、
      前記a)工程において把握される動作状況に応じて、前記表示部に表示される画像の画質レベルを設定して、設定した画質レベルに関する画質情報を出力する画質設定工程と、
      前記画質情報に基づいて符号化の際の符号化条件を設定する符号化条件設定工程と、
      前記符号化条件に基づいて、前記画像データに対して符号化処理を施す符号化工程と、
    を含み、
     前記画質設定工程では、前記画像表示の遅延が許容される前記動作状況において、前記画質レベルを上げる画質情報が出力される請求項38に記載の画像処理システムの動作方法。
  40.  前記符号化条件設定工程では、
      画像データの1フレーム内の領域であって、符号化によって発生する発生符号量の管理範囲を示す単位符号化エリアが、前記b-1工程において出力された画質情報に基づいて特定され、当該単位符号化エリアが前記符号化条件として出力され、
     前記符号化工程は、
      1フレームを複数の領域に分割して得られる1マクロブロックあたりの目標符号量を、前記符号化条件に基づいて決定して、量子化パラメータを制御する符号量制御工程と、
      前記量子化パラメータに応じて決定される量子化ステップを用いて量子化処理を行い、符号化された画像データを生成する量子化工程と、
    を含む請求項39に記載の画像処理システムの動作方法。
  41.  前記符号量制御工程では、前記単位符号化エリアに含まれる1マクロブロックあたりの目標符号量が、当該単位符号化エリアの発生符号量が当該単位符号化エリアの総目標符号量に収まるように決定される請求項40に記載の画像処理システムの動作方法。
  42.  前記ホスト装置から伝送される画像データに対して、前記クライアント装置において復号化処理を施す復号化工程をさらに有し、
     前記画像処理システムでは、前記符号化処理と、前記ホスト装置から前記クライアント装置への画像データの伝送処理と、前記復号化処理とが、それぞれ独立して単位符号化エリアごとに順次に行われる請求項39から請求項41のいずれかに記載の画像処理システムの動作方法。
  43.  前記画質設定工程では、前記画像表示の遅延が許容される動作状況から前記画像表示の遅延が許容されない動作状況へと変化する時点よりも前の時点において、画質レベルを下げる画質情報が出力される請求項39から請求項41のいずれかに記載の画像処理システムの動作方法。
  44.  画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置に内蔵されたコンピュータに、
     前記ホスト装置から前記クライアント装置への画像データの伝送によって生じる画像表示の遅延が許容される前記画像処理システムの動作状況において、前記表示部に表示される画像の画質レベルを上げる画質設定命令を発行する工程と、
     前記画質設定命令の発行を受けて前記画質レベルを設定する工程と、
    を実行させるプログラム。
  45.  画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置の記憶部に記憶されるプログラムの作成方法であって、
     視聴目的のシーンを再生するためのプログラムのソースコードにおいて記載された、当該視聴目的のシーン名を示すコメント文を、コンパイルの前に前処理を行うプリプロセッサによって、前記表示部に表示される画像の画質レベルを上げる画質設定命令のソースコードに置換する工程と、
     コンパイルによって、当該ソースコードから前記画質レベルを上げる画質設定命令のオブジェクトコードを含むプログラムを生成する工程と、
    を備えるプログラムの作成方法。
  46.  画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置の記憶部に記憶されるプログラムの作成方法であって、
     前記特定ジャンルのアプリケーションソフトウェアのソースコードにおいて記載された、当該特定ジャンルを示すコメント文を、コンパイルの前に前処理を行うプリプロセッサによって、前記表示部に表示される画像の画質レベルを上げる画質設定命令のソースコードに置換する工程と、
     コンパイルによって、当該ソースコードから前記画質レベルを上げる画質設定命令のオブジェクトコードを含むプログラムを生成する工程と、
    を備えるプログラムの作成方法。
  47.  画像データを出力するホスト装置と、当該ホスト装置から伝送された前記画像データに基づく画像を表示する表示部を有するクライアント装置とを備えた画像処理システムの前記ホスト装置の記憶部に記憶されるプログラムの作成方法であって、
     ユーザの操作が要求されないシーンから、ユーザの操作が要求されるシーンへと変更するシーン変更時点におけるイベントを実行させるプログラムのソースコードをコンパイルする工程、
    を備え、
     前記ソースコードには、前記工程の実行によって、前記表示部に表示される画像の画質レベルを下げる画質設定命令を、前記シーン変更時点の所定時間前に配置させる特殊命令が含まれるプログラムの作成方法。
PCT/JP2011/073500 2010-12-16 2011-10-13 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法 WO2012081299A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180055005.9A CN103202030B (zh) 2010-12-16 2011-10-13 图像处理系统、图像处理系统的工作方法、主机装置
EP11849633.0A EP2654293A4 (en) 2010-12-16 2011-10-13 Image processing system, method of operating image processing system, host apparatus, program, and method of making program
US13/885,104 US9406104B2 (en) 2010-12-16 2011-10-13 Image processing system, method of operating image processing system, host apparatus, program, and method of making program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010280351A JP5576781B2 (ja) 2010-12-16 2010-12-16 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法
JP2010-280351 2010-12-16

Publications (1)

Publication Number Publication Date
WO2012081299A1 true WO2012081299A1 (ja) 2012-06-21

Family

ID=46244414

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/073500 WO2012081299A1 (ja) 2010-12-16 2011-10-13 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法

Country Status (5)

Country Link
US (1) US9406104B2 (ja)
EP (1) EP2654293A4 (ja)
JP (1) JP5576781B2 (ja)
CN (1) CN103202030B (ja)
WO (1) WO2012081299A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577140A (zh) * 2012-07-30 2014-02-12 卡西欧计算机株式会社 能够连接外部显示装置的显示终端装置及方法
CN104837043A (zh) * 2015-05-14 2015-08-12 腾讯科技(北京)有限公司 多媒体信息处理方法及电子设备

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595076B1 (ko) * 2011-12-13 2016-02-26 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 그래픽을 위한 그래픽 렌더링 매칭
JP6089846B2 (ja) * 2013-03-22 2017-03-08 富士通株式会社 映像配信システム及びデコーダ並びに映像配信方法
US10951889B2 (en) 2013-11-25 2021-03-16 Sony Interactive Entertainment Inc. Image delivery device, image delivery program, and image delivery method
CN104811830A (zh) * 2014-01-23 2015-07-29 苏州乐聚一堂电子科技有限公司 智能灯光影像特效系统
JP6327959B2 (ja) * 2014-06-04 2018-05-23 キヤノン株式会社 情報処理端末、キャッシュ制御方法及びウェブシステム
JP2016005264A (ja) * 2014-06-20 2016-01-12 船井電機株式会社 映像送信装置及び映像送信方法
US11140438B2 (en) 2014-08-25 2021-10-05 Maxell, Ltd. Mobile information terminal
KR102281217B1 (ko) * 2015-10-30 2021-07-23 에스케이텔레콤 주식회사 인코딩 방법 및 디코딩 방법, 그리고 이를 위한 장치
CN109427199B (zh) * 2017-08-24 2022-11-18 北京三星通信技术研究有限公司 用于辅助驾驶的增强现实的方法及装置
KR101981868B1 (ko) * 2017-12-12 2019-08-28 가천대학교 산학협력단 가상 현실 비디오 품질 제어
CN112513919A (zh) * 2018-10-15 2021-03-16 浅沼控股公司 事件管理系统
CN109600651B (zh) * 2018-12-13 2021-09-24 广州易方信息科技股份有限公司 文档类直播交互数据和音视频数据同步方法和系统
WO2020235722A1 (ko) * 2019-05-23 2020-11-26 엘지전자 주식회사 디스플레이 장치
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications
WO2022168541A1 (ja) * 2021-02-02 2022-08-11 ソニーグループ株式会社 情報処理装置及び情報処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252570A (ja) * 1998-03-04 1999-09-17 Ando Electric Co Ltd 動画通信装置
JPH11298890A (ja) 1998-04-13 1999-10-29 Hitachi Ltd 画像データの圧縮又は伸張方法とその装置、並びに、それを用いた画像伝送システム及び監視システム
JP2007049513A (ja) * 2005-08-11 2007-02-22 Alpine Electronics Inc 車々間通信装置、車々間通信システムおよび動画情報のアプリケーション適用可否判断方法
WO2007125574A1 (ja) * 2006-04-27 2007-11-08 Media Global Links Co., Ltd. 映像伝送装置
JP2007336260A (ja) * 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd 映像監視装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68926885T2 (de) * 1989-09-08 1997-01-09 Canon Kk Datenverarbeitungssystem mit Anzeigetafel
US5263136A (en) * 1991-04-30 1993-11-16 Optigraphics Corporation System for managing tiled images using multiple resolutions
US5432900A (en) * 1992-06-19 1995-07-11 Intel Corporation Integrated graphics and video computer display system
JP3610195B2 (ja) * 1997-07-04 2005-01-12 キヤノン株式会社 撮像装置
EP1097568A2 (en) * 1998-06-11 2001-05-09 Presenter.Com Creating animation from a video
US6081278A (en) * 1998-06-11 2000-06-27 Chen; Shenchang Eric Animation object having multiple resolution format
JP2001285861A (ja) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp 画像信号符号化装置
US7698652B2 (en) * 2001-02-09 2010-04-13 Koninklijke Philips Electronics N.V. Rapid retrieval user interface designed around small displays and few buttons for searching long lists
DE10112307A1 (de) * 2001-03-14 2002-10-02 Siemens Ag Verfahren und Vorrichtung zur Bewertung von medizinischen Untersuchungsbildern
WO2002085030A1 (en) * 2001-04-11 2002-10-24 Cyber Operations, Llc System and method for preconditioning analog video signals
JP4834917B2 (ja) * 2001-05-14 2011-12-14 株式会社ニコン 画像符号化装置および画像サーバ装置
JP4195625B2 (ja) * 2002-03-13 2008-12-10 Hoya株式会社 カメラ用アダプタ装置
JP4483635B2 (ja) * 2005-03-10 2010-06-16 ソニー株式会社 描画処理装置、表示装置、描画処理方法、ナビゲーション装置
JP2007066012A (ja) * 2005-08-31 2007-03-15 Toshiba Corp 映像描画装置、方法およびプログラム
US20070211055A1 (en) * 2006-03-10 2007-09-13 Autodesk, Inc. Adaptive degradation
JP2008067316A (ja) * 2006-09-11 2008-03-21 Olympus Corp 画像配信システム、サーバ及びクライアント端末
US20090228779A1 (en) * 2008-03-04 2009-09-10 Richard John Williamson Use of remote services by a local wireless electronic device
US8516095B2 (en) * 2008-05-23 2013-08-20 Research In Motion Limited Remote administration of mobile wireless devices
CN102033755A (zh) * 2009-09-30 2011-04-27 国际商业机器公司 用于运行虚拟机镜像的方法和系统
US8350867B2 (en) * 2009-12-22 2013-01-08 Ati Technologies Ulc Image quality configuration apparatus, system and method
US9785289B2 (en) * 2010-11-23 2017-10-10 Red Hat, Inc. GUI control improvement using a capacitive touch screen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252570A (ja) * 1998-03-04 1999-09-17 Ando Electric Co Ltd 動画通信装置
JPH11298890A (ja) 1998-04-13 1999-10-29 Hitachi Ltd 画像データの圧縮又は伸張方法とその装置、並びに、それを用いた画像伝送システム及び監視システム
JP2007049513A (ja) * 2005-08-11 2007-02-22 Alpine Electronics Inc 車々間通信装置、車々間通信システムおよび動画情報のアプリケーション適用可否判断方法
WO2007125574A1 (ja) * 2006-04-27 2007-11-08 Media Global Links Co., Ltd. 映像伝送装置
JP2007336260A (ja) * 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd 映像監視装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2654293A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577140A (zh) * 2012-07-30 2014-02-12 卡西欧计算机株式会社 能够连接外部显示装置的显示终端装置及方法
US9582903B2 (en) 2012-07-30 2017-02-28 Casio Computer Co., Ltd. Display terminal device connectable to external display device and method therefor
CN104837043A (zh) * 2015-05-14 2015-08-12 腾讯科技(北京)有限公司 多媒体信息处理方法及电子设备

Also Published As

Publication number Publication date
US9406104B2 (en) 2016-08-02
EP2654293A1 (en) 2013-10-23
EP2654293A4 (en) 2017-05-17
CN103202030B (zh) 2017-02-22
US20130235035A1 (en) 2013-09-12
CN103202030A (zh) 2013-07-10
JP2012129847A (ja) 2012-07-05
JP5576781B2 (ja) 2014-08-20

Similar Documents

Publication Publication Date Title
JP5576781B2 (ja) 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法
JP5833599B2 (ja) プログラム、記録媒体及び符号化方式決定方法
JP4900976B2 (ja) 画像ストリーミング・システム内の圧縮レベルを切り換える方法、並びに、システム、サーバ、及びコンピュータ・プログラム
JP4746550B2 (ja) 画像符号化装置
JP4635016B2 (ja) 情報処理装置およびインター予測モード判定方法
AU2012291536B2 (en) Moving image data generation device, moving image display device, moving image data generation method, moving image displaying method, and data structure of moving image file
JP2009055542A (ja) 動画像符号化装置および動画像符号化方法
JP2019526195A (ja) 改良情報を用いてダウンサンプリング/アップサンプリングすることによるデジタルフレームの符号化/復号化
WO2007014871A1 (en) Systems, methods, and media for detecting content change in a streaming image system
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
TW201427431A (zh) 轉碼視頻資料之技術
JP2006512838A (ja) ダイナミック・グラフィック・コンテンツ・ビューの符号化
JP4922101B2 (ja) 情報処理装置およびインター予測モード判定方法
JP2006254231A (ja) 情報処理装置および同装置で用いられるプログラム
JP5625512B2 (ja) 符号化装置、符号化方法、プログラム、および記録媒体
JP5694674B2 (ja) 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
JP2002232881A (ja) 動画像復号化方法及び装置
JP5399277B2 (ja) 画像圧縮装置、オーサリングシステムおよび画像圧縮方法
JP2009182891A (ja) 情報処理装置およびプログラム
JP2008263549A (ja) 動画像符号化装置および動画像符号化方法
Shenoy Image Compression Using Inter Image Matching and Prediction
US20110158524A1 (en) Image Processing Apparatus And Image Processing Method
JP2000197041A (ja) 画像処理装置及びその方法、コンピュ―タ可読メモリ
JP2007124238A (ja) 動画像符号化装置及び動画像符号化方法
JP2010028436A (ja) 動画像復号装置、プログラムおよび復号処理簡略化方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11849633

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011849633

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011849633

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13885104

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE