JP5990600B2 - Color adjuster for color classification - Google Patents
Color adjuster for color classification Download PDFInfo
- Publication number
- JP5990600B2 JP5990600B2 JP2014560912A JP2014560912A JP5990600B2 JP 5990600 B2 JP5990600 B2 JP 5990600B2 JP 2014560912 A JP2014560912 A JP 2014560912A JP 2014560912 A JP2014560912 A JP 2014560912A JP 5990600 B2 JP5990600 B2 JP 5990600B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- color
- control
- user
- adjustment
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 34
- 230000009466 transformation Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 description 175
- 230000008569 process Effects 0.000 description 156
- 210000003811 finger Anatomy 0.000 description 140
- 238000004458 analytical method Methods 0.000 description 53
- 238000010079 rubber tapping Methods 0.000 description 49
- 239000003086 colorant Substances 0.000 description 45
- 238000003825 pressing Methods 0.000 description 33
- 230000001965 increasing effect Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000001419 dependent effect Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 11
- 230000000977 initiatory effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 9
- 230000005057 finger movement Effects 0.000 description 8
- 230000003213 activating effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 210000000887 face Anatomy 0.000 description 6
- 230000001815 facial effect Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000007935 neutral effect Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 229920006395 saturated elastomer Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000394635 Acetomicrobium mobile Species 0.000 description 1
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000593989 Scardinius erythrophthalmus Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037311 normal skin Effects 0.000 description 1
- 201000005111 ocular hyperemia Diseases 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/62—Retouching, i.e. modification of isolated colours only or in isolated picture areas only
- H04N1/622—Retouching, i.e. modification of isolated colours only or in isolated picture areas only with simulation on a subsidiary picture reproducer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Color Image Communication Systems (AREA)
- Processing Or Creating Images (AREA)
- Facsimile Image Signal Circuits (AREA)
- Editing Of Facsimile Originals (AREA)
Description
デジタルグラフィックデザイン及び画像編集アプリケーション(以降では、画像編集アプリケーションと総称される)は、グラフィックデザイナー、メディアアーティスト、及び他のユーザに、画像を閲覧及び編集するために必要なツールを提供する。そのようなアプリケーションの例としては、iPhoto(登録商標)、Aperture(登録商標)、及びFinal Cut Pro(登録商標)が挙げられ、それら全てがApple,Inc.により販売されている。これらのアプリケーションは、様々な様式で画像を編集するための能力をユーザに与える。例えば、一部のアプリケーションは、画像又はビデオの種々の色値を調整するための種々の範囲スライダを提供する。 Digital graphic design and image editing applications (hereinafter collectively referred to as image editing applications) provide graphic designers, media artists, and other users with the tools necessary to view and edit images. Examples of such applications include iPhoto®, Aperture®, and Final Cut Pro®, all of which are available from Apple, Inc. It is sold by. These applications give the user the ability to edit images in various ways. For example, some applications provide various range sliders for adjusting various color values of an image or video.
しかしながら、多くの画像編集アプリケーションは、直感的な色調整コントロールを提供しない。例えば、ユーザは、既存の色調整ツールの殆どを有効に使用するためには、色編集についての幅広い知識を有することが必要とされる。更には、画像の色値の様々な特徴を調整するためのコントロールは、ユーザインターフェースの様々な場所に分散されている。これらの不備は、画像を編集する際に、不必要な不便を引き起こす。 However, many image editing applications do not provide intuitive color adjustment controls. For example, a user is required to have extensive knowledge about color editing in order to effectively use most of the existing color adjustment tools. Furthermore, controls for adjusting various features of the color values of the image are distributed at various locations on the user interface. These deficiencies cause unnecessary inconvenience when editing images.
画像編集アプリケーションにおける、画像を編集するための幾つかの新規のユーザインターフェース(UI)ツールの実施形態が説明される。一部の実施形態では、この画像編集アプリケーションは、特定の色範囲に関連付けられているコンテンツのタイプ(例えば、空、群葉など)に関連する、画像の一部分のみの色値を調整するためのUIコントロールのセットを提供する。画像上の特定のコンテンツのタイプの色値を調整するためのUIコントロールを通じて、入力が受け取られると、このアプリケーションは、そのコンテンツのタイプに関連付けられている画像内の画素のセットを、自動的に特定する。次いで、このアプリケーションは、ユーザ入力に基づいて、その特定された画素のセットの色値のみを調整する。 Several novel user interface (UI) tool embodiments for editing images in an image editing application are described. In some embodiments, the image editing application is for adjusting color values of only a portion of the image associated with the type of content (eg, sky, foliage, etc.) associated with a particular color range. Provides a set of UI controls. When input is received through a UI control to adjust the color value of a particular content type on the image, the application automatically sets the set of pixels in the image associated with that content type. Identify. The application then adjusts only the color values of the identified set of pixels based on user input.
一部の実施形態では、各UIコントロールは、画像内の異なるコンテンツのタイプに関連する色値を調整するためのものである。一部の実施形態のアプリケーションは、コンテンツの各タイプに関して、色空間内部での色値の範囲を定義する。特定のUIコントロールを通じて入力が受け取られると、このアプリケーションは、画像内の画素を探索して、その特定のUIコントロールに対応するコンテンツのタイプに関して定義された色値の範囲内に収まる色値を有する、画素のセットを特定する。 In some embodiments, each UI control is for adjusting color values associated with different types of content in the image. The application of some embodiments defines a range of color values within the color space for each type of content. When input is received through a particular UI control, the application searches for a pixel in the image and has a color value that falls within the range of color values defined for the type of content corresponding to that particular UI control. Identify a set of pixels.
画像は、色空間内に定義される色値を有する、画素を含む。一部の実施形態では、画像の色値は、種々のコンテンツのタイプに関連付けられている色値の範囲が、定義される特定の色空間とは異なる色空間内で定義される。これらの実施形態では、アプリケーションは、画素のセットを特定する前に、画像の色値をそれらの本来の色空間から、色値の範囲が定義される特定の色空間に変換する。 The image includes pixels that have color values defined in a color space. In some embodiments, the color values of the image are defined in a color space that is different from the specific color space in which the range of color values associated with the various content types is defined. In these embodiments, the application converts the color values of the image from their original color space to a specific color space in which the range of color values is defined before specifying the set of pixels.
一部の実施形態では、各色調整は、画像に適用される調整の様々な程度を指定するための調整値の範囲を含む。これらの実施形態では、UIコントロールはまた、画像に適用される調整の程度を制御するための調整値を、ユーザが指定するための手段も提供する。種々の実施形態は、種々の技術を使用して、UIコントロールのセットを実装する。例えば、一部の実施形態のアプリケーションは、範囲スライダのセットとしてUIコントロールのセットを実装する。これらの実施形態では、ユーザは、範囲スライダ上の種々の位置を選択することによって、種々の調整値を指定することができる。 In some embodiments, each color adjustment includes a range of adjustment values for specifying various degrees of adjustment applied to the image. In these embodiments, the UI control also provides a means for the user to specify an adjustment value for controlling the degree of adjustment applied to the image. Various embodiments implement a set of UI controls using various techniques. For example, some embodiment applications implement a set of UI controls as a set of range sliders. In these embodiments, the user can specify various adjustment values by selecting various positions on the range slider.
一部の実施形態では、このアプリケーションは、特定のUIコントロールに対するユーザ入力に応答して、画像の色値に対する1つのタイプの調整(例えば、彩度調整)のみを実行する。しかしながら、一部の他の実施形態のアプリケーションは、特定のUIコントロールに対する単一のユーザ入力に応答して、画像の色値に対する2つ以上のタイプの調整を実行する。例えば、ユーザ入力に応答して、一部の実施形態のアプリケーションは、画像の色値に対する、彩度調整、コントラスト調整、及び明度調整を実行することができる。これらの実施形態では、アプリケーションは、単一のユーザ入力を使用して、各調整操作に関する調整値を決定し、これらの調整操作を画像に適用する。 In some embodiments, the application performs only one type of adjustment (eg, saturation adjustment) to the color values of the image in response to user input for a particular UI control. However, some other embodiments of the application perform more than one type of adjustment to the color values of the image in response to a single user input for a particular UI control. For example, in response to user input, an application of some embodiments can perform saturation adjustment, contrast adjustment, and brightness adjustment on image color values. In these embodiments, the application uses a single user input to determine adjustment values for each adjustment operation and applies these adjustment operations to the image.
一部の実施形態は、画像編集アプリケーションにおける、画像を編集するための別の新規なUIを提供する。これらの実施形態では、アプリケーションは、画像上の場所をユーザが選択することを可能にし、その画像上の選択された場所で、種々のコンテンツのタイプが検知される場合に、その画像に適用するための種々の画像編集操作に関連付けられている種々のUIコントロールを表示する画像編集ツールを提供する。これらの実施形態では、ユーザが画像上の場所を選択し、このアプリケーションの画像編集ツールが、画像上の選択された場所に対応する画素の色値を、その画像から取得する。次いで、色編集ツールは、それらの画素値に対する一連の分析を実行して、その選択された場所が、特定のコンテンツのタイプを表現するか否かを検出する。検出されたコンテンツのタイプに基づいて、色編集ツールは、画像編集操作のセットを決定し、その決定された画像編集操作に関連付けられているUIコントロールのセットを表示する。一部の実施形態では、UIコントロールは、画像の上に重ね合わされる。 Some embodiments provide another novel UI for editing images in an image editing application. In these embodiments, the application allows the user to select a location on the image and applies to the image when various content types are detected at the selected location on the image. An image editing tool for displaying various UI controls associated with various image editing operations is provided. In these embodiments, the user selects a location on the image, and the image editing tool of the application obtains the color value of the pixel corresponding to the selected location on the image from the image. The color editing tool then performs a series of analyzes on those pixel values to detect whether the selected location represents a particular type of content. Based on the type of content detected, the color editing tool determines a set of image editing operations and displays a set of UI controls associated with the determined image editing operations. In some embodiments, UI controls are superimposed on the image.
種々の実施形態は、取得された画像の色値に対して、種々の分析を実行する。一部の実施形態では、このアプリケーションは、その画像の選択された場所が予め定義されたコンテンツのタイプを表現するか否かを検出するための一連の分析を実行する。これらの実施形態では、アプリケーションは、種々のコンテンツのタイプに関する種々の色値の範囲を定義している。次いで、このアプリケーションは、取得された色値が、それらの色値の範囲のうちのいずれか1つの範囲内に収まるか否かを判定する。取得された色値が、特定の色値の範囲内に収まる場合、このアプリケーションは、取得された色値、並びに選択された場所を、対応するコンテンツのタイプと関連付ける。次いで、このアプリケーションは、検出されたコンテンツのタイプに基づいて、重ね合わせUIコントロールのセットを提供する。 Various embodiments perform various analyzes on the color values of the acquired image. In some embodiments, the application performs a series of analyzes to detect whether the selected location of the image represents a predefined content type. In these embodiments, the application defines different color value ranges for different content types. The application then determines whether the acquired color value falls within any one of those color value ranges. If the acquired color value falls within a specific color value range, the application associates the acquired color value, as well as the selected location, with the corresponding content type. The application then provides a set of overlay UI controls based on the type of content detected.
一部の実施形態では、UIコントロールのセットは、その選択された場所で、又は選択された場所の近傍で、画像の上に重ね合わされる。一部の実施形態では、この重ね合わせUIコントロールは、不透明か又は透明かの一方である。ユーザは、画像に対して入力を提供することによって、これらのUIコントロールを操作することができる。これらの実施形態の一部では、UIコントロールは、ユーザが、特定の方向入力を提供することによって、特定の画像編集操作を選択することができる、方向依存性UIコントロールである。ユーザが、画像に対して方向入力を提供すると、このアプリケーションは、入力の方向に基づいて、その入力をUIコントロールのうちの1つに関連付け、対応する調整を画像に適用する。 In some embodiments, the set of UI controls are superimposed on the image at or near the selected location. In some embodiments, this overlay UI control is either opaque or transparent. A user can manipulate these UI controls by providing input to the image. In some of these embodiments, the UI control is a direction-dependent UI control that allows the user to select a specific image editing operation by providing a specific direction input. When the user provides a directional input to the image, the application associates the input with one of the UI controls based on the direction of the input and applies the corresponding adjustment to the image.
一部の実施形態では、UIコントロールの重ね合わせを通じて画像に対して実行することが可能な、各画像編集操作は、画像に対して実行される編集の様々な程度を指定するための調整値の範囲を含む。これらの実施形態では、アプリケーションはまた、ユーザによって提供される方向入力に基づいて、大きさも特定する。次いで、このアプリケーションは、その特定された入力の大きさに基づいて、画像編集操作に関する調整値を計算し、その計算された調整値を使用して、画像に対して画像編集操作を実行する。 In some embodiments, each image editing operation that can be performed on an image through a superposition of UI controls allows adjustment values to be specified for varying degrees of editing performed on the image. Includes range. In these embodiments, the application also determines the size based on the directional input provided by the user. The application then calculates an adjustment value for the image editing operation based on the identified input magnitude, and performs the image editing operation on the image using the calculated adjustment value.
コンテンツ依存性UIコントロールに加えて、一部の実施形態のアプリケーションはまた、画像の色バランスを調整するための新規のUIも提供する。一部の実施形態では、このアプリケーションは、画像上の場所をユーザが選択することを可能にする、色バランスUIコントロールを提供する。次いで、このアプリケーションは、選択された場所に対応する画素の色値を取得して、その画素の色値を、設定された基準色(例えば、灰色、理想的な肌色など)に変更する色調整を決定する。この色調整に基づいて、アプリケーションは、画像内の各色を異なる色にマッピングする色空間変換を生成する。次いで、このアプリケーションは、画像内の全ての画素に、その色空間変換を適用する。 In addition to content-dependent UI control, some embodiment applications also provide a new UI for adjusting the color balance of an image. In some embodiments, the application provides a color balance UI control that allows the user to select a location on the image. The application then obtains the color value of the pixel corresponding to the selected location and changes the color value of the pixel to a set reference color (eg, gray, ideal skin color, etc.) To decide. Based on this color adjustment, the application generates a color space transformation that maps each color in the image to a different color. The application then applies the color space transformation to every pixel in the image.
種々の実施形態は、この色バランス調整操作のための種々の基準色を提供する。基準色として灰色が設定される一部の実施形態では、ユーザは、灰色として現われる対象物を表示する画像内の場所を選択することによって、色バランスUIを通じて画像の色バランスを調整することができる。他の実施形態では、このアプリケーションは、理想的な肌色を基準色として設定することができる。これらの実施形態では、ユーザは、人の顔を表示する画像内の場所を選択することによって、色バランスUIを通じて画像の色バランスを調整する。 Various embodiments provide various reference colors for this color balance adjustment operation. In some embodiments where gray is set as the reference color, the user can adjust the color balance of the image through the color balance UI by selecting a location in the image that displays objects that appear as gray. . In other embodiments, the application can set the ideal skin color as the reference color. In these embodiments, the user adjusts the color balance of the image through the color balance UI by selecting a location in the image that displays a human face.
一部の実施形態では、このアプリケーションは、画像の色バランスを調整するために画像上に重ね合わされる色バランスUIコントロールを提供する。これらの実施形態の一部では、色バランスUIコントロールは、画像上で移動可能であり、ユーザが、色バランスUIコントロールを所望の場所に移動させることによって、画像上の場所を指定することを可能にする。 In some embodiments, the application provides a color balance UI control that is overlaid on the image to adjust the color balance of the image. In some of these embodiments, the color balance UI control is movable on the image, allowing the user to specify a location on the image by moving the color balance UI control to the desired location. To.
一部の実施形態では、色バランスUIコントロールは、ズーミング能力を提供することにより、ユーザが、ホワイトバランス操作のための場所を正確に選択することを可能にする。これらの実施形態では、色バランスUIコントロールは、閉じた境界線を含む。アプリケーションは、この色バランスUIコントロールの閉じた境界線内部の、画像の部分をズームインする(すなわち、拡大する)。色バランスUIコントロールの閉じた境界線内部の画像は、より大きくなるように現われるため、ユーザは、より正確に、画像上の場所を選び取ることができる。 In some embodiments, the color balance UI control provides a zooming capability to allow the user to accurately select a location for white balance operations. In these embodiments, the color balance UI control includes a closed border. The application zooms in (ie, enlarges) the portion of the image within the closed border of this color balance UI control. Since the image inside the closed border of the color balance UI control appears to be larger, the user can select a location on the image more accurately.
ズーミング能力に加えて、色バランスUIコントロールはまた、編集された画像のプレビューをユーザに提供することもできる。一部の実施形態では、このアプリケーションは、色バランスUIコントロールの閉じた境界線の外側にある画像の部分の、編集済みバージョンを表示すると共に、閉じた境界線の内側にある画像の部分の、未編集バージョンを表示する。 In addition to zooming capabilities, the color balance UI control can also provide the user with a preview of the edited image. In some embodiments, the application displays an edited version of the portion of the image that is outside the closed border of the color balance UI control and the portion of the image that is inside the closed border. Display the unedited version.
上記の「発明の概要」は、本明細書で説明される一部の実施形態の、簡潔な紹介としての役割を果たすことを意図するものである。本文書で開示される全ての発明主題の、序論又は概要であることを意味するものではない。以下の「発明を実施するための形態」、及び「発明を実施するための形態」で参照される図面は、この「発明の概要」で説明された実施形態、並びに他の実施形態を、更に説明するものである。したがって、本文書によって説明される全ての実施形態を理解するためには、「発明の概要」、「発明を実施するための形態」、及び図面の十分な検討が必要とされる。更には、特許請求される主題は、「発明の概要」、「発明を実施するための形態」、及び図面での、例示的な詳細によって限定されるものではなく、むしろ、特許請求される主題は、その主題の趣旨から逸脱することなく他の特定の形態で具体化することができるため、添付の特許請求の範囲によって定義されるものである。 The above "Summary of the Invention" is intended to serve as a concise introduction to some embodiments described herein. It is not meant to be an introduction or summary of all inventive subject matter disclosed in this document. The drawings referred to in the following “DETAILED DESCRIPTION OF THE INVENTION” and “MODE FOR CARRYING OUT THE INVENTION” further illustrate the embodiment described in this “Summary of the Invention” and other embodiments. Explain. Accordingly, in order to understand all of the embodiments described by this document, a thorough examination of the "Summary of Invention", "Mode for Carrying Out the Invention", and the drawings is required. Furthermore, the claimed subject matter is not limited by the exemplary details in the "Summary of Invention", "Mode for Carrying Out the Invention", and drawings, but rather is claimed subject matter. Can be embodied in other specific forms without departing from the spirit of the subject matter, and thus is defined by the appended claims.
本明細書で説明される新規の特徴は、添付の特許請求の範囲に記載される。しかしながら、説明の目的上、幾つかの実施形態が、以下の図に記載される。
以下の「発明を実施するための形態」では、画像編集ツール並びに画像編集アプリケーションの数多くの詳細、実施例、及び実施形態が記載され、説明される。しかしながら、本発明は、記載される実施形態に限定されるものではなく、論じられる具体的詳細及び実施例の一部を伴わずに、本発明を実践することができる点が、当業者には明確かつ明白となるであろう。 In the following Detailed Description, numerous details, examples, and embodiments of image editing tools and image editing applications are described and described. However, it will be apparent to those skilled in the art that the present invention is not limited to the described embodiments, and that the present invention may be practiced without some of the specific details and examples discussed. It will be clear and obvious.
画像編集アプリケーションにおける、画像を編集するための幾つかの新規のユーザインターフェース(UI)ツールの実施形態が、説明される。一部の実施形態では、この画像編集アプリケーションは、特定の色範囲に関連付けられているコンテンツのタイプ(例えば、空、群葉など)に関連する、画像の一部分のみの色値を調整するためのUIコントロールのセットを提供する。画像上の特定のコンテンツのタイプの色値を調整するためのUIコントロールを通じて、入力が受け取られると、このアプリケーションは、そのコンテンツのタイプに関連付けられている画像内の画素のセットを、自動的に特定する。次いで、このアプリケーションは、ユーザ入力に基づいて、その特定された画素のセットの色値のみを調整する。 Several novel user interface (UI) tool embodiments for editing images in an image editing application are described. In some embodiments, the image editing application is for adjusting color values of only a portion of the image associated with the type of content (eg, sky, foliage, etc.) associated with a particular color range. Provides a set of UI controls. When input is received through a UI control to adjust the color value of a particular content type on the image, the application automatically sets the set of pixels in the image associated with that content type. Identify. The application then adjusts only the color values of the identified set of pixels based on user input.
一部の実施形態では、UIコントロールのセットは、画像内の空の色のみの色値を調整するためのUIコントロールを含む。これらの実施形態では、アプリケーションは、最初に、予め定義された空の色値の範囲内に収まる色値を有する、画像内の画素のセットを特定する。次いで、このアプリケーションは、その特定された画素のセットのみに、色調整を適用する。空の色の色値を調整することに加えて、一部の実施形態のUIコントロールのセットはまた、画像内の群葉の色のみの色値を調整するためのUIコントロールも含む。同様に、このアプリケーションは、予め定義された群葉の色値の範囲内に収まる色値を有する、画像内の画素のセットを特定し、その特定された画素のセットのみに、色調整を適用する。青空の色及び群葉の色を調整するための色調整操作は、以下のセクションIで、より詳細に説明される。 In some embodiments, the set of UI controls includes UI controls for adjusting color values of only the sky colors in the image. In these embodiments, the application first identifies a set of pixels in the image that have color values that fall within a predefined range of sky color values. The application then applies color adjustments only to the identified set of pixels. In addition to adjusting the color value of the sky color, the set of UI controls in some embodiments also includes a UI control for adjusting the color values of only the foliage colors in the image. Similarly, this application identifies a set of pixels in the image that have color values that fall within a predefined foliage color value range, and applies color adjustments only to that identified set of pixels. To do. The color adjustment operation for adjusting the blue sky color and foliage color is described in more detail in Section I below.
更には、一部の実施形態の画像編集アプリケーションはまた、画像上の場所をユーザが選択することを可能にし、その画像上の選択された場所から、種々のコンテンツのタイプが検出される場合に、その画像に適用するための種々の画像編集操作に関連付けられている種々のUIコントロールを表示する、画像編集ツールも提供する。これらの実施形態では、ユーザが画像上の場所を選択し、このアプリケーションの画像編集ツールが、画像上の選択された場所に対応する画素の色値を、その画像から取得する。次いで、このアプリケーションは、それらの画素値に対する一連の分析を実行して、その選択された場所が、特定のコンテンツのタイプを表現するか否かを検出する。検出されたコンテンツのタイプに基づいて、色編集ツールは、画像編集操作のセットを決定し、その決定された画像編集操作に関連付けられているUIコントロールのセットを表示する。コンテンツ依存性の画像上UIコントロールを提供する種々の実施形態は、以下のセクションIIで、より詳細に説明される。 Further, the image editing application of some embodiments also allows a user to select a location on the image, and when various content types are detected from the selected location on the image. An image editing tool is also provided that displays various UI controls associated with various image editing operations for application to the image. In these embodiments, the user selects a location on the image, and the image editing tool of the application obtains the color value of the pixel corresponding to the selected location on the image from the image. The application then performs a series of analyzes on those pixel values to detect whether the selected location represents a particular content type. Based on the type of content detected, the color editing tool determines a set of image editing operations and displays a set of UI controls associated with the determined image editing operations. Various embodiments for providing content-dependent on-image UI control are described in more detail in Section II below.
図1は、画像の一部分のみの色値を調整するためのUIコントロールのセットを提供する、一部の実施形態の画像編集アプリケーションの、例示的なGUI100を示す。具体的には、図1は、UIコントロールの種々のセットをアクティブ化して操作する動作を、4つの異なるステージ105、110、115、及びステージ120で示す。これらのステージのそれぞれを、以下でより詳細に説明する。
FIG. 1 illustrates an
図1に示すように、GUI100は、画像195、及び色調整UIコントロール125〜135のセットを含む。色調整UIコントロールのそれぞれは、この画像の異なる部分に関して、異なる色調整を開始するためのものである。例えば、UIコントロール125は、画像全体に「調整A」を適用するためのものであり、UIコントロール130は、画像の空領域に「調整B」を適用するためのものであり、UIコントロール135は、画像の群葉領域に「調整C」を適用するためのものである。
As shown in FIG. 1, the
種々の実施形態は、種々の技術を使用して、UIコントロールのセットを実装する。この実施例では、アプリケーションは、UIコントロールのセットを、範囲スライダのセットとして実装する。これらの実施形態では、ユーザは、異なるUIコントロール125〜135を選択して操作することによって、画像に対する異なる調整操作を開始することができる。範囲スライダに加えて、GUI100はまた、ユーザが、UIコントロール125〜135のセットに対応する重ね合わせUIコントロール(画像上UIコントロールとも称される)のセットをアクティブ化することによって、調整操作を開始することも可能にする。
Various embodiments implement a set of UI controls using various techniques. In this example, the application implements a set of UI controls as a set of range sliders. In these embodiments, the user can initiate different adjustment operations on the image by selecting and manipulating different UI controls 125-135. In addition to the range slider, the
第2ステージ110は、ユーザが、重ね合わせUIコントロールのセットをアクティブ化した後の、GUI100を示す。一部の実施形態では、ユーザは、画像上の場所を選択することによって、重ね合わせUIコントロールのセットをアクティブ化することができる。これらの実施形態では、アプリケーションは、選択された場所に対応する画素の色値を取得して、その色値を、予め定義されたコンテンツのうちの1つと関連付ける。次いで、アプリケーションは、その関連付けられているコンテンツのタイプに関連する、重ね合わせUIコントロールのセットを提供する。図示のように、ユーザは、空を表示する、画像195上の場所を選択している。画像195上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行することによって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。一実施形態では、ユーザは、画像の場所で指をタップするか、又は、その場所に指を置くことによって、場所を選択することができる。他の実施形態では、他のジェスチャを実行することにより、場所を選択することができる。上述のように、ユーザが画像上の場所を選択した後、一部の実施形態の画像編集アプリケーションは、少なくとも1つの分析を実行して、その選択された場所を、予め定義されたコンテンツのタイプと関連付ける。種々の実施形態は、種々の技術を使用して、選択された場所に関連付けられているコンテンツのタイプを判定する。一部の実施形態のアプリケーションは、最初に、種々のコンテンツのタイプに関連付けられている種々の色値の範囲を定義する。次いで、このアプリケーションは、画像内の選択された場所に対応する画素のセットの色値が、特定のコンテンツのタイプに関連付けられている色値の範囲内に収まるか否かを判定し、その特定のコンテンツのタイプに関連付けられている画像上UIコントロールのセットを表示する。この実施例では、アプリケーションは、選択された場所が、青空に関連付けられていることを判定する。それゆえ、このアプリケーションは、画像の空領域に「調整B」を実行するためのUIコントロール140に対応する、画像上UIコントロール155及び画像上UIコントロール160(水平軸に沿った2つの方向の矢印として表示される)のセットを提供する。
The second stage 110 shows the
このアプリケーションはまた、画像全体に「調整A」を実行するためのUIコントロール125に対応する、重ね合わせUIコントロール145及び重ね合わせUIコントロール150(垂直軸に沿った2つの方向の矢印として表示される)のセットも提供する。重ね合わせUIコントロール145及び重ね合わせUIコントロール150のセットは、コンテンツに依存しない。すなわち、アプリケーションは、画像上に選択された場所とは無関係に、この重ね合わせUIコントロール145及び重ね合わせUIコントロール150のセットを提供する。一部の実施形態では、このアプリケーションはまた、UIコントロール125及びUIコントロール130がアクティブ化されていることを示すために、UIコントロール125及びUIコントロール130を強調表示する。(UIコントロールが強調表示されていることを示すために、UIコントロールの境界線が太線にされている。)この図には示されないが、この第2ステージ110でのユーザは、画像に対して方向入力を提供することによって、特定の色調整(すなわち、「調整A」又は「調整B」)を選択することができる。逆に、調整Aを垂直方向で実行することが可能であり、調整Bを水平方向で実行することが可能である点を、理解されたい。
This application is also displayed as an
第3ステージ115は、ユーザが、画像195上の異なる場所を選択した後の、GUI100を示す。画像195上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行することによって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。一実施形態では、ユーザは、画像の場所で指をタップするか、又は、その場所に指を置くことによって、場所を選択することができる。他の実施形態では、他のジェスチャを実行することにより、場所を選択することができる。図示のように、ユーザは、山を示す画像上の場所を選択している。この新たな場所の選択に基づいて、アプリケーションは、画像の群葉領域に「調整C」を実行するためのUIコントロール135に対応する、重ね合わせUIコントロール175及び重ね合わせUIコントロール180(水平軸に沿った2つの方向の矢印として表示される)の異なるセットを表示する。このアプリケーションはまた、UIコントロール130がアクティブ化されていることを示すために、UIコントロール135を強調表示する。一部の実施形態では、UIコントロール135は、そのUIコントロールを取り囲む形状上に、より太い境界線を有することによって、強調表示される。他の実施形態では、UIコントロール135は、GUI内に表示される他のUIコントロールよりも明るい色で表示されることによって、強調表示される。第2ステージ110と同様に、このアプリケーションはまた、画像に「調整A」を実行するためのUIコントロール125に対応する、重ね合わせUIコントロール145及び重ね合わせUIコントロール150のセットも提供するが、これは、この重ね合わせUIコントロールのセットが、コンテンツに依存しないためである。
The third stage 115 shows the
第4ステージ120は、ユーザが、方向入力を提供することによって、画像に対する色調整を開始した後の、GUI100を示す。この方向入力は、実質的に水平方向に沿って、タッチ若しくはニアタッチ感応スクリーンを有する装置上で、ユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印140によって示されるように、画像の右にユーザの指をドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像195上で調整Cを実行するための画像上UIコントロール180と関連付ける。図示のように、画像195の群葉領域(例えば、山を表示する領域)は、画像195のその部分の全域にわたる斜線によって示されるように、調整されている。第4ステージ120はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール145及び画像上UIコントロール150が、ディスプレイから除去されて、対応するUIコントロール125が、もはや強調表示されないことも示す。一部の実施形態では、UIコントロール145及びUIコントロール150は、徐々に消失する。第4ステージ120はまた、ユーザが、異なる場所に指を移動させると、アクティブ化された重ね合わせUIコントロールが、その指を追従することも示す。換言すれば、表示された重ね合わせUIコントロールは、表示された画像の全域にわたって移動するようにアニメーション化され、その一方で画像が静止したまま維持されることにより、指に付着しているかのように、実質的にユーザの指の下に維持される。それゆえ、画像上UIコントロールは、常に指の場所の周囲に存在する。
The fourth stage 120 shows the
コンテンツ依存性UIコントロールに加えて、一部の実施形態のアプリケーションはまた、画像の色バランスを調整するための新規のUIも提供する。色バランス調整は、画像内の色を、画像内に取り込まれた瞬間の、景色及び対象物の色と一致させるための、色調整操作である。一部の実施形態では、このアプリケーションは、画像上の場所をユーザが選択することを可能にする、色バランスUIコントロールを提供する。次いで、このアプリケーションは、選択された場所に対応する画素の色値を取得して、その画素の色値を、設定された基準色(例えば、灰色、理想的な肌色など)に変更する色調整を決定する。この色調整に基づいて、アプリケーションは、画像内の各色を異なる色にマッピングする、色空間変換を生成する。次いで、このアプリケーションは、画像内の全ての画素に、その色空間変換を適用する。 In addition to content-dependent UI control, some embodiment applications also provide a new UI for adjusting the color balance of an image. The color balance adjustment is a color adjustment operation for making the colors in the image coincide with the colors of the scenery and the object at the moment when they are captured in the image. In some embodiments, the application provides a color balance UI control that allows the user to select a location on the image. The application then obtains the color value of the pixel corresponding to the selected location and changes the color value of the pixel to a set reference color (eg, gray, ideal skin color, etc.) To decide. Based on this color adjustment, the application generates a color space transformation that maps each color in the image to a different color. The application then applies the color space transformation to every pixel in the image.
図2は、画像の色バランスを調整するための色バランスUIコントロールを提供する、画像編集アプリケーションのGUI200を示す。具体的には、図2は、色バランス調整操作を、4つの異なるステージ205、210、215、及びステージ220で示す。これらのステージのそれぞれを、以下でより詳細に説明する。
FIG. 2 shows an image
第1ステージ205で示すように、GUI200は、画像195、及び色バランス調整UIコントロールをアクティブ化するための選択可能UI項目225を含む。第2ステージ210は、ユーザが、選択可能UI項目225を選択した後の、GUI200を示す。選択可能UI項目225の選択は、選択可能UI項目225を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行することによって、又は、選択可能UI項目225にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。一実施形態では、ユーザは、選択可能UI項目225で指をタップするか、又は指を置くことによって、選択可能UI項目225を選択することができる。他の実施形態では、他のジェスチャを実行することにより、選択可能UI項目225を選択することができる。図示のように、ユーザは、選択可能UI項目225上で指をタップするか、又は指を置くことによって、選択可能UI項目225を選択している。
As shown by the first stage 205, the
一部の実施形態では、このアプリケーションは、画像の色バランスを調整するための画像上に表示される(例えば、上に重ね合わされる)色バランスUIコントロールを提供する。これらの実施形態の一部では、色バランスUIコントロールは、画像上で移動可能であり、ユーザが、色バランスUIコントロールを所望の場所に移動させる(又はドラッグする)ことによって、画像上の場所を指定することを可能にする。 In some embodiments, the application provides a color balance UI control that is displayed (eg, overlaid) on the image to adjust the color balance of the image. In some of these embodiments, the color balance UI control is movable on the image, and the user moves the color balance UI control to the desired location (or drags) to change the location on the image. Allows you to specify.
この第2ステージ210で示すように、選択可能UI項目225の選択の結果として、色バランスUIコントロール230が、画像上に出現する。この実施例では、色バランスUIコントロール230は、正方形の形状を有し、このコントロールの中央に十字線を有する。他の実施形態では、色バランスUIコントロールは、任意の他の形状にすることができる。これらの他の形状の非包括的なリストには、三角形、楕円形、矩形などが含まれる。この形状はまた、手、花などの不規則形状にすることもできる。更には、十字線は、中央に存在する場合もあれば、存在しない場合もある。あるいは、十字線以外の他の対象物を、円形、正方形、単一ドット、又は画像195内部の小領域を示すために使用される何らかの他の像などの形状で、表示することができる。
As shown in the second stage 210, as a result of selection of the
色バランスUIコントロール230の十字線により、ユーザは、画像195の色バランスを調整するための画像上の場所を指定することが可能となる。上述のように、ユーザが、色バランス操作のための場所を指定した後に、アプリケーションは、選択された場所に対応する少なくとも1つの画素の色値を取得して、その画素の色値を、設定された基準色(例えば、灰色、理想的な肌色など)に変更する色調整を決定する。この色調整に基づいて、アプリケーションは、画像内の各色を異なる色にマッピングする、色空間変換を生成する。次いで、このアプリケーションは、画像内の全ての画素に、その色空間変換を適用する。この第2ステージ210で示すように、選択された場所に基づく色バランス操作は、画像195の全域にわたる45度の斜線によって示されるように、画像195に対して実行されている。
The crosshairs of the color
前述のように、一部の実施形態の色バランスUIコントロール230は、画像195内部で移動可能であることにより、ユーザが、色バランス操作のための異なる場所を選択することを可能にする。これらの実施形態では、ユーザは、色バランスUIコントロール230上でジェスチャを実行して(例えば、ユーザの指を置くか、又はタップして)、その指を異なる場所にドラッグすることによって、色バランスUIコントロール230を再配置することができる。第3ステージ215は、ユーザが、色バランスUIコントロール230を選択した後ではあるが、その色バランスUIコントロール230を異なる場所に移動させる前の、GUI200を示す、過渡的ステージである。
As described above, the color
第4ステージ220は、ユーザが、色バランスUIコントロール230を異なる場所に移動させた後の、GUI200を示す。図示のように、ユーザは、矢印235によって示されるように、画像の右上隅に向けて、ユーザの指をその方向にドラッグすることによって、色バランスUIコントロール230を移動させている。色バランスUIコントロール230を新たな場所に移動させた結果として、このアプリケーションは、画像の色バランスを再調整する。具体的には、このアプリケーションは、色バランスUIコントロール230を通じて、ユーザによって選択された新たな場所に対応する、少なくとも1つの画素の色値を取得する。次いで、このアプリケーションは、選択された場所の色を基準色に変更する、色調整を決定する。この色調整に基づいて、アプリケーションは、画像195内の各色を異なる色にマッピングする、色空間変換を生成する。次いで、このアプリケーションは、画像195内の全ての画素に、その色空間変換を適用する。この第4ステージ220で示されるように、新たに選択された場所に基づく色バランス操作は、画像195の全域にわたる135度の斜線によって示されるように、画像195に対して実行されている。
The fourth stage 220 shows the
本発明の幾つかのより詳細な実施形態が、以下で提供される。これらの実施例の多くは、画像編集アプリケーションの一部であるスライダに言及する。一部の実施形態のこのアプリケーションは、装置のオペレーティングシステムの上で実行されるスタンドアローンのアプリケーションであるが、他の実施形態では、オペレーティングシステムの一部である。また、以下の実施例の多く(図3、4、6、7、9、14、15、20、21、22、23、24、31、32、33、34、35、37、39、41、及び図42で示されるものなど)では、アプリケーションが実行される装置は、タッチスクリーンを有し、このタッチスクリーンを通じて、ユーザは、その画像編集アプリケーションと対話することができる。しかしながら、当業者は、カーソル及びカーソルコントローラ、あるいは他の入力機構(例えば、音声制御)を使用して装置上で実行される他の実施形態に関しては、これらの実施例で示されるスライダ及びアプリケーションと対話するために、カーソルコントローラ又は他の入力装置を使用することができる点を、理解するであろう。 Some more detailed embodiments of the present invention are provided below. Many of these embodiments refer to sliders that are part of an image editing application. This application in some embodiments is a stand-alone application that runs on the device's operating system, while in other embodiments it is part of the operating system. Many of the following examples (FIGS. 3, 4, 6, 7, 9, 14, 15, 20, 21, 22, 23, 24, 31, 32, 33, 34, 35, 37, 39, 41, And the device on which the application is executed has a touch screen through which the user can interact with the image editing application. However, those skilled in the art will recognize the sliders and applications shown in these examples with respect to other embodiments implemented on a device using a cursor and cursor controller, or other input mechanism (eg, voice control). It will be appreciated that a cursor controller or other input device can be used to interact.
本発明の幾つかのより詳細な実施形態を、以下のセクションで説明する。具体的には、セクションIは、検出されたコンテンツのタイプに関連付けられている画像の一部分のみの色値を調整するための種々のUIコントロールを説明する。セクションIIは、画像上の選択場所からの、検出されたコンテンツのタイプに基づいて、画像上UIコントロールを提供する、種々の実施形態の詳細を説明する。セクションIIIは、画像の色バランスを調整するために、色バランスUIコントロールのセットを提供することを説明する。最後に、セクションVIは、本発明の一部の実施形態を実装する、電子システムを説明する。 Some more detailed embodiments of the invention are described in the following sections. Specifically, Section I describes various UI controls for adjusting the color value of only a portion of the image associated with the detected content type. Section II describes details of various embodiments that provide on-image UI control based on the type of content detected from a selected location on the image. Section III describes providing a set of color balance UI controls to adjust the color balance of the image. Finally, Section VI describes an electronic system that implements some embodiments of the present invention.
I.色コントロール
一部の実施形態の画像編集アプリケーションは、特定のコンテンツのタイプに関連付けられている画像の一部分のみの色値を調整するためのUIコントロールのセットを提供する。一部の実施形態では、各UIコントロールは、画像内の異なるコンテンツのタイプに関連する色値を調整するためのものである。特定のUIコントロールを通じて入力が受け取られると、このアプリケーションは、その特定のUIコントロールによって制御されるコンテンツのタイプに関連する、画像内の画素のセットを自動的に特定する。次いで、このアプリケーションは、ユーザ入力に基づいて、その特定された画素のセットの色値のみを調整する。
I. Color Control The image editing application of some embodiments provides a set of UI controls for adjusting the color value of only a portion of the image associated with a particular content type. In some embodiments, each UI control is for adjusting color values associated with different types of content in the image. When input is received through a particular UI control, the application automatically identifies the set of pixels in the image that are associated with the type of content controlled by that particular UI control. The application then adjusts only the color values of the identified set of pixels based on user input.
一部の実施形態では、UIコントロールのセットは、異なるコンテンツのタイプに関連付けられている色値を調整するための異なるUIコントロールを含む。例えば、1つのUIコントロールは、肌の色調に関連付けられている色値を調整するためのものであり、別のUIコントロールは、空の色に関連付けられている色値を調整するためのものであり、更に別のUIコントロールは、群葉の色に関連付けられている色値を調整するためのものである。 In some embodiments, the set of UI controls includes different UI controls for adjusting color values associated with different content types. For example, one UI control is for adjusting the color value associated with the skin tone, and another UI control is for adjusting the color value associated with the sky color. There is yet another UI control for adjusting the color value associated with the foliage color.
図3は、特定のコンテンツのタイプに関連付けられている画像の一部分のみの色値を調整するためのUIコントロールのセットを提供する、一部の実施形態の画像編集アプリケーションの例示的なGUI300を、5つの異なるステージ305、310、315、320、及びステージ325で示す。これらのステージのそれぞれを、以下でより詳細に説明する。
FIG. 3 illustrates an
図3に示すように、GUI300は、サムネイル表示領域330、ツールバー340、画像表示領域345、及びUIコントロール表示領域350を含む。サムネイル表示領域330は、ユーザが閲覧及び選択するための、アルバム内の画像のサムネイルのセットを表示する。画像のサムネイルは、解像度が低減された、画像の縮小サイズバージョンである。ユーザは、サムネイル表示領域330内の、画像に対応するサムネイルを選択することによって、画像表示領域345内に表示するための、1つ以上の画像を選択することができる。
As shown in FIG. 3, the
ツールバー340は、種々のタイプの画像調整コントロールに関連付けられている選択可能UI項目のセットを表示する。選択可能UI項目のセットは、画像クロップツールのセットに関連付けられている選択可能UI項目、露出調整ツールのセットに関連付けられている選択可能UI項目、及び色調整ツールのセットに関連付けられている選択可能UI項目342を含む。ユーザが、これらの選択可能UI項目のうちの1つを選択すると、選択されたUI項目に関連付けられているUIコントロールのセットが、UIコントロール表示領域350内に表示される。
The
ここで、5つのステージ305、310、315、320、325の間のGUI300の状態を参照して、画像編集操作を説明する。第1ステージ305は、ユーザが、画像表示領域345内に表示するために、アルバム「アルバム1」から画像355を選択した後の、画像編集アプリケーションのGUI300を示す。画像表示領域345内に表示するための画像の選択は、その画像のサムネイルを表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、その画像のサムネイルにカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、サムネイル335上で指をタップすることによって、画像表示領域345内に表示するための画像355を選択している。この選択はまた、サムネイル表示領域330内のサムネイル335の強調表示によっても示される。この選択の結果として、画像355が、画像表示領域345内に表示される。画像355は、山を背景にして海の傍らに立っている人物の写真である。
Here, the image editing operation will be described with reference to the state of the
第2ステージ310は、ユーザが、ツールバー340内の選択可能UI項目のうちの1つを選択した後の、GUI300を示す。選択可能UI項目342の選択は、選択可能UI項目342を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、1つ以上の指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目342にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、選択可能UI項目342の強調表示によって示されるように、選択可能UI項目342上で指をタップすることによって、選択可能UI項目342を選択している。
The second stage 310 shows the
選択可能UI項目342を選択した結果として、色調整UIコントロール352〜358のセットが、UIコントロール表示領域350内に表示される。種々の実施形態は、画像の色を調整するための種々のタイプの範囲関連UIコントロール(例えば、ダイヤル、ボタン、数値フィールドなど)を提供する。この実施例では、色調整UIコントロールは、範囲スライダである。ユーザは、それらのUIコントロールのうちのいずれか1つのつまみを、範囲スライダに沿って異なる位置にスライドさせることによって、画像に対する種々の色調整を開始することができる。これらのスライダは、つまみがスライダに沿ってスライドするため、視覚的な表示を提供することができる。
As a result of selecting the
色調整UIコントロール352〜358のそれぞれは、画像に関する異なるタイプの色調整を開始するためのものである。例えば、色調整UIコントロール352は、画像に対する彩度調整を開始するためのものである。色調整UIコントロール354は、画像に対する空調整を開始するためのものであり、空の色に関して定義された色値の範囲内に収まる色値のみを調整する。色調整UIコントロール356は、画像に対する群葉調整を開始するためのものであり、群葉の色に関して定義された色値の範囲内に収まる色値のみを調整する。色調整UIコントロール358は、画像に対する肌の色調調整を開始するためのものであり、肌の色調に関して定義された色値の範囲内に収まる色値のみを調整する。色調整UIコントロール352〜358に加えて、GUI300はまた、設定メニューを呼び出すための選択可能UI項目360も表示する。
Each of the color adjustment UI controls 352-358 is for initiating a different type of color adjustment for the image. For example, the color
第3ステージ315は、色調整UIコントロール352の強調表示によって示されるように、ユーザが、画像355に対して彩度調整を開始するための、色調整UIコントロール352を選択した後の、GUI300を示す。色調整UIコントロール352の選択は、色調整UIコントロール352を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、色調整UIコントロール352にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The third stage 315 displays the
第4ステージ320は、ユーザが、矢印362によって示されるように、UIコントロール352のつまみを右に移動させることによって、画像355の彩度の調整を開始した後の、GUI300を示す。一部の実施形態では、ユーザは、ジェスチャを実行すること(例えば、ユーザの指を異なる場所にドラッグすること)によって、UIコントロール352のつまみを移動させることができる。この指の移動の結果として、画像355の全域にわたる斜線によって示されるように、画像355内の色の彩度が増大されている。一部の実施形態では、このアプリケーションは、画像内の色の強度を調整することによって、画像の色の彩度を調整する。これらの実施形態では、アプリケーションは、色調整UIコントロール352に対するユーザの入力に基づいて、画像の色値を調整するためのアルゴリズム又は数学的方程式を決定する。次いで、このアプリケーションは、画像の全ての画素値に、そのアルゴリズム又は数学的方程式を適用する。一部の実施形態では、このアプリケーションは、画像の色値を定義する色空間(例えば、RGB色空間)から、輝度チャネルを含む色空間(例えば、YCrCb色空間、YIQ色空間、IPT色空間など)に、画像の色値を変換する。クロミナンス色チャネル(すなわち、輝度チャネル以外のチャネル)は、極座標系(例えば、動径値及び角度)内に表すことができ、この極座標系内では、動径値は、色の彩度を表し、角度は、種々の色合いを表す。この新たな色空間に、画像の色値が変換されると、アプリケーションは、画像内の各色の動径値を調整することによって、画像の彩度を調整することができる。
The fourth stage 320 shows the
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して彩度調整を実施した後の、第4ステージ320で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第5ステージ325は、ユーザが、矢印364によって示されるように、UIコントロール352のつまみを更に右に移動させることによって、画像355の彩度を更に調整した後の、GUI300を示す。図示のように、このステージ325での画像355内の色は、画像355の全域にわたる、より高密度の斜線によって示されるように、第4ステージ320での画像内の色よりも、更に彩度が増大されて示される。
The fifth stage 325 shows the
図3は、彩度UIコントロール352を通じて、画像全体の彩度を調整する実施例を示す。一部の実施形態の画像編集アプリケーションはまた、画像の一部分のみの彩度を調整する、色調整UIコントロールも提供する。例えば、このアプリケーションは、自然な彩度調整として既知である、肌の色調を維持しつつ画像の彩度を調整する(すなわち、肌の色調以外の、画像内の全ての色の彩度を調整する)彩度調整UIコントロールを提供することができる。
FIG. 3 shows an embodiment in which the saturation of the entire image is adjusted through the
種々の実施形態は、画像内の色の自然な彩度を調整するためのUIコントロールを提供する際に、種々の技術を提供する。一手法では、このアプリケーションは、ユーザが、アプリケーションの設定を修正することによって、彩度調整と自然な彩度調整とを切り替えることを可能にする。図4は、そのような手法の実施例を示す。具体的には、図4は、自然な彩度UIコントロールを呼び出して操作する実施例を、6つの異なるステージ405、410、415、420、425、及びステージ430で示す。 Various embodiments provide various techniques in providing UI controls for adjusting the natural saturation of colors in an image. In one approach, the application allows the user to switch between saturation adjustment and natural saturation adjustment by modifying application settings. FIG. 4 shows an example of such an approach. Specifically, FIG. 4 shows an embodiment for invoking and manipulating natural saturation UI controls, with six different stages 405, 410, 415, 420, 425, and stage 430.
第1ステージ405は、図3の第2ステージ310と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ410は、選択可能UI項目360の強調表示によって示されるように、ユーザが、アプリケーション設定ポップアップメニューを引き出すための選択可能UI項目360を選択した後の、GUI300を示す。選択可能UI項目360の選択は、選択可能UI項目360を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目360にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、選択可能UI項目360の選択は、ポップアップメニュー435を、UIコントロール表示領域350の上部に表示させる。ポップアップメニュー435は、彩度UIコントロール352の設定を切り替えるための、「肌の色調なし」と標識される選択可能項目440などの、このアプリケーションの設定を修正するための幾つかの選択可能項目を含む。
The first stage 405 is the same as the second stage 310 of FIG. As shown, the user has selected a
第3ステージ415は、選択可能項目440の強調表示によって示されるように、ユーザが、「肌の色調なし」と標識される選択可能項目440を選択した後の、GUI300を示す。選択可能項目440の選択は、選択可能項目440を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能項目440にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。この選択の結果として、彩度UIコントロール352は、この時点で、画像に対する自然な彩度調整を制御するためのものである。前述のように、自然な彩度調整は、肌の色調を維持しつつ、画像355内の色の彩度のみを調整する。
The third stage 415 shows the
第4ステージ420は、彩度UIコントロール352の強調表示によって示されるように、ユーザが、彩度UIコントロール352を選択した後の、GUI300を示す。彩度UIコントロール352の選択は、彩度UIコントロール352を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、彩度UIコントロール352にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The fourth stage 420 shows the
第5ステージ425は、ユーザが、矢印470によって示されるように、彩度UIコントロール352のつまみを右に移動させることによって、画像の自然な彩度を増大させ始めた後の、GUI300を示す。一部の実施形態では、ユーザは、範囲スライダに沿った異なる場所に、ユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、彩度UIコントロール352のつまみを移動させることができる。この指の移動の結果として、画像355の全域にわたる斜線によって示されるように、画像355内の(肌の色調以外の)色の彩度が増大されているが、その一方で、画像355内の人の顔の領域は、影響を受けないまま維持される。一部の実施形態では、このアプリケーションは、画像の画素のクロミナンス値を調整することによって、画像の色の彩度を調整する。これらの実施形態では、アプリケーションは、彩度UIコントロール352に対するユーザの入力に基づいて、画像の画素値を調整するためのアルゴリズム又は数学的方程式を決定する。次いで、このアプリケーションは、肌の色調として特定された、画像の全ての色値に、そのアルゴリズム又は数学的方程式を適用する。
The fifth stage 425 shows the
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して彩度調整を実施した後の、第4ステージ320で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第6ステージ430は、ユーザが、矢印475によって示されるように、彩度UIコントロール352のつまみを更に右に移動させることによって、画像の自然な彩度を更に増大させた後の、GUI300を示す。図示のように、このステージ430での画像355内の色は、画像355の全域にわたる、より高密度の斜線によって示されるように、第5ステージ425での画像内の色よりも、更に彩度が増大されて示されるが、その一方で、画像355内の人の顔の領域は、影響を受けないまま維持される。
The sixth stage 430 shows the
一部の実施形態では、このアプリケーションは、画像のコンテンツに基づいて、彩度UIコントロール352に関するデフォルト設定を選択する。例えば、一部の実施形態のアプリケーションは、画像に対して顔検出アルゴリズムを実行し、次いで、画像上に顔が検出されるか否かに基づいて、彩度UIコントロール352に関する設定を決定する。
In some embodiments, the application selects default settings for the
種々の実施形態は、種々の技術を使用して、肌の色調を特定する。例えば、一部の実施形態の画像編集アプリケーションは、反対色空間内の色値の範囲として、肌の色調を定義する。反対色空間は、一般的にはYCC色空間として既知の、3つの反対色チャネル(例えば、白/黒チャネル、赤/緑チャネル、及び黄/青チャネル)に依存する色空間である。反対色空間の幾つかの例としては、YIQ色空間、YcbCr色空間、及びIPT色空間が挙げられる。以下の説明では、種々のコンテンツのタイプに関する色値の範囲を定義するために使用される色空間は、YCC色空間として説明される。しかしながら、YCC色空間は、上述の色空間のいずれかのうちの1つであり得ることを、当業者は知るべきである。これらの実施形態の一部では、肌の色調の範囲を定義するために使用される色空間は、画像の色値が定義される色空間(例えば、RGB色空間)とは異なる。これらの実施形態では、一部の実施形態のアプリケーションは、最初に、画像の色値が定義される本来の色空間(例えば、RGB色空間)から、肌の色調に関する範囲を定義するために使用されるYCC色空間に、画像を変換する。次いで、このアプリケーションは、肌の色調に関して定義される変換された色空間内の色値の範囲内に収まる色値を有する、その画像の画素を特定する。図5は、RGB色空間505からYCC色空間500への、例示的な変換を示す。
Various embodiments use various techniques to identify skin tone. For example, the image editing application of some embodiments defines the skin tone as a range of color values in the opposite color space. The opposite color space is a color space that depends on three opposite color channels (eg, white / black channel, red / green channel, and yellow / blue channel), commonly known as the YCC color space. Some examples of opposite color spaces include the YIQ color space, the YcbCr color space, and the IPT color space. In the following description, the color space used to define the range of color values for various content types is described as a YCC color space. However, those skilled in the art should know that the YCC color space can be any one of the color spaces described above. In some of these embodiments, the color space used to define the skin tone range is different from the color space (eg, RGB color space) where the color values of the image are defined. In these embodiments, some embodiment applications are initially used to define a range for skin tone from the original color space (eg, RGB color space) in which the image color values are defined. The image is converted to the YCC color space. The application then identifies the pixels of the image that have color values that fall within the range of color values in the transformed color space defined for the skin tone. FIG. 5 illustrates an exemplary conversion from the
図5に示すように、RGB色空間505は、3つの軸、すなわち、赤色成分値の範囲を表す軸525、緑色成分値の範囲を表す軸515、及び青色成分値の範囲を表す軸535に沿って定義される。それゆえ、画像355のあらゆる色は、RGB色空間505内部の場所によって表すことができる。
As shown in FIG. 5, the
図5はまた、肌の色調を定義するために一部の実施形態と共に使用される、YCC色空間500も提示する。図示のように、このYCC色空間は、3つの軸、すなわち、赤及び緑の色値の範囲を表す軸520、青及び黄の色値の範囲を表す軸530、及び種々の濃淡の灰色の範囲(すなわち、輝度値の範囲)を表す垂直軸510に沿って定義され、底面の場所540は黒色を表し、上面の場所550は白色を表す。色が明るくなるほど、その色は、この色空間の円柱500の底面から遠くに出現する。
FIG. 5 also presents a
色の彩度に関しては、色の彩度が増大するほど、その色は、円筒の中心から遠くに出現する。中心はグレースケールを表すものであり、その最低地点540は、色を含まず(すなわち、黒色)、最高地点550は、全ての色がその最大強度で存在すること(すなわち、白色)を表し、この最高地点を最低地点に接続する垂直線に沿った全ての他の地点は、種々の濃淡の灰色を表す。各濃淡の灰色は、全ての色が等しく存在することを表すが、灰色が濃くなるほど、それらの色の強度が小さくなる。また、灰色が明るくなるほど、それらの色の強度が大きくなる。
With respect to color saturation, the greater the color saturation, the farther the color appears from the center of the cylinder. The center represents grayscale, its
一部の実施形態では、肌の色調は、領域560などの、特定の彩度範囲及び特定の強度範囲を有する、赤色調の色相と黄色調の色相との間の、YCC色空間の円柱500の領域内部に定義される。一部の実施形態はまた、様々な人種及び/又は民族に関連付けられている肌の色調の範囲を対象とするように、肌の色調を広範に定義する。そのような広範な定義は、ユーザが肌の色調を手動で定義する必要性を取り除く。一部の実施形態は、アプリケーションによって認識される肌の色調の範囲を増大又は低減させるための、閾値パラメータを提供することが、当業者には明らかなはずである。
In some embodiments, the skin tone is a
一部の実施形態のアプリケーションは、RGB色空間505内の各色を、YCC色空間500内の別の色にマッピングすることによって、RGB色空間505からYCC色空間500に、画像を変換する。例えば、RGB色空間505内の色545は、YCC色空間500内の色570にマッピングされ、RGB色空間505内の色555は、YCC色空間500内の色580にマッピングされる。RGB色空間からYCC色空間に画像を変換することによって、このアプリケーションは、定義された肌の色調領域560の範囲内に収まる色(例えば、色555)及び、定義された肌の色調領域560の範囲内に収まらない色(例えば、色545)を特定することが可能である。
The application of some embodiments converts the image from the
図4は、画像の彩度を調整する例示的操作を示す。画像の彩度を調整する代わりに、一部の実施形態は、ユーザが画像の色温度を調整することを可能にする、肌の色調UIコントロールを提供する。色温度は、画像内の対象物から反射する可視光の特性である。画像内の対象物に当っている、より暖かい光は、その画像内の対象物の色に、より暖かい色調(すなわち、より多くの赤色及び黄色)を作り出し、その一方で、画像内の対象物に当っている、より冷たい光は、その画像内の対象物の色に、より冷たい色調(すなわち、より多くの青色及びシアン)を作り出す。それゆえ、画像の色温度を調整することは、画像に対して、より多くの赤色/黄色を追加すること、又はより多くの青色/シアンを追加することを意味する。 FIG. 4 illustrates an exemplary operation for adjusting the saturation of an image. Instead of adjusting the saturation of the image, some embodiments provide a skin tone UI control that allows the user to adjust the color temperature of the image. Color temperature is a characteristic of visible light reflected from an object in an image. The warmer light that strikes an object in the image creates a warmer tone (ie, more red and yellow) in the color of the object in the image, while the object in the image The cooler light that hits creates a cooler tone (ie, more blue and cyan) in the color of the object in the image. Therefore, adjusting the color temperature of the image means adding more red / yellow or more blue / cyan to the image.
図6は、そのような実施例を示す。具体的には、図6は、肌の色調UIコントロールを操作することによって画像の色温度を調整することにより、肌の色調を改善する操作を、4つの異なるステージ605、610、615、及びステージ620で示す。 FIG. 6 shows such an embodiment. Specifically, FIG. 6 illustrates four different stages 605, 610, 615, and stages for improving the skin tone by adjusting the color temperature of the image by operating the skin tone UI control. 620.
第1ステージ605は、図3の第2ステージ310と同一である。図示のように、ユーザは、画像355の色を調整するために、ツールバー340から選択可能UI項目342を選択している。第2ステージ610は、肌の色調UIコントロール356の強調表示によって示されるように、ユーザが肌の色調UIコントロール356を選択した後の、GUI300を示す。肌の色調UIコントロール356の選択は、肌の色調UIコントロール356を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、肌の色調UIコントロール356にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The first stage 605 is the same as the second stage 310 of FIG. As shown, the user has selected a
第3ステージ615は、ユーザが、矢印625によって示されるように、肌の色調UIコントロール356のつまみを右に移動させることによって、画像の肌の色調の調整を開始した後の、GUI300を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、肌の色調UIコントロール356のつまみを移動させることができる。この指の移動の結果として、画像355の全域にわたる斜線によって示されるように、画像355内の色値が調整されている。一部の実施形態では、このアプリケーションは、肌の色調をより心地よいものにするために、画像の色温度を調整する。これらの実施形態の一部では、アプリケーションは、図5を参照して上述されたものと同じ、定義された肌の色調の範囲を使用して、その定義された肌の色調の範囲内に収まる画像内の色を、より心地よいものにするように、画像の色値を調整する。
The third stage 615 shows the
一部の実施形態では、このアプリケーションは、肌の色調UIコントロール356に対するユーザの入力に基づいて、画像の色値を調整するためのアルゴリズム又は数学的方程式を決定する。次いで、このアプリケーションは、画像の全ての画素に、そのアルゴリズム又は数学的方程式を適用する。一部の実施形態では、このアプリケーションは、色値に調整を適用する前に、最初に、その画像の色値を異なる色空間(例えば、YCC色空間)に変換する。上述のように、YCC色空間は、黒/白の色成分、赤/緑の色成分、及び黄/青の色成分に沿って定義される。RGB色空間からYIQ色空間への変換は、最初に、RGB色空間内の色値に対して約1/4のgammaを適用し、次いで、3×3行列を適用して、その色値をYIQ色空間に変換することによって、実行することができる。これらの実施形態では、アプリケーションは、白/黒の成分に沿った値を変更することなく、赤/緑の色成分、及び黄/青の色成分に沿った値のみを調整することによって、YIQ色空間内の画像の色温度を調整する。一部の実施形態では、このアプリケーションは、YIQ色空間内の画像の色温度を調整するが、これは、その画像の色値の本来の色空間(例えば、RGB色空間)の代わりに、YIQ色空間内で調整を適用することが、より視覚的に心地よい結果を生み出すためである。更には、これらの実施形態でのアプリケーションは、調整が完了した後、画像の色値を、本来の色空間に変換して戻す。
In some embodiments, the application determines an algorithm or mathematical equation for adjusting the color values of the image based on user input to the skin
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して肌の色調調整を実施した後の、第3ステージ615で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ620は、ユーザが、矢印630によって示されるように、肌の色調UIコントロール356のつまみを更に右に移動させることによって、画像の肌の色調を更に調整した後の、GUI300を示す。図示のように、このステージ620での画像355の色は、画像355の全域にわたる、より高密度の斜線によって示されるように、第3ステージ615での画像内の色よりも、更に調整されて示される。
The fourth stage 620 shows the
図6によって示される上記の実施例では、一部の実施形態のアプリケーションは、肌の色調UIコントロール356に対するユーザの入力に応答して、画像全体の色温度を調整する。あるいは、他の実施形態のアプリケーションは、画像内の肌の色調のみの色温度を調整する。これらの実施形態では、アプリケーションは、肌の色調に関連付けられている予め定義された色値の範囲内に収まる色値を有する、画像内の画素を特定するために、上述のものと同じ技術を使用する。次いで、このアプリケーションは、画像内部の、その特定された画素の色温度のみを調整する。その効果は、図4に示すような、自然な彩度調整が画像に対して行うものの反対である。
In the above example illustrated by FIG. 6, some embodiment applications adjust the color temperature of the entire image in response to user input to the skin
上述のように、一部の実施形態の画像編集アプリケーションはまた、画像の一部分(例えば、画像の空の色又は群葉の色)のみを調整するためのUIコントロールも提供する。図7は、画像の残余の色に影響を与えることなく、画像の空の色を調整又は強調する例示的操作を、4つの異なるステージ705、710、715、及びステージ720で示す。 As described above, the image editing application of some embodiments also provides UI controls for adjusting only a portion of the image (eg, the sky color or foliage color of the image). FIG. 7 illustrates an exemplary operation for adjusting or enhancing the sky color of an image at four different stages 705, 710, 715, and stage 720 without affecting the residual colors of the image.
第1ステージ705は、図3の第2ステージ310と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ710は、空UIコントロール354の強調表示によって示されるように、ユーザが空UIコントロール354を選択した後の、GUI300を示す。空UIコントロール354の選択は、空UIコントロール354を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、空UIコントロール354にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The first stage 705 is the same as the second stage 310 of FIG. As shown, the user has selected a
第3ステージ715は、ユーザが、矢印725によって示されるように、空UIコントロール354のつまみを右に移動させることによって、画像の空の色を強調させ始めた後の、GUI300を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、空UIコントロール354のつまみを移動させることができる。この指の移動の結果として、画像355内の空の領域の全域にわたる斜線によって示されるように、画像355内の空の色が強調されているが、その一方で、画像355内の残部は、影響を受けないまま維持される。一部の実施形態では、このアプリケーションは、空の色の彩度を調整することによって、空の色を強調する。これらの実施形態では、アプリケーションは、空UIコントロール354に対するユーザの入力に基づいて、画像の色値を調整するためのアルゴリズム又は数学的方程式を決定する。次いで、このアプリケーションは、空の色を有するとして特定されている画像の画素に、そのアルゴリズム又は数学的方程式を適用する。彩度を調整する代わりに、又はそれに加えて、一部の他の実施形態のアプリケーションはまた、画像内の空の色の明度及びコントラストも調整することにより、画像内の空の色に対する全体的な強調をもたらす。これらの実施形態では、アプリケーションは、ユーザの空UIコントロール354のつまみの移動によって提供される(単一の調整値を指定する)単一の調整を使用して、空の色を有するとして特定されている画像の画素に対する彩度、コントラスト、及び明度に関する調整を決定する。
The third stage 715 shows the
例えば、空UIコントロールにより、ユーザが−0.5〜0.5の調整値を指定することが可能となる場合、一部の実施形態のアプリケーションは、コントラスト調整値(すなわち、ゲイン値)が、1の値、又はその調整値に1を加えた値のいずれか大きい方になるように決定する。このアプリケーションはまた、明度調整値(すなわち、gamma)も、その調整値の絶対値に1を加えたものとなるように決定する。次いで、このアプリケーションは、RGB色空間内の画像に、これらの2つの調整を適用する。コントラスト及びgammaを使用して、各画素の色値を計算するための数式は、R=ゲイン*(colorvalue)gammaであり、式中、パラメータ「ゲイン」は、コントラスト調整値を表し、パラメータ「colorvalue」は、画像内の各画素の色値(すなわち、赤チャネル値、緑チャネル値、又は青チャネル値)を表し、パラメータgammaは、明度調整値を表す。 For example, if the sky UI control allows the user to specify an adjustment value between -0.5 and 0.5, the application of some embodiments may have a contrast adjustment value (ie, gain value) The value is determined to be the larger of the value of 1 or the value obtained by adding 1 to the adjustment value. The application also determines the lightness adjustment value (ie, gamma) to be the absolute value of the adjustment value plus one. The application then applies these two adjustments to the image in the RGB color space. The formula for calculating the color value of each pixel using contrast and gamma is R = gain * (colorvalue) gamma , where the parameter “gain” represents the contrast adjustment value and the parameter “colorvalue” “Represents the color value of each pixel in the image (ie, the red channel value, the green channel value, or the blue channel value), and the parameter gamma represents the brightness adjustment value.
画像の彩度を調整するために、一部の実施形態のアプリケーションは、R=colorvalue+(colorvalue−ave)*(gamma−1)*0.5、の数式を使用して、各画素の色値を計算し、式中、パラメータcolor valueは、画像内の各画素の色値(すなわち、赤チャネル値、緑チャネル値、又は青チャネル値)を表し、パラメータ「ave」は、各画素に関する3つの色成分値の平均(例えば、(赤チャネル値、緑チャネル値、青チャネル値)の合計を3で除算すること)を表し、パラメータ「gamma」は、明度調整値を表す。 In order to adjust the saturation of the image, the application of some embodiments uses the following formula: R = colorvalue + (colorvalue-ave) * (gamma-1) * 0.5 Where the parameter color value represents the color value of each pixel in the image (ie, the red channel value, the green channel value, or the blue channel value), and the parameter “ave” has three values for each pixel The average of the color component values (for example, the sum of (red channel value, green channel value, blue channel value) is divided by 3), and the parameter “gamma” represents the brightness adjustment value.
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して空調整を実施した後の、第3ステージ715で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ720は、ユーザが、矢印730によって示されるように、空UIコントロール354のつまみを更に右に移動させることによって、画像の空の色を更に強調した後の、GUI300を示す。図示のように、このステージ720での画像355の空の色は、画像355内の空の領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ715での画像内の空の色よりも、更に強調されて示されるが、その一方で、画像355の残部は、影響を受けないまま維持される。
The fourth stage 720 shows the
種々の実施形態は、種々の技術を使用して、空の色を特定する。例えば、一部の実施形態の画像編集アプリケーションは、反対色空間内の色値の範囲として、空の色を定義する。反対色空間は、一般的にはYCC色空間として既知の、3つの反対色チャネル(例えば、白/黒チャネル、赤/緑チャネル、及び黄/青チャネル)に依存する色空間である。反対色空間の幾つかの例としては、YIQ色空間、YcbCr色空間、及びIPT色空間が挙げられる。一部の実施形態では、反対色空間は、特に青色領域での、その均一な知覚的挙動のために、空の色を定義するために好ましい。以下の説明では、種々のコンテンツのタイプに関する色値の範囲を定義するために使用される色空間は、YCC色空間として説明される。しかしながら、YCC色空間は、上述の色空間のいずれかのうちの1つであり得ることを、当業者は知るべきである。これらの実施形態の一部では、空の色の範囲を定義するために使用される色空間は、画像の色値が定義される色空間(例えば、RGB色空間)とは異なる。これらの実施形態では、一部の実施形態のアプリケーションは、最初に、画像の色値が定義される本来の色空間(例えば、RGB色空間)から、空の色の範囲を定義するために使用されるYCC色空間に、画像を変換する。次いで、このアプリケーションは、その新たな色空間内で、空の色に関して定義される範囲内に収まる色値を有する、その画像の画素を特定する。図8は、RGB色空間805からYCC色空間800への、例示的な変換を示す。
Various embodiments use various techniques to identify the sky color. For example, the image editing application of some embodiments defines a sky color as a range of color values in the opposite color space. The opposite color space is a color space that depends on three opposite color channels (eg, white / black channel, red / green channel, and yellow / blue channel), commonly known as the YCC color space. Some examples of opposite color spaces include the YIQ color space, the YcbCr color space, and the IPT color space. In some embodiments, the opposite color space is preferred to define the sky color because of its uniform perceptual behavior, especially in the blue region. In the following description, the color space used to define the range of color values for various content types is described as a YCC color space. However, those skilled in the art should know that the YCC color space can be any one of the color spaces described above. In some of these embodiments, the color space used to define the sky color range is different from the color space (eg, RGB color space) in which the color values of the image are defined. In these embodiments, some embodiment applications are initially used to define a sky color range from the original color space (eg, RGB color space) in which the color values of the image are defined. The image is converted to the YCC color space. The application then identifies pixels of the image that have color values that fall within the range defined for the sky color within the new color space. FIG. 8 shows an exemplary conversion from the
図8に示すように、RGB色空間805は、3つの軸、すなわち、赤色成分値の範囲を表す軸825、緑色成分値の範囲を表す815、及び青色成分値の範囲を表す軸835に沿って定義される。それゆえ、画像355のあらゆる色は、RGB色空間805内部の場所によって表すことができる。
As shown in FIG. 8, the
図8はまた、空の色を定義するために一部の実施形態と共に使用される、YCC色空間800も提示する。図示のように、このYCC色空間は、3つの軸、すなわち、赤及び緑の色値の範囲を表す軸820、青及び黄の色値の範囲を表す軸830、及び種々の濃淡の灰色の範囲(すなわち、輝度値の範囲)を表す垂直軸810に沿って定義され、底面の場所840は黒色を表し、上面の場所850は白色を表す。色が明るくなるほど、その色は、この色空間の円柱800の底面から遠くに出現する。
FIG. 8 also presents a
一部の実施形態では、空の色は、領域860などの、特定の黒/白の範囲を有する、青、赤、及び黄色の領域の周囲の、YCC色空間の円柱800の領域内部に定義される。それゆえ、この空の色値の範囲は、青空、雲、日の出、及び日没の色を含む。一部の実施形態は、アプリケーションによって認識される空の色の範囲を増大又は低減させるための、閾値パラメータを提供することが、当業者には明らかなはずである。
In some embodiments, the sky color is defined within a region of a
一部の実施形態のアプリケーションは、RGB色空間805内の各色を、YCC色空間800内の別の色にマッピングすることによって、RGB色空間805からYCC色空間800に、画像を変換する。例えば、RGB色空間805内の色845は、YCC色空間800内の色870にマッピングされ、RGB色空間805内の色855は、YCC色空間800内の色880にマッピングされる。RGB色空間からYCC色空間に画像を変換することによって、このアプリケーションは、定義された空の色の領域860の範囲内に収まる色(例えば、色855)及び、定義された空の色の領域860の範囲内に収まらない色(例えば、色845)を特定することが可能である。
The application of some embodiments converts the image from the
画像の肌の色調又は青空の色のみを調整することに加えて、一部の実施形態の画像編集アプリケーションはまた、画像内の群葉(すなわち、緑樹)のみを調整するためのUIコントロールも提供する。図9は、画像の残余の色に影響を与えることなく、画像の群葉の色を調整又は強調する例示的操作を、4つの異なるステージ905、910、915、及びステージ920で示す。 In addition to adjusting only the skin tone or blue sky color of the image, the image editing application of some embodiments also provides UI controls for adjusting only the foliage (ie green trees) in the image. To do. FIG. 9 illustrates an exemplary operation at four different stages 905, 910, 915, and stage 920 for adjusting or enhancing the foliage color of the image without affecting the residual color of the image.
第1ステージ905は、図3の第2ステージ310と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ910は、群葉UIコントロール358の強調表示によって示されるように、ユーザが群葉UIコントロール358を選択した後の、GUI300を示す。群葉UIコントロール358の選択は、群葉UIコントロール358を表示する、タッチスクリーン装置上の場所で、指をタップすることによって、又は、群葉UIコントロール358にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The first stage 905 is the same as the second stage 310 of FIG. As shown, the user has selected a
第3ステージ915は、ユーザが、矢印925によって示されるように、群葉UIコントロール358のつまみを右に移動させることによって、画像の群葉の色を強調させ始めた後の、GUI300を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、群葉UIコントロール358のつまみを移動させることができる。この指の移動の結果として、画像355内の山の領域の全域にわたる斜線によって示されるように、画像355内の群葉の色(例えば、画像355の背景内の山の色)が強調されているが、その一方で、画像355の残部は、影響を受けないまま維持される。一部の実施形態では、このアプリケーションは、群葉の色の彩度、コントラスト、及び明度を調整することによって、群葉の色を強調する。これらの実施形態では、アプリケーションは、ユーザの群葉UIコントロール358のつまみの移動によって提供される単一の調整を使用して、群葉の色を有するとして特定されている画像の画素に対する彩度、コントラスト、及び明度に関する調整を決定する。空の調整と同様に、このアプリケーションは、群葉UIコントロール358に対するユーザの入力に基づいて、画像の色値を調整するためのアルゴリズム又は数学的方程式を決定する。次いで、このアプリケーションは、群葉の色を有するとして特定されている画像の画素に、そのアルゴリズム又は数学的方程式を適用する。画像内の群葉の色の彩度、コントラスト、及び明度を調整することに加えて、一部の実施形態のアプリケーションはまた、枯れ草の茶色がかった色を、より純粋な緑色に向けて移動させるように、群葉の色全体もシフトする。
The third stage 915 shows the
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して群葉調整を実施した後の、第3ステージ915で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ920は、ユーザが、矢印930によって示されるように、群葉UIコントロール358のつまみを更に右に移動させることによって、画像の群葉の色を更に強調した後の、GUI300を示す。図示のように、このステージ920での画像355の群葉の色は、画像355内の山の領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ915での画像内の群葉の色よりも、更に強調されて示されるが、その一方で、画像355の残部は、影響を受けないまま維持される。
The fourth stage 920 shows the
図3、4、6、7、及び図9を参照して上述された実施例では、UIコントロールは、範囲スライダとして実装され、ユーザは、直線状のスライダに沿ってつまみをスライドさせることによって、入力を提供する。前述のように、種々の実施形態は、画像上の色値を調整するための種々のタイプのUIコントロールを使用する。一部の実施形態では、範囲スライダは、ユーザが、スライダの領域内のいずれの場所にもつまみを移動させることが可能な、異なる形状又はジオメトリにすることができる。他の実施形態では、このアプリケーションは、ダイヤルとして、UIコントロールを実装する。図10は、ダイヤルUIコントロールを使用して、画像の群葉の色を調整又は強調する操作の実施例を、4つの異なるステージ1005、1010、1015、及びステージ1020で示す。 In the embodiments described above with reference to FIGS. 3, 4, 6, 7, and 9, the UI control is implemented as a range slider, and the user slides the knob along the linear slider, Provide input. As described above, various embodiments use various types of UI controls for adjusting color values on an image. In some embodiments, the range slider can be a different shape or geometry that allows the user to move the thumb anywhere in the area of the slider. In other embodiments, the application implements UI control as a dial. FIG. 10 shows an example of an operation that uses the dial UI control to adjust or enhance the foliage color of the image at four different stages 1005, 1010, 1015, and stage 1020.
第1ステージ1005は、図9の第1ステージ905と同一であるが、ただし、画像に関する種々の色調整を開始するための種々のUIコントロールは、異なる外観を有する。前述のように、種々の実施形態は、画像上の色値を調整するための種々のタイプのUIコントロールを使用する。この実施例では、アプリケーションは、UIコントロール1052〜1058のセットを、ダイヤルとして実装する。範囲スライダと同様に、異なるダイヤルは、画像に対する異なる色調整操作を開始するためのものである。例えば、UIコントロール1052は、画像に対する彩度調整を開始するためのものであり、UIコントロール1054は、画像の空の色に対する色調整を開始するためのものであり、UIコントロール1058は、画像の群葉の色に対する色調整を開始するためのものであり、UIコントロール1056は、画像の肌の色調に対する色調整を開始するためのものである。ユーザは、これらのダイヤルのうちの1つを選択して、時計回り又は反時計回りの方向にダイヤルを回転させることによって、特定の色調整を開始することができる。
The first stage 1005 is the same as the first stage 905 of FIG. 9, except that the various UI controls for initiating various color adjustments on the image have different appearances. As described above, various embodiments use various types of UI controls for adjusting color values on an image. In this example, the application implements a set of UI controls 1052-1058 as a dial. Similar to the range slider, the different dials are for initiating different color adjustment operations on the image. For example, the
第2ステージ1010は、群葉UIコントロール1058の強調表示によって示されるように、ユーザが群葉UIコントロール1058を選択した後の、GUI300を示す。群葉UIコントロール1058の選択は、群葉UIコントロー1058を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(指を置く、指さす、又は指をタップすること)によって、又は、群葉UIコントロール1058にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The second stage 1010 shows the
第3ステージ1015は、ユーザが、矢印1025によって示されるように、群葉UIコントロール1058に対する円形入力を提供することによって、画像の群葉の色を強調させ始めた後の、GUI300を示す。一部の実施形態では、ユーザは、時計回り又は反時計回りの方向で、ユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、群葉UIコントロール358に対する円形入力を提供することができる。この指の移動の結果として、画像355内の山の領域の全域にわたる斜線によって示されるように、画像355内の群葉の色(例えば、画像355の背景内の山の色)が強調されているが、その一方で、画像355の残部は、影響を受けないまま維持される。一部の実施形態では、このアプリケーションは、群葉の色の彩度、コントラスト、及び明度を調整することによって、群葉の色を強調する。これらの実施形態では、アプリケーションは、群葉UIコントロール1058上でのユーザの移動によって指定される単一の調整値を使用して、群葉の色を有するとして特定されている画像の画素に対する、彩度、コントラスト、及び明度に関する調整を決定する。空の調整と同様に、このアプリケーションは、群葉UIコントロール1058に対するユーザの入力に基づいて、画像の色値を調整するためのアルゴリズム又は数学的方程式を決定する。次いで、このアプリケーションは、群葉の色を有するとして特定されている画像の画素に、そのアルゴリズム又は数学的方程式を適用する。
The third stage 1015 shows the
第4ステージ1020は、ユーザが、矢印1030によって示されるように、群葉UIコントロール1058の円形入力をより多く提供することによって、画像の群葉の色を更に強調した後の、GUI300を示す。図示のように、このステージ1020での画像355の群葉の色は、画像355内の山の領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ1015での画像内の群葉の色よりも、更に強調されて示されるが、その一方で、画像355の残部は、影響を受けないまま維持される。
The fourth stage 1020 shows the
上記の図10は、UIコントロールに関する1つの代替的実装を示す。UIコントロールに関する、一部の他の例示的実装としては、ボタン(すなわち、ユーザは、そのボタンを押さえる期間によって、調整を適用する程度を指定することができる)、数値フィールド(すなわち、数値が高いほど、画像に対する調整が、より多く適用されることを表す)などが挙げられる。 FIG. 10 above shows one alternative implementation for UI control. Some other example implementations for UI controls include buttons (ie, the user can specify the degree to which adjustments are applied depending on how long the button is pressed), numeric fields (ie, high numeric values) This indicates that more adjustments to the image are applied).
種々の実施形態は、種々の技術を使用して、群葉の色を特定する。例えば、一部の実施形態の画像編集アプリケーションは、反対色空間内の色値の範囲として、群葉の色を定義する。反対色空間は、一般的にはYCC色空間として既知の、3つの反対色チャネル(例えば、白/黒チャネル、赤/緑チャネル、及び黄/青チャネル)に依存する色空間である。反対色空間の幾つかの例としては、YIQ色空間、YcbCr色空間、及びIPT色空間が挙げられる。一部の実施形態では、反対色空間は、その均一な知覚的挙動のために、空の色を定義するために好ましい。以下の説明では、種々のコンテンツのタイプに関する色値の範囲を定義するために使用される色空間は、YCC色空間として説明される。しかしながら、YCC色空間は、上述の色空間のいずれかのうちの1つであり得ることを、当業者は知るべきである。これらの実施形態の一部では、肌の色調の範囲を定義するために使用される色空間は、画像の色値が定義される色空間(例えば、RGB色空間)とは異なる。これらの実施形態では、一部の実施形態のアプリケーションは、最初に、画像の色値が定義される本来の色空間(例えば、RGB色空間)から、群葉の色の範囲を定義するために使用されるYCC色空間に、画像を変換する。次いで、このアプリケーションは、その新たな色空間内で、群葉の色に関して定義される範囲内に収まる色値を有する、その画像の画素を特定する。図11は、RGB色空間1105からYCC色空間1100への、例示的な変換を示す。
Various embodiments identify the foliage color using various techniques. For example, the image editing application of some embodiments defines the foliage color as a range of color values in the opposite color space. The opposite color space is a color space that depends on three opposite color channels (eg, white / black channel, red / green channel, and yellow / blue channel), commonly known as the YCC color space. Some examples of opposite color spaces include the YIQ color space, the YcbCr color space, and the IPT color space. In some embodiments, the opposite color space is preferred for defining sky colors because of its uniform perceptual behavior. In the following description, the color space used to define the range of color values for various content types is described as a YCC color space. However, those skilled in the art should know that the YCC color space can be any one of the color spaces described above. In some of these embodiments, the color space used to define the skin tone range is different from the color space (eg, RGB color space) where the color values of the image are defined. In these embodiments, the application of some embodiments first defines the foliage color range from the native color space (eg, RGB color space) in which the image color values are defined. Convert the image to the YCC color space used. The application then identifies pixels of the image that have color values that fall within the range defined for the foliage color within the new color space. FIG. 11 illustrates an exemplary conversion from the
図11に示すように、RGB色空間1105は、3つの軸、すなわち、赤色成分値の範囲を表す軸1125、緑色成分値の範囲を表す1115、及び青色成分値の範囲を表す軸1135に沿って定義される。それゆえ、画像355のあらゆる色は、RGB色空間1105内部の場所によって表すことができる。
As shown in FIG. 11, the
図11はまた、群葉の色を定義するために一部の実施形態と共に使用される、YCC色空間1100も提示する。図示のように、このYCC色空間は、3つの軸、すなわち、赤及び緑の色値の範囲を表す軸1120、青及び黄の色値の範囲を表す軸1130、及び種々の濃淡の灰色の範囲(すなわち、輝度値の範囲)を表す垂直軸1110に沿って定義され、底面の場所1140は黒色を表し、上面の場所1150は白色を表す。色が明るくなるほど、その色は、この色空間の円柱1100の底面から遠くに出現する。
FIG. 11 also presents a
一部の実施形態では、群葉の色は、領域1160などの、特定の黒/白の範囲を有する、緑色及び黄色の領域の周囲の、YCC色空間の円柱1100の領域内部に定義される。一部の実施形態は、アプリケーションによって認識される群葉の色の範囲を増大又は低減させるための、閾値パラメータを提供することが、当業者には明らかなはずである。
In some embodiments, the foliage color is defined within a region of a
一部の実施形態のアプリケーションは、RGB色空間1105内の各色を、YCC色空間1100内の別の色にマッピングすることによって、RGB色空間1105からYCC色空間1100に、画像を変換する。例えば、RGB色空間1105内の色1145は、YCC色空間1100内の色1170にマッピングされ、RGB色空間1105内の色1155は、YCC色空間1100内の色1180にマッピングされる。RGB色空間からYCC色空間に画像を変換することによって、このアプリケーションは、定義された群葉の色の領域1160の範囲内に収まる色(例えば、色1155)及び、定義された群葉の色の領域1160の範囲内に収まらない色(例えば、色1145)を特定することが可能である。
The application of some embodiments converts the image from the
上述の図で説明される画像編集アプリケーションのGUIは、その画像編集アプリケーションが実行される装置が、そのGUIを表示するための十分に大きい画面を有するという仮定の下で示されている。しかしながら、画像編集アプリケーションが実行される装置のうちの一部は、UI項目を、それらの項目がより大きい装置のより大きい画面内に表示される方式で表示するには、画面サイズが限定されている場合がある。また、より大きい装置のより大きい画面も、その装置が異なる向き(例えば、縦長式)で保持される場合、限定的であると見なされる恐れがある。一部の実施形態では、画像編集アプリケーションは、異なる時間インスタンスで異なるUI項目の異なるセットを表示することにより、この限定的な画面空間に適応する。 The GUI of the image editing application described in the above figure is shown under the assumption that the device on which the image editing application is executed has a sufficiently large screen to display the GUI. However, some of the devices on which image editing applications are executed have limited screen sizes to display UI items in a way that they are displayed in a larger screen on devices with larger items. There may be. Also, a larger screen of a larger device may be considered limited if the device is held in a different orientation (eg, portrait). In some embodiments, the image editing application adapts to this limited screen space by displaying different sets of different UI items at different time instances.
図12は、一部の実施形態のGUI1200を通じて、色調整ツールのセットを呼び出す実施例を、6つの異なるステージ1201〜1206で概念的に示す。図示のように、GUI1200は、制御ペイン1215、画像表示領域1216、サムネイル表示領域1220、及びツールナビゲーションペイン1225を含む。
FIG. 12 conceptually illustrates an example of invoking a set of color adjustment tools through the
画像表示領域1216は、ユーザが画像編集アプリケーションを使用して編集することを望む画像を、この画像表示領域1216が表示するという点で、図3を参照して上述された画像表示領域345と同様である。サムネイル表示領域1215は、画像編集アプリケーションを使用して編集するために利用可能な画像のサムネイルのコレクションを、このサムネイル表示領域1215が表示するという点で、サムネイル表示領域330と同様である。一部の実施形態では、この画像編集アプリケーションは、ユーザが、異なるサムネイルを表示するために、上方及び下方あるいは左右にスクロールすることを可能にする。また、この画像編集アプリケーションは、サムネイル上に視覚的な表示(例えば、強調表示)も提供することにより、そのサムネイルが選択されており、かつ対応する画像が表示領域内に表示されていることを示す。更には、一部の実施形態の画像編集アプリケーションは、サムネイル上に視覚的な表示(例えば、ツールボックスアイコン)を提供することにより、対応する画像が編集されていることを示す。
The
ツールナビゲーションペイン1225は、異なる時間インスタンスで、選択可能又は制御可能UI項目の異なるセットを表示する。一部の実施形態では、ツールナビゲーションペイン1225内に現在表示されるユーザインターフェース項目のセットは、ツールナビゲーションペイン1225内に従前に表示されていたUI項目のセットとの、ユーザの対話に応じて決定される。例えば、ユーザが、編集ツールのセットを表す特定のUI項目にタッチすると、その特定のUI項目に関連する編集ツールのセットに関する、UI項目のセットが、ツールナビゲーションペイン1225内の、その特定のUI項目を含む、UI項目のセットに取って代わる。図示のように、ツールナビゲーションペイン1225は、UI項目1230、及び他のUI項目のセット1292を表示する。
この画像編集アプリケーションは、ツールナビゲーションペイン1225内に表示されるUI項目の第1のセットを、幾つもの異なる方式で、UI項目の第2のセットに置き換えることができる。例えば、この画像編集アプリケーションは、第1のセットをスライドさせて出すと同時に、第2のセットをスライドさせて入れる。この画像編集アプリケーションは、第2のセットがスライドして入って来る際に、第1のセットと第2のセットとを重ね合わせることができる。更には、第1のセット及び第2のセットによるスライドの方向は、任意の方向(上、下、左、右、斜めなど)とすることができる。
The image editing application can replace the first set of UI items displayed in the
GUI1200を通じて色調整ツールを呼び出す例示的操作を、ここで説明する。第1ステージ1201では、画像編集アプリケーションは、画像表示領域1216内に画像1217を表示する。画像1217は、サムネイル表示領域1220内に表示されたサムネイル1235に対応する。すなわち、この画像編集アプリケーションは、ユーザのサムネイル1235の選択に応答して、画像表示領域1216内に画像1217を表示する。
An exemplary operation for invoking a color adjustment tool through the
第2ステージ1202は、ユーザが、ナビゲーションペイン1225内に表示されるUI項目の変更を開始し始めた後の、GUI1200を示す。一部の実施形態では、ツールボックスを示すアイコンである、UI項目1230の選択が、ナビゲーションペイン1225内に表示されるUI項目を、色調整ツールを含む画像編集ツールのセットを表す、UI項目のセットに変更する。図示のように、ユーザは、UI項目1230の強調表示によって示されるように、UI項目1230を選択している。
The second stage 1202 shows the
第3ステージ1203は、アプリケーションがツールナビゲーションペイン1225内に表示されるUI項目のセットを変更する際に、GUI1200が提供するアニメーションを示す、過渡的ステージである。上述のように、一部の実施形態のアプリケーションは、ツールナビゲーションペイン1225内のUI項目の1つのセットを、UI項目の別のセットに置き換えるアニメーションを提供する。この実施例では、GUIは、新たなUI項目のセット1226が、ツールナビゲーションペイン1225内に表示されていたUI項目のセット1292に取って代わる、アニメーションを表示する。図示のように、UI項目のセット1292は、UI項目1230の下から右へとスライドして入り、その過程で、UI項目のセット1292を覆う。
The third stage 1203 is a transitional stage showing the animation provided by the
第4ステージ1204は、UI項目のセット1226が、UI項目のセット1292に完全に取って代わった後の、GUI1200を示す。図示のように、ツールナビゲーションペイン1225は、新たなUI項目のセット1226を表示する。この実施例でのUI項目のセット1226は、6つのUI項目1240、1245、1246、1247、1250、及びUI項目1255を含む。UI項目1245は、画像上クロップ及び角度補正ツールを表す。UI項目1246は、露出調整ツールのセットを表す。UI項目1247は、色調整ツールのセットを表す。UI項目1250は、画像上ブラシツールを表す。UI項目1255は、画像上効果ツールを表す。このステージでは、ユーザは、色調整ツールを呼び出すために、UI項目1247を選択する。
The fourth stage 1204 shows the
更には、UI項目のセットの置き換えにより、UI項目1230もまた、UI項目1240に置き換えられる。UI項目1240は、ツールナビゲーションペイン1225内で、新たなUI項目のセット1226を、別のUI項目のセットに置き換えるためのものである。UI項目1240はまた、ユーザが、そのUI項目のセットによって表される編集ツールを使用することを望まないことを示すために、ユーザがタッチするためのものでもある。
Furthermore, the
第4ステージ1204はまた、ユーザが、UI項目1247を選択することによって、色調整ツールの呼び出しを開始していることも示す。図示のように、ユーザは、UI項目1247の強調表示によって示されるように、UI項目1247上で指をタップしている。 The fourth stage 1204 also indicates that the user has begun calling the color adjustment tool by selecting the UI item 1247. As shown, the user has tapped a finger on the UI item 1247 as indicated by the highlighting of the UI item 1247.
第5ステージ1205は、ユーザのUI項目1247の選択に応答して、アプリケーションがツールナビゲーションペイン1225内のUI項目のセット1226を、色調整ツールのセット1260で置き換える際に、GUI1200が提供するアニメーションを示す、過渡的ステージである。図示のように、UI項目のセット1226は、UI項目1240内へと左にスライドを開始して、その過程中に、新たな色調整ツールのセット1260を露呈させる。
The fifth stage 1205 responds to the user's selection of the UI item 1247 with the animation provided by the
第6ステージ1206は、ツールナビゲーションペイン1225内で、色調整ツールのセット1260が、UI項目のセット1226に完全に取って代わった後の、GUI1200を示す。図示のように、この色調整ツールのセットは、彩度UIコントロールを呼び出すためのUI項目1271、空UIコントロールを呼び出すためのUI項目1272、群葉UIコントロールを呼び出すためのUI項目1273、肌色UIコントロールを呼び出すためのUI項目1274、及び色バランスUIコントロールのセットを呼び出すためのUI項目1275を含む。更には、UI項目のセット1226の置き換えはまた、UI項目1240を、色調整アイコンのように見えるUI項目1262に変更させる。ユーザは、終了させる(又は、色調整ツールのセットを選択解除する)ために、UI項目1262を選択することができる。
The sixth stage 1206 shows the
図12は、GUI1200を通じて色調整ツールのセットを呼び出す実施例を示す。図13は、GUI1200を通じて、色調整ツールのセットを選択解除する実施例を、6つの異なるステージで示す。
FIG. 12 shows an example of calling a set of color adjustment tools through the
第1ステージ1301は、図12の第6ステージ1206と同一であるが、ただし、ユーザは、色調整ツールのセット1260を選択解除するための、ツールナビゲーションペイン1225内のUI項目1262を選択したところである。
The first stage 1301 is the same as the sixth stage 1206 of FIG. 12 except that the user has selected the
第2ステージ1302は、アプリケーションが色調整ツールのセット1260をUI項目のセット1226で置き換える際に、GUI1200が提供するアニメーションを示す、過渡的ステージである。図示のように、UI項目のセット1226は、UI項目1262の下から、ツールナビゲーションペイン1225内にスライドを開始して、その過程で、色調整ツールのセット1260を覆う。
The second stage 1302 is a transitional stage showing the animation provided by the
第3ステージ1303は、UI項目のセット1226が、色調整ツールのセット1260に完全に取って代わったことを示す。更には、UI項目1262もまた、UI項目1240に変更されている。上述のように、UI項目1240は、ユーザが、そのUI項目のセットによって表される編集ツールを使用することを望まないことを示すために、ユーザが選択するためのものである。
The third stage 1303 shows that the
第4ステージ1304は、ユーザが、UI項目1240を選択した場合のGUI1200を示す。第5ステージ1305は、ユーザのUI項目1240の選択に応答して、アプリケーションが、UI項目のセット1226をUI項目のセット1292で置き換えるアニメーションを示す、過渡的ステージである。図示のように、UI項目のセット1226は、UI項目1240内へと左にスライドを開始して、その過程中に、UI項目のセット1292を露呈させる。
The fourth stage 1304 shows the
第6ステージ1306は、ツールナビゲーションペイン1225内で、UI項目のセット1292が、UI項目のセット1226に完全に取って代わった後の、GUI1200を示す。更には、UI項目1240は、UI項目1230に変更されている。
The sixth stage 1306 shows the
図14は、GUI1200を通じて、画像に対して空調整操作を実行する実施例を、6つのステージ1405、1410、1415、1420、1422、及びステージ1424で示す。図14に示すように、GUI1200は、ユーザが閲覧及び選択するための、画像のサムネイルバージョンのセットを含む、サムネイル表示領域1220を有する。ユーザは、サムネイル表示領域1220上で左又は右にスクロールすることによって(例えば、サムネイル表示領域1220上に指を置き、その指を左又は右にドラッグすることによって)、より多くのサムネイル画像を一通り閲覧することができる。GUI1200はまた、画像のセットを表示するための画像表示領域1216、ツールナビゲーションペイン1225、及びUIコントロール表示領域1450も含む。
FIG. 14 shows an example of performing an empty adjustment operation on an image through a
第1ステージ1405は、ユーザが、画像表示領域1216内に表示される画像1470を選択した後の、GUI1200を示す。画像表示領域1216内に表示される画像の選択は、その画像の対応するサムネイル1475を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(指を置く、指さす、又は指をタップすること)によって、又は、その画像のサムネイル1475にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。この選択はまた、サムネイル表示領域1220内のサムネイル1475の強調表示によっても示される。
The first stage 1405 shows the
第2ステージ1410は、ユーザが、サムネイル表示領域1220内でサムネイル画像をスクロールし始めた後の、GUI1200を示す。上述のように、ユーザは、サムネイル表示領域1220上で左又は右にスクロールすることによって、より多くのサムネイル画像を一通り閲覧することができる。このスクロールは、サムネイル表示領域1220を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上で、ジェスチャを実行して(例えば、指を置くか、指さすか、又は指をタップして)、その指を左又は右にドラッグすることによって、実行することができる。図示のように、ユーザは、指を左にドラッグすることによって、サムネイル画像をスクロールしている。
The second stage 1410 shows the
第3ステージ1415は、ユーザが、サムネイル表示領域1220内のサムネイル画像のスクロールを完了して、画像表示領域1216内に表示される新たな画像を選択した後の、GUI1200を示す。図示のように、サムネイル表示領域1220は、この時点で、第1ステージ1405でサムネイル表示領域1220内に表示されていなかったサムネイル1435を含む。第3ステージ1415に示すように、ユーザはまた、画像表示領域1216内に表示される画像1455も選択している。画像表示領域1216内に表示される画像の選択は、その画像の対応するサムネイル1435を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(指を置く、指さす、又は指をタップすること)によって、又は、画像のサムネイル1435にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。この選択はまた、サムネイル表示領域1220内のサムネイル1435の強調表示によっても示される。
The third stage 1415 shows the
第3ステージ1415に示すように、ユーザはまた、色調整アイコン1442の強調表示によって示されるように、画像1455に対して色調整を実行することも選択している。結果として、選択可能UI項目1452〜1458のセットが、ツールナビゲーションペイン1225内に表示される。選択可能UI項目1452〜1458のそれぞれは、画像に対する異なる色調整を開始するためのものである。例えば、選択可能UI項目1452は、画像に関する彩度調整を開始するためのものであり、選択可能UI項目1454は、画像に関する空調整を開始するためのものであり、選択可能UI項目1458は、画像に関する群葉調整を開始するためのものであり、選択可能UI項目1456は、画像に関する肌の色調調整を開始するためのものである。これらの色調整は、図3、4、6、7、及び図9を参照して上述された種々の色調整と同一である。
As shown in the third stage 1415, the user has also chosen to perform color adjustment on the
第4ステージ1420は、ユーザが、ツールナビゲーションペイン1225内の選択可能UI項目1454を選択した後の、GUI1200を示す。選択可能UI項目1454の選択は、選択可能UI項目1454を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目1454にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、選択可能UI項目1454の強調表示によって示されるように、選択可能UI項目1454上で指をタップすることによって、選択可能UI項目1454を選択している。この選択の結果として、空調整UIコントロール1464が、UIコントロール表示領域1220内に出現している。
The fourth stage 1420 shows the
種々の実施形態は、画像の色を調整するための種々のタイプのUIコントロールを提供する。この実施例では、空調整UIコントロールは、範囲スライダである。ユーザは、空UIコントロール1464のつまみを、範囲スライダに沿って異なる位置にスライドさせることによって、画像内の空の色を調整することができる。
Various embodiments provide various types of UI controls for adjusting the color of the image. In this embodiment, the empty adjustment UI control is a range slider. The user can adjust the sky color in the image by sliding the knob of the
第5ステージ1422は、ユーザが空UIコントロール1464のつまみを選択しているが、画像内の空の色の調整を開始していないことを示す、過渡的ステージである。第6ステージ1424は、ユーザが、矢印1460によって示されるように、空UIコントロール1464のつまみを右に移動させることによって、画像の空の色の調整を開始した後の、GUI1200を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、空UIコントロール1464のつまみを移動させることができる。この指の移動の結果として、画像355内の空の領域の全域にわたる斜線によって示されるように、画像1455内の空の色が強調されているが、その一方で、画像1455の残部は、影響を受けないまま維持される。一部の実施形態では、このアプリケーションは、図7を参照して上述されたものと同じ方式で、画像内の空の色を調整する。
The fifth stage 1422 is a transitional stage indicating that the user has selected the knob of the
図14は、GUI1200を通じて空調整操作を実行する実施例を示す。ユーザは、種々の選択可能項目1452〜1458の選択を通じて、同様の方式で、他の種類の色調整操作(例えば、彩度調整、自然な彩度調整、群葉調整、肌の色調調整など)を実行することができる。図15は、GUI1200を通じて群葉調整操作を実行する実施例を、4つのステージ1505、1510、1515、及びステージ1520で提供する。
FIG. 14 shows an embodiment in which an empty adjustment operation is executed through the
第1ステージ1505は、図14の第1ステージ1405と同一である。図示のように、ユーザは、画像表示領域1216内に表示される画像1455を選択している。第2ステージ1510は、ユーザが、ツールナビゲーションペイン1225内の選択可能UI項目1458を選択した後の、GUI1200を示す。選択可能UI項目1458の選択は、選択可能UI項目1458を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目1458にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、選択可能UI項目1458の強調表示によって示されるように、選択可能UI項目1458上で指をタップすることによって、選択可能UI項目1458を選択している。この選択の結果として、群葉調整UIコントロール1564が、UIコントロール表示領域1450内に出現している。
The first stage 1505 is the same as the first stage 1405 in FIG. As illustrated, the user has selected an
第3ステージ1515は、ユーザが群葉UIコントロール1564のつまみを選択しているが、画像内の群葉の色の調整を開始していないことを示す、過渡的ステージである。第4ステージ1520は、ユーザが、矢印1560によって示されるように、群葉UIコントロール1564のつまみを右に移動させることによって、画像の群葉の色の調整を開始した後の、GUI1200を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、群葉UIコントロール1564のつまみを移動させることができる。この指の移動の結果として、画像1455内の山の領域の全域にわたる斜線によって示されるように、画像1455内の群葉の色が強調されているが、その一方で、画像1455の残部は、影響を受けないまま維持される。一部の実施形態では、このアプリケーションは、図9を参照して上述されたものと同じ方式で、画像内の群葉の色を調整する。
The third stage 1515 is a transitional stage indicating that the user has selected the knob of the
図16は、色調整UIコントロールに対するユーザの入力に基づいて、画像の一部分の色値を調整するためのプロセス1600を、概念的に示す。一部の実施形態では、このプロセスは、画像編集アプリケーションによって実行される。このプロセスは、画像に対するコンテンツ分析を(1605で)実行することによって開始する。種々の実施形態は、画像に対して種々のコンテンツ分析を実行する。例えば、一部の実施形態のアプリケーションは、画像に対して顔検出分析を実行することにより、その画像が、いずれかの人の顔を含むか否かを判定する。
FIG. 16 conceptually illustrates a
次いで、このプロセスは、必要に応じて、コンテンツ分析からの結果に基づいて、画像調整UIコントロールのセットに関する、パラメータのセットを(1610で)定義する。一部の実施形態では、調整UIコントロールのうちの少なくとも1つは、アプリケーションの設定に基づいて、画像に対して種々の調整操作を実行するように、構成することができる。これらの実施形態の一部では、アプリケーションは、コンテンツ分析からの結果に基づいて、その画像に関するデフォルト設定を定義する。例えば、その画像が人の顔を含むことを、アプリケーションが検出する場合、アプリケーションは、画像全体の彩度を調整することよりも、自然な彩度調整(すなわち、肌の色調を維持しつつ画像の彩度を調整すること)を実行するように、彩度UIコントロールを構成する。 The process then defines (at 1610) a set of parameters for the set of image adjustment UI controls, as needed, based on the results from the content analysis. In some embodiments, at least one of the adjustment UI controls can be configured to perform various adjustment operations on the image based on application settings. In some of these embodiments, the application defines default settings for the image based on results from content analysis. For example, if the application detects that the image contains a human face, the application may adjust the natural saturation (i.e., maintain the skin tone) rather than adjusting the saturation of the entire image. The saturation UI control is configured to perform the following:
次に、このプロセスは、特定のUIコントロールに対するユーザ入力を(1615で)受け取る。上述のように、UIコントロールの一部は、画像の種々の部分の色値を調整するためのものである。一部の実施形態では、このアプリケーションは、それらのUIコントロールのための、予め定義された色値の範囲のセットを含む。例えば、このアプリケーションは、空UIコントロールのための、空の色に関連付けられている色値の範囲、群葉UIコントロールのための、群葉の色に関連付けられている色値の範囲、並びに、彩度UIコントロール及び肌の色調UIコントロールのための、肌の色調に関連付けられている色値の範囲を定義している。これらの実施形態の一部では、画像の色値は、これらの色値の範囲を定義するために使用される色空間とは異なる色空間内で定義される。それゆえ、特定のUIコントロールに対して、ユーザ入力が受け取られた後、このプロセスは、画像の色値を、色値の範囲を定義するために使用される色空間に(1620で)変換する。 The process then receives user input (at 1615) for a particular UI control. As described above, part of the UI control is for adjusting the color values of various parts of the image. In some embodiments, the application includes a set of predefined color value ranges for those UI controls. For example, the application may include a range of color values associated with a sky color for a sky UI control, a range of color values associated with a foliage color for a foliage UI control, and Defines a range of color values associated with skin tone for saturation UI control and skin tone UI control. In some of these embodiments, the color values of the image are defined in a color space that is different from the color space used to define the range of these color values. Thus, for a particular UI control, after user input is received, this process converts (at 1620) the image color values into the color space used to define the range of color values. .
次いで、このプロセスは、その特定のUIコントロールに関連付けられている色値の範囲内に収まる色値を有する、画像内の画素のセットを(1625で)特定する。一部の実施形態では、種々のコンテンツのタイプに関連付けられている色値の範囲が、メディア記憶装置内に記憶される。これらの実施形態では、このプロセスは、メディア記憶装置から、特定のUIコントロールに関連付けられている色値の範囲を取得して、その色値の範囲内に収まる色値を有する画素を特定する。他の実施形態では、色値の範囲は、色調整を実行するための実行可能コード内で定義される。これらの他の実施形態では、この特定操作は、画像に対する色調整をプロセスが実行する際に、同時に実行される。 The process then identifies (at 1625) the set of pixels in the image that have color values that fall within the range of color values associated with that particular UI control. In some embodiments, color value ranges associated with various content types are stored in the media storage device. In these embodiments, the process obtains a range of color values associated with a particular UI control from the media storage device and identifies pixels having color values that fall within that color value range. In other embodiments, the range of color values is defined in executable code for performing color adjustment. In these other embodiments, this particular operation is performed simultaneously as the process performs color adjustments on the image.
ユーザ入力に基づいて、次いで、このプロセスは、操作1625で特定された画素のセットの色値を(1630で)調整する。プロセス1600は、一部の実施形態では、このプロセスが、色値の範囲内に収まる画像内の画素のセットを最初に特定し、次いで、特定された画素のセットに対して調整を実行することを示す。しかしながら、一部の他の実施形態では、このプロセスは、調整操作を実行するときと同時に、調整のための画素を特定する。具体的には、画像内の各画素に関して、このプロセスは、その画素の色値が色値の範囲内に収まるか否かを反復的に判定し、その色値が範囲内である場合にのみ、調整を実行する。
Based on the user input, the process then adjusts (at 1630) the color value of the set of pixels identified in
一部の実施形態では、画像の色値を調整する前に、このアプリケーションは、画像の色値に適用することが可能なアルゴリズム又は数学的方程式を生成する。次いで、このアプリケーションは、操作1625で特定された画像内の各画素の色値に、そのアルゴリズム又は数学的方程式を適用する。
In some embodiments, prior to adjusting the color values of the image, the application generates an algorithm or mathematical equation that can be applied to the color values of the image. The application then applies the algorithm or mathematical equation to the color value of each pixel in the image identified in
次に、このプロセスは、UIコントロールのセットに対して、更に多くのユーザ入力が受け取られるか否かを(1635で)判定する。更に多くの入力が受け取られる場合には、このプロセスは、別の画素のセットを特定するために、1625に戻る。このプロセスは、UIコントロールのセットに対して、それ以上入力が受信されなくなるまで、操作1625〜1635を繰り返す。次いで、このプロセスは終了する。 The process then determines (at 1635) whether more user input is received for the set of UI controls. If more inputs are received, the process returns to 1625 to identify another set of pixels. This process repeats operations 1625-1635 until no more input is received for the set of UI controls. The process then ends.
種々の実施形態は、図16の操作1625で画素のセットを特定するために、種々の技術を使用する。一部の実施形態では、このアプリケーションは、図5、8、及び図11を参照して上述された技術を使用して、画素のセットを特定する。
Various embodiments use various techniques to identify the set of pixels at
一部の実施形態では、このアプリケーションは、特定のUIコントロールに対するユーザ入力に応答して、画像の色値に対する1つのタイプの調整(例えば、彩度調整)のみを実行する。上述のように、一部の他の実施形態のアプリケーションは、特定のUIコントロールに対する単一のユーザ入力に応答して、画像の色値に対する2つ以上のタイプの調整を実行する。例えば、ユーザが、空UIコントロール354に入力を提供する場合、一部の実施形態のアプリケーションは、画像の一部分の色値に対する彩度調整、コントラスト調整、及び明度調整を実行する。これらの実施形態では、アプリケーションは、単一のユーザ入力を使用して、その画像に関する、コントラストを調整するための調整値、彩度を調整するための調整値、及び明度を調整するための調整値を決定し、これらの個別の調整値を、画像の色値に適用する。
In some embodiments, the application performs only one type of adjustment (eg, saturation adjustment) to the color values of the image in response to user input for a particular UI control. As described above, some other embodiment applications perform more than one type of adjustment to the color values of an image in response to a single user input for a particular UI control. For example, if the user provides input to the
図17は、色調整UIコントロールに対する単一のユーザの入力に基づいて、画像内の限定された色値の範囲に対して幾つかのタイプの調整を実行するためのプロセス1700を、概念的に示す。一部の実施形態では、このプロセスは、図16の操作1620〜1630の間に実行される。プロセス1700は、画像のコントラストを調整するためのコントラスト調整値を決定するために、UIコントロールに対するユーザ入力を(1705で)使用することによって開始する。一部の実施形態では、画像のコントラストは、その画像内の色値の範囲を表す。換言すれば、より高いコントラストを有する画像は、より低いコントラストを有する画像よりも、広い色値の範囲を有する。それゆえ、画像のコントラストを増大させることは、その画像内の色値の範囲を伸長させること(すなわち、画像の明るい色値と暗い色値との差を拡大すること)を伴い、画像のコントラストを減少させることは、その画像内の色値の範囲を低減する(すなわち、画像の明るい色値と暗い色値との差を縮小する)。それゆえ、コントラスト調整値は、画像内の色値の範囲をアプリケーションが調整する程度を決定する。
FIG. 17 conceptually illustrates a
次に、このプロセスは、UIコントロールに対する同じユーザ入力を(1710で)使用して、画像の彩度を調整するための彩度調整値を決定する。一部の実施形態では、画像の彩度は、その画像内の色値の強度を表す。それゆえ、画像の彩度を増大させることは、その画像の色値の強度を増大させることを伴う。それゆえ、彩度調整値は、画像内の色値の強度をアプリケーションが調整する程度を決定する。 The process then uses the same user input to the UI control (at 1710) to determine a saturation adjustment value for adjusting the saturation of the image. In some embodiments, the saturation of an image represents the intensity of color values in the image. Therefore, increasing the saturation of an image involves increasing the intensity of the color value of that image. Therefore, the saturation adjustment value determines the degree to which the application adjusts the intensity of the color values in the image.
次いで、このプロセスは、特定のUIコントロールに対する同じユーザ入力を(1715で)使用して、画像の明度を調整するための明度調整値を決定する。一部の実施形態では、画像の明度は、その画像内の明るさ又は輝度を表す。それゆえ、画像の明度を増大させることは、その画像内の色値の輝度値を増大させることを伴う。それゆえ、明度調整値は、画像内の色値の明るさ又は明度値をアプリケーションが調整する程度を決定する。 The process then uses the same user input for a particular UI control (at 1715) to determine a brightness adjustment value for adjusting the brightness of the image. In some embodiments, the brightness of an image represents the brightness or brightness within the image. Therefore, increasing the brightness of an image involves increasing the luminance value of the color values in the image. Therefore, the brightness adjustment value determines the degree to which the application adjusts the brightness or brightness value of the color values in the image.
画像のコントラスト、彩度、及び明度を調整するための3つの異なる調整値を決定した後、このプロセスは、操作1625で特定された画素のセットの色値に、それらのコントラスト調整値、彩度調整値、及び明度調整値を(1720で)適用する。一部の実施形態では、このアプリケーションは、画像の色値に適用するための種々の調整値に基づいて、アルゴリズムのセット、又は数学的方程式のセットを生成する。次いで、このアプリケーションは、操作1625で特定された画像内の各画素の色値に、そのアルゴリズムのセット、又は数学的方程式のセットを適用する。
After determining three different adjustment values for adjusting the contrast, saturation, and lightness of the image, the process converts the contrast adjustment value, saturation, to the color value of the set of pixels identified in
次に、このプロセスは、必要に応じて、画像の色値を、その本来の色空間に(1725で)変換して戻す。一部の実施形態では、変換された色空間(例えば、YCC色空間)内で、調整のための画素のセットを特定した後に、このアプリケーションは、その変換された色空間内で、画像の色値に対する調整を実行する。例えば、一部の実施形態のアプリケーションは、YCC色空間内で群葉調整を実行する。一部の実施形態では、特定のYCC色空間(例えば、IPT色空間)内で群葉調整を実行することが好ましいが、これは、その均一な知覚的挙動のためである。例えば、色の色相を、その色を黄色にすることなく、緑に向けて移行させることができる。これらの実施形態では、調整操作が完了すると、プロセスが画像の色値をその本来の色空間に変換して戻すことが必要である。他の実施形態では、調整のための画素のセットを特定した後に、このアプリケーションは、その本来の色空間内で、画像の色値に対する調整を実行する。例えば、一部の実施形態のアプリケーションは、その色値の本来の色空間(例えば、RGB色空間)内で、空調整を実行する。これらの実施形態では、この変換工程1720をプロセスが実行する必要はない。次いで、このプロセスは終了する。
The process then converts (at 1725) the color value of the image back to its original color space, if necessary. In some embodiments, after identifying a set of pixels for adjustment in a transformed color space (eg, YCC color space), the application may use the image color in the transformed color space. Perform adjustments to values. For example, some embodiments of the application perform foliage adjustments within the YCC color space. In some embodiments, it is preferable to perform foliar adjustments within a particular YCC color space (eg, IPT color space) because of its uniform perceptual behavior. For example, the hue of a color can be shifted toward green without making the color yellow. In these embodiments, once the adjustment operation is complete, the process needs to convert the color value of the image back to its original color space. In other embodiments, after identifying a set of pixels for adjustment, the application performs adjustments to the color values of the image within its native color space. For example, the application of some embodiments performs a sky adjustment within the original color space (eg, RGB color space) for that color value. In these embodiments, the process need not perform this
一部の実施形態は、全ての調整を同じ色空間内で実行するが、他の実施形態は、異なる色空間内で色調整を実行する。 Some embodiments perform all adjustments in the same color space, while other embodiments perform color adjustments in different color spaces.
図18は、画像の一部分のみの色値を調整するためのUIコントロールのセットを提供する、一部の実施形態の画像編集アプリケーション1800を示す。一部の実施形態では、画像編集アプリケーション1800は、プロセス1600及びプロセス1700を実行する。図18に示すように、画像編集アプリケーション1800は、画像プロセッサ1840、コンテンツ分析モジュール1845のセット、色空間変換モジュール1815、画素分離モジュール1810、及び色調整エンジン1820を含む。
FIG. 18 illustrates an image editing application 1800 of some embodiments that provides a set of UI controls for adjusting color values for only a portion of the image. In some embodiments, image editing application 1800 performs
UIモジュール1805が、色調整UIコントロールのセットを呼び出すためのユーザ入力を受け取ると、UIモジュール1805は、そのリクエストを画像プロセッサ1840に渡す。画像プロセッサ1840は、メディア記憶装置1850から画像を取得して、コンテンツ分析モジュール1845のセットに、その画像に対して一連のコンテンツ分析を実行するようにリクエストする。一部の実施形態では、メディア記憶装置1850は、画像編集アプリケーション1800によって構成され、特定の記憶装置のセット上に記憶される、ファイルフォルダのセットである。この記憶装置は、このアプリケーションが動作する電子装置のブートドライブ、そのディスクの異なるパーティション、別個の内部又は外部ハードドライブ、フラッシュドライブ、SDカードなどを含み得る。
When
コンテンツ分析モジュール1845のセットは、コンテンツ分析モジュールのセットを画像に対して実行する。種々の実施形態は、画像に対して種々のコンテンツ分析を実行する。例えば、一部の実施形態のアプリケーションは、人の顔が画像上に出現するか否かを判定するために、顔検出分析を実行する。次いで、コンテンツ分析モジュール1845のセットは、その分析の結果を画像プロセッサ1840に送り返す。その分析の結果に基づいて、一部の実施形態の画像プロセッサ1840は、UIコントロールのセットに関するパラメータのセットを定義する。例えば、画像上に人の顔が検出される場合には、画像プロセッサ1840は、彩度調整UIコントロールを、自然な彩度調整操作に関連付けられているように構成する。
The set of
UIモジュール1805が、色調整操作を開始するための、UIコントロールのうちの1つに対するユーザ入力を受け取ると、UIモジュール1805は、そのユーザ入力を画像プロセッサ1840に渡す。次いで、画像プロセッサ1840は、そのユーザ入力を受け取るUIコントロールに関連付けられている色値の範囲内に収まる色値を有する、画像内の画素のセットを特定するように、画素分離モジュール1810にリクエストする。一部の実施形態では、画像の色値は、それらの色値の範囲を定義するために使用される色空間(例えば、YCC色空間)とは異なる色空間(例えば、RGB色空間)内で定義される。これらの実施形態では、画素のセットを特定するように画素分離モジュール1810にリクエストする前に、画像プロセッサ1840は、画像の色値を、それらの色値の範囲を定義するために使用される色空間に変換するように、色空間変換モジュール1815にリクエストする。
When
画素のセットが特定された後に、画像プロセッサ1840は、その画像、及び特定された画素についての情報を、画像に対して一連の色調整を実行するための色調整エンジン1820に送る。色調整エンジン1820は、画像内の特定された画素に、種々の色調整を適用する。一部の実施形態では、色調整エンジン1820は、プロセス1700を実行して、画像の特定された画素に調整を適用する。図示のように、色調整エンジン1820は、画像にコントラスト調整を適用するためのコントラスト調整エンジン1825、画像に明度調整を適用するための明度調整エンジン1830、及び画像に彩度調整を適用するための彩度調整エンジン1835を含む。これらは、画像に対して実行することが可能な例示的な色調整に過ぎないものであり、色調整エンジン1820は、画像に対して更なるタイプの色調整を実行するための、更なる色調整エンジンを含み得ることが、当業者には明らかなはずである。例えば、明度調整エンジン1830は、ユーザ入力を使用して、画像の明度を調整するための明度調整値を決定し、コントラスト調整エンジン1825は、ユーザ入力を使用して、画像のコントラストを調整するためのコントラスト調整値を決定し、彩度調整エンジン1835は、ユーザ入力を使用して、画像の彩度を調整するための彩度調整値を決定する。次いで、種々の調整エンジン1825〜1835は、この明度調整、コントラスト調整、及び彩度調整を画像に適用して、編集された画像を作り出す。
After the set of pixels is identified, the image processor 1840 sends the image and information about the identified pixels to a color adjustment engine 1820 for performing a series of color adjustments on the image. The color adjustment engine 1820 applies various color adjustments to the identified pixels in the image. In some embodiments, the color adjustment engine 1820 performs a
一部の実施形態では、色調整エンジン1820は、変換された色空間内で、画像の色値を調整する。これらの実施形態では、画像プロセッサ1840は、色空間変換モジュール1815に、調整された画像を送り、画像の色値を、その本来の色空間に変換して戻す。次いで、画像プロセッサ1840は、メディア記憶装置に、及び、表示のためのUIモジュール1805に、調整された画像を送る。
In some embodiments, the color adjustment engine 1820 adjusts the color values of the image within the converted color space. In these embodiments, the image processor 1840 sends the adjusted image to the color space conversion module 1815 and converts the color value of the image back to its original color space. The image processor 1840 then sends the adjusted image to the media storage device and to the
II.画像上コントロール
図1を参照して上述されたように、一部の実施形態の画像編集アプリケーションは、画像を編集するための、画像上に重ね合わされるUIコントロールのセットを提供する。画像上UIコントロールのセットのそれぞれは、異なる調整に関連付けられている。一部の実施形態では、ユーザは、画像上の場所を選択することによって、重ね合わせUIコントロール(画像上UIコントロールとも称される)のセットをアクティブ化することができる。これらの実施形態では、ユーザが、画像上の特定の場所を選択すると、アプリケーションは、一連の分析を実行して、その画像上の選択された場所に関連付けられている特定のコンテンツのタイプを判定する。次いで、このアプリケーションは、選択された場所が、異なるコンテンツのタイプに関連付けられていると、画像に適用するための異なる色調整機能に関連付けられている異なるUIコントロールのセットを表示する。一部の実施形態では、重ね合わせUIコントロールのセットは、不透明又は透明である。これらの画像上UIコントロールの幾つかの実施形態は、セクションII.A及びセクションII.Bで、より詳細に説明される。
II. On-Image Controls As described above with reference to FIG. 1, the image editing application of some embodiments provides a set of UI controls that are superimposed on the image for editing the image. Each set of on-image UI controls is associated with a different adjustment. In some embodiments, the user can activate a set of superimposed UI controls (also referred to as on-image UI controls) by selecting a location on the image. In these embodiments, when the user selects a particular location on the image, the application performs a series of analyzes to determine the specific content type associated with the selected location on the image. To do. The application then displays a different set of UI controls associated with different color adjustment functions for application to the image, as the selected location is associated with a different content type. In some embodiments, the set of superimposed UI controls is opaque or transparent. Some embodiments of these on-image UI controls are described in Section II. A and section II. B will be described in more detail.
図19は、画像上の場所のユーザ選択に基づいて、画像の色値を調整するための画像上UIコントロールのセットを提供するための、プロセス1900を概念的に示す。一部の実施形態では、このプロセスは、画像編集アプリケーションによって実行される。このプロセスは、画像上の場所の選択を(1905で)受け取ることによって開始する。次いで、このプロセスは、画像上の選択された場所に対応する、画素のセットの色値を(1910で)取得する。一部の実施形態では、この画素のセットは、選択された場所の近くに位置する画素である。
FIG. 19 conceptually illustrates a
次に、このプロセスは、取得された色値に対する一連の分析を(1915で)実行する。一部の実施形態では、各分析は、取得された色値に基づいて、選択された場所が特定のコンテンツのタイプに関連付けられているか否かを判定する。例えば、1つの分析は、選択された場所が肌の色調に関連付けられているか否かを判定するためのものであり、別の分析は、選択された場所が空に関連付けられているか否かを判定するためのものである。 The process then performs (at 1915) a series of analyzes on the acquired color values. In some embodiments, each analysis determines whether the selected location is associated with a particular content type based on the obtained color values. For example, one analysis is for determining whether a selected location is associated with skin tone, and another analysis is for determining whether a selected location is associated with the sky. It is for judging.
一連の分析からの結果に基づいて、このプロセスは、画像編集操作のセットを制御するための、UIコントロールのセットを(1920で)提供する。一部の実施形態では、このUIコントロールのセットは、画像上に表示される画像上コントロールである。これらの実施形態の一部では、画像上UIコントロールのセットは、方向依存性UIコントロールである。ユーザは、画像に対して方向入力を提供することによって、その画像に対する種々の画像編集操作を開始することができる。 Based on the results from the series of analyses, this process provides (at 1920) a set of UI controls to control the set of image editing operations. In some embodiments, this set of UI controls are on-image controls that are displayed on the image. In some of these embodiments, the set of on-image UI controls is a direction-dependent UI control. The user can initiate various image editing operations on the image by providing direction input to the image.
次に、このプロセスは、画像上に別の場所が選択されるか否かを(1930で)判定する。別の場所が選択される場合には、このプロセスは、その新たに選択された場所に対応する、別の画素のセットの色値を取得するために、1910に戻る。このプロセスは、それ以上場所が選択されなくなるまで、操作1910〜1925を繰り返す。次いで、このプロセスは終了する。 The process then determines (at 1930) whether another location is selected on the image. If another location is selected, the process returns to 1910 to obtain a color value for another set of pixels corresponding to the newly selected location. This process repeats operations 1910-1925 until no more locations are selected. The process then ends.
A.画像上色コントロール
一部の実施形態では、画像編集アプリケーションが提供する重ね合わせUIコントロールのセットは、画像に種々の色調整を適用するためのものである。図20は、ユーザによって選択された画像上の場所に基づいて、画像に色調整を適用するための画像上UIコントロールのセットを提供する、一部の実施形態の画像編集アプリケーションの、例示的なGUI300を示す。具体的には、図20は、種々の画像上UIコントロールのセットをアクティブ化する操作を、4つの異なるステージ2005、2010、2015、及びステージ2020で示す。これらのステージのそれぞれを、以下でより詳細に説明する。
A. On-Image Color Control In some embodiments, the set of overlay UI controls provided by the image editing application is for applying various color adjustments to the image. FIG. 20 is an example of an image editing application of some embodiments that provides a set of on-image UI controls for applying color adjustments to an image based on a location on the image selected by the user. The
第1ステージ2005は、図3の第2ステージ310と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。UIコントロール表示領域350は、画像の彩度を調整するためのUIコントロール352、画像内の空の色を調整するためのUIコントロール354、画像内の群葉の色を調整するためのUIコントロール358、及び画像内の肌の色調を調整するためのUIコントロール356を表示する。第2ステージ2010は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。図示のように、ユーザは、人の顔を表示する、画像上の場所を選択している。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。上述のように、ユーザが画像上の場所を選択した後、一部の実施形態の画像編集アプリケーションは、その選択された場所に関連付けられている特定のコンテンツのタイプを判定するために、一連の分析を実行する。種々の実施形態は、種々の技術を使用して、選択された場所に関連付けられているコンテンツのタイプを判定する。一部の実施形態のアプリケーションは、最初に、種々のコンテンツのタイプに関連付けられている種々の色値の範囲を定義する。例えば、一部の実施形態のアプリケーションは、肌の色調に関連付けられている色値の範囲、空の色に関連付けられている色値の範囲、及び群葉の色に関連付けられている色値の範囲を定義する。一部の実施形態では、このアプリケーションは、図5、8、及び図11を参照して上述されたものと同じ方式で、色値の範囲を定義する。次いで、このアプリケーションは、画像内の選択された場所に対応する画素のセットの色値が、特定のコンテンツのタイプに関連付けられている色値の範囲内に収まるか否かを判定し、その特定のコンテンツのタイプに関連付けられている画像上UIコントロールのセットを表示する。
The first stage 2005 is the same as the second stage 310 of FIG. As shown, the user has selected a
種々の実施形態は、画像上UIコントロールのセットを、種々の方式で実装する。例えば、一部の実施形態のアプリケーションは、画像上UIコントロールのセットを、方向依存性UIコントロールとして実装する。これらの実施形態の一部では、アプリケーションは、UIコントロールに関連付けられている色調整操作を開始するようにユーザを導くために、各UIコントロールに関する方向矢印を表示する。ユーザは、種々の方向入力を提供することによって、種々の色調整操作を開始する。この方向入力の方向に基づいて、アプリケーションは、画像に対して特定の色調整を実行する。第2ステージ2010では、ユーザは、人の顔を表示する画像上の場所を選択しているため、このアプリケーションは、選択された場所に対応する画素の色値が、肌の色調に関連付けられていることを判定する。結果として、このアプリケーションは、肌の色調を調整するための画像上UIコントロール2025及び画像上UIコントロール2030(水平軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール2025及び画像上UIコントロール2030のセットは、肌の色調UIコントロール356に対応する。一部の実施形態では、このアプリケーションはまた、肌の色調UIコントロール356がアクティブ化されていることを示すために、肌の色調UIコントロール356を強調表示する。肌の色調を調整するためのUIコントロールに加えて、一部の実施形態のアプリケーションはまた、画像全体に関する色値を調整するためのコンテンツに依存しないUIコントロールのセットも表示する。これらの実施形態では、コンテンツに依存しないUIコントロールのセットは、ユーザによって選択される場所とは無関係に、常に表示される。この実施例では、アプリケーションは、画像全体に関する彩度を調整するためのコンテンツに依存しないUIコントロール2035及びUIコントロール2040(垂直軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール2035及び画像上UIコントロール2040のセットは、彩度UIコントロール352に対応する。一部の実施形態では、このアプリケーションはまた、彩度UIコントロール352がアクティブ化されていることを示すために、彩度UIコントロール352を強調表示する。この図には示されないが、この第2ステージ2010でのユーザは、方向入力を提供することによって、特定の色調整(すなわち、画像全体に対する彩度調整、又は画像の肌の色調に対する色調整)を選択することができる。
Various embodiments implement a set of on-image UI controls in various ways. For example, some embodiments of the application implement a set of on-image UI controls as direction-dependent UI controls. In some of these embodiments, the application displays a directional arrow for each UI control to guide the user to initiate a color adjustment operation associated with the UI control. The user initiates various color adjustment operations by providing various direction inputs. Based on the direction of this direction input, the application performs a specific color adjustment on the image. In the
一部の実施形態では、異なる色調整に関連付けられている異なる画像上UIコントロールのセットは、異なる外観を有する。例えば、画像上UIコントロール2025及び画像上UIコントロール2030は、ユーザへの区別を提供するために、画像上UIコントロール2035及び画像上UIコントロール2040とは異なる色を有し得る。
In some embodiments, different sets of on-image UI controls associated with different color adjustments have different appearances. For example, the on-
第3ステージ2015は、ユーザが、画像355上の異なる場所を選択した後の、GUI300を示す。図示のように、ユーザは、青空を示す画像上の場所を選択している。アプリケーションは、この新たに選択された場所に対応する画素の色値が、空の色に関して定義される色値の範囲内に収まることを判定する。結果として、このアプリケーションは、空の色を調整するための画像上UIコントロール2045及び画像上UIコントロール2050(水平軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール2045及び画像上UIコントロール2050のセットは、空UIコントロール354に対応する。図示のように、このアプリケーションはまた、空UIコントロール354がアクティブ化されていることを示すために、空UIコントロール354を強調表示する。第2ステージ2010と同様に、空の色を調整するための画像上UIコントロールに加えて、このアプリケーションはまた、画像全体に関する彩度を調整するためのコンテンツに依存しないUIコントロール2035及びUIコントロール2040のセットも表示する。このアプリケーションはまた、彩度UIコントロール352がアクティブ化されていることを示すために、彩度UIコントロール352を強調表示する。この図には示されないが、この第3ステージ2015でのユーザは、方向入力を提供することによって、特定の色調整(すなわち、画像全体に対する彩度調整、又は画像の空の色に対する色調整)を選択することができる。
The third stage 2015 shows the
第4ステージ2020は、ユーザが、画像355上の異なる場所を選択した後の、GUI300を示す。図示のように、ユーザは、山を示す画像上の場所を選択している。アプリケーションは、この新たに選択された場所に対応する画素の色値が、群葉の色に関して定義される色値の範囲内に収まることを判定する。結果として、このアプリケーションは、群葉の色を調整するための画像上UIコントロール2055及び画像上UIコントロール2060(水平軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール2055及び画像上UIコントロール2060のセットは、群葉UIコントロール358に対応する。図示のように、このアプリケーションはまた、群葉UIコントロール358がアクティブ化されていることを示すために、群葉UIコントロール358を強調表示する。第2ステージ2010及び第3ステージ2015と同様に、群葉の色を調整するための画像上UIコントロールに加えて、このアプリケーションはまた、画像全体に関する彩度を調整するためのコンテンツに依存しないUIコントロール2035及びUIコントロール2040のセットも表示する。このアプリケーションはまた、彩度UIコントロール352がアクティブ化されていることを示すために、彩度UIコントロール352を強調表示する。この図には示されないが、この第4ステージ2020でのユーザは、方向入力を提供することによって、特定の色調整(すなわち、画像全体に対する彩度調整、又は画像の群葉の色に対する色調整)を選択することができる。
The
図20は、画像に対して種々の色調整を実行するための、種々の画像上UIコントロールをアクティブ化する例示的操作を示す。図21、22、23、及び図24は、種々の画像上UIコントロールを操作することにより、画像に対して種々の色調整を実行する実施例を示す。具体的には、図21は、画像全体に関する彩度を調整するための画像上UIコントロールのセットを操作する例示的操作を、4つの異なるステージ2105、2110、2115、及びステージ2120で示す。
FIG. 20 illustrates an exemplary operation of activating various on-image UI controls to perform various color adjustments on the image. FIGS. 21, 22, 23, and 24 illustrate embodiments in which various color adjustments are performed on an image by manipulating various on-image UI controls. Specifically, FIG. 21 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust saturation for the entire image, at four
第1ステージ2105は、図20の第1ステージ2005と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ2110は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、人の顔を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール2025〜2040のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像全体に関する彩度を調整するための彩度UIコントロール352に対応する、画像上UIコントロール2035及び画像上UIコントロール2040のセット、並びに、画像の肌の色調を調整するための肌の色調UIコントロール356に対応する、画像上UIコントロール2025及び画像上UIコントロール2030のセットを含む。第2ステージ2110はまた、対応する彩度UIコントロール352及び肌の色調UIコントロール356が強調表示されることにより、これらの2つのUIコントロールがアクティブ化されていることを示す点も示す。
The first stage 2105 is the same as the first stage 2005 in FIG. As shown, the user has selected a
第3ステージ2115は、ユーザが、画像355に対する方向入力を提供することによって、画像355の彩度の調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印2125によって示されるように、画像の頂部に向けて、ユーザの指を上向きにドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像全体に関する彩度を増大させるための画像上UIコントロール2035と関連付けて、画像355に対する彩度調整を実行する。図示のように、画像355内の色の彩度は、画像355の全域にわたる斜線によって示されるように、増大している。第3ステージ2115はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール2025及び画像上UIコントロール2030が、ディスプレイから除去されて、対応する肌の色調UIコントロール356が、もはや強調表示されないことも示す。一部の実施形態では、アクティブ化された画像上UIコントロール2035及び画像上UIコントロール2040は、方向入力に追従する。それゆえ、アクティブ化された画像上UIコントロールは、指(又はカーソル)が配置される画像上の場所の周囲に、常に存在する。更には、第3ステージ2115は、画像355内の色の彩度が、画像上UIコントロール2035によって増大されると、対応する彩度UIコントロール352のつまみが、右に移動していることを示す。
The
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対する彩度調整を実施した後の、第3ステージ2115で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ2120は、ユーザが、矢印2130によって示されるように、ユーザの指を更に上向きにドラッグすることによって、画像355の彩度を更に調整した後の、GUI300を示す。図示のように、このステージ2120での画像355内の色は、画像355の全域にわたる、より高密度の斜線によって示されるように、第3ステージ2115での画像内の色よりも、更に彩度が増大されて示される。第4ステージ2120はまた、対応する彩度UIコントロール352のつまみが、更に右に移動していることも示す。一部の実施形態では、画像の彩度のユーザによる調整が、限界(例えば、画像に関する彩度の、可能な範囲の上端又は下端)に達すると、ユーザの指の方向の矢印は、徐々に消失するか、又は消滅する。例えば、ユーザが、このステージ2120で示される指の位置から更に上向きにユーザの指をドラッグすることによって、画像355の彩度を更にまた調整する場合には、矢印2035が徐々に消失するか、又は消滅する。また、対応する彩度UIコントロール352のつまみも右端に達して、更に右に移動することはない。一部の実施形態では、限界に達することに関する、この矢印の消失又は消滅は、本出願で説明される他のタイプの色調整に適用可能である。
The fourth stage 2120 shows the
図21は、画像全体に関する彩度を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。図22は、画像の色温度を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。色温度は、画像内の対象物から反射する可視光の特性である。画像内の対象物に当っている、より暖かい光は、その画像内の対象物の色に、より暖かい色調(すなわち、より多くの赤色及び黄色)を作り出し、その一方で、画像内の対象物に当っている、より冷たい光は、その画像内の対象物の色に、より冷たい色調(すなわち、より多くの青色及びシアン)を作り出す。それゆえ、画像の色温度を調整することは、画像に対して、より多くの赤色/黄色を追加すること、又はより多くの青色/シアンを追加することを意味する。具体的には、図22は、この色調整操作を、4つの異なるステージ2205、2210、2215、及びステージ2220で示す。 FIG. 21 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust saturation for the entire image. FIG. 22 shows an exemplary operation for operating a set of on-image UI controls to adjust the color temperature of the image. Color temperature is a characteristic of visible light reflected from an object in an image. The warmer light that strikes an object in the image creates a warmer tone (ie, more red and yellow) in the color of the object in the image, while the object in the image The cooler light that hits creates a cooler tone (ie, more blue and cyan) in the color of the object in the image. Therefore, adjusting the color temperature of the image means adding more red / yellow or more blue / cyan to the image. Specifically, FIG. 22 illustrates this color adjustment operation with four different stages 2205, 2210, 2215, and stage 2220.
第1ステージ2205は、図20の第1ステージ2005と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ2210は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、人の顔を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール2025〜2040のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像全体に関する彩度を調整するための彩度UIコントロール352に対応する、画像上UIコントロール2035及び画像上UIコントロール2040のセット、並びに、画像の肌の色調を調整するための肌の色調UIコントロール356に対応する、画像上UIコントロール2025及び画像上UIコントロール2030のセットを含む。第2ステージ2210はまた、対応する彩度UIコントロール352及び肌の色調UIコントロール356が強調表示されることにより、これらの2つのUIコントロールがアクティブ化されていることを示す点も示す。
The first stage 2205 is the same as the first stage 2005 in FIG. As shown, the user has selected a
第3ステージ2215は、ユーザが、画像355に対する方向入力を提供することによって、画像355の色温度の調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印2225によって示されるように、ユーザの指を右にドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像内の肌の色調を改善するための画像上UIコントロール2025と関連付けて、画像355に対する色温度調整を実行する。図示のように、画像355の色温度は、画像355の全域にわたる斜線によって示されるように、上昇している。一部の実施形態では、このアプリケーションは、肌の色調をより心地よいものにするために、画像の色温度を調整する。これらの実施形態の一部では、アプリケーションは、図5を参照して上述されたものと同じである、定義された肌の色調の範囲を使用して、その定義された肌の色調の範囲内に収まる画像内の色を、より心地よいものにするように、画像の色値を調整する。
The third stage 2215 shows the
第3ステージ2215はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール2035及び画像上UIコントロール2040が、ディスプレイから除去されて、対応する彩度UIコントロール352が、もはや強調表示されないことも示す。第3ステージ2215はまた、対応する肌の色調UIコントロール356のつまみが、右に移動していることも示す。
The third stage 2215 also allows the deactivated on-
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して肌の色調調整を実施した後の、第3ステージ2215で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ2220は、ユーザが、矢印2230によって示されるように、ユーザの指を更に右にドラッグすることによって、画像355の色温度を更に調整した後の、GUI300を示す。図示のように、このステージ2220での画像355は、画像355の全域にわたる、より高密度の斜線によって示されるように、第3ステージ2215での画像よりも更に調整されて示される。第4ステージ2220はまた、対応する肌の色調UIコントロール356のつまみが、更に右に移動していることも示す。
The fourth stage 2220 shows the
図22は、画像に関する色温度を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。図23は、画像内の空の色を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。具体的には、図23は、この色調整操作を、4つの異なるステージ2305、2310、2315、及びステージ2320で示す。
FIG. 22 shows an exemplary operation for operating a set of on-image UI controls to adjust the color temperature for the image. FIG. 23 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust the sky color in the image. Specifically, FIG. 23 illustrates this color adjustment operation with four
第1ステージ2305は、図22の第1ステージ2205と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ2310は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、空を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール2035〜2050のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像全体に関する彩度を調整するための彩度UIコントロール352に対応する、画像上UIコントロール2035及び画像上UIコントロール2040のセット、並びに、画像の空の色を調整するための空UIコントロール354に対応する、画像上UIコントロール2045及び画像上UIコントロール2050のセットを含む。第2ステージ2310はまた、対応する彩度UIコントロール352及び空UIコントロール354が強調表示されることにより、これらの2つのUIコントロールがアクティブ化されていることを示す点も示す。
The
第3ステージ2315は、ユーザが、画像355に対する方向入力を提供することによって、画像355の空の色の調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印2325によって示されるように、ユーザの指を右にドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像内の空の色を調整するための画像上UIコントロール2045と関連付けて、画像355に対する空の色の調整を実行する。図示のように、画像355内の空の色は、画像355内の空を示す領域の全域にわたる斜線によって示されるように、強調されている。第3ステージ2315はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール2035及び画像上UIコントロール2040が、ディスプレイから除去されて、対応する彩度UIコントロール352が、もはや強調表示されないことも示す。第3ステージ2315はまた、対応する空UIコントロール354のつまみが、右に移動していることも示す。
The
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して空調整を実施した後の、第3ステージ2315で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ2320は、ユーザが、矢印2330によって示されるように、ユーザの指を更に右にドラッグすることによって、画像355の空の色を更に調整した後の、GUI300を示す。図示のように、このステージ2320での画像355内の空の色は、画像355内の空を示す領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ2315での画像内の空の色よりも、更に強調されて示される。第4ステージ2320はまた、対応する空UIコントロール354のつまみが、更に右に移動していることも示す。
図23は、画像に関する空の色を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。図24は、画像内の群葉の色を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。具体的には、図24は、この色調整操作を、4つの異なるステージ2405、2410、2415、及びステージ2420で示す。
FIG. 23 illustrates an exemplary operation for operating a set of on-image UI controls to adjust the sky color for an image. FIG. 24 shows an exemplary operation for manipulating a set of on-image UI controls to adjust the color of the foliage in the image. Specifically, FIG. 24 illustrates this color adjustment operation with four
第1ステージ2405は、図23の第1ステージ2305と同一である。図示のように、ユーザは、画像355の色を調整するための選択可能UI項目342を選択している。第2ステージ2410は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、山を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール2035、2040、2055、及び画像上UIコントロール2060のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像全体に関する彩度を調整するための彩度UIコントロール352に対応する、画像上UIコントロール2035及び画像上UIコントロール2040のセット、並びに、画像の群葉の色を調整するための群葉UIコントロール358に対応する、画像上UIコントロール2055及び画像上UIコントロール2060のセットを含む。第2ステージ2410はまた、対応する彩度UIコントロール352及び群葉UIコントロール358が強調表示されることにより、これらの2つのUIコントロールがアクティブ化されていることを示す点も示す。
The
第3ステージ2415は、ユーザが、画像355に対する方向入力を提供することによって、画像355の群葉の色の調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印2425によって示されるように、ユーザの指を右にドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像内の群葉の色を調整するための画像上UIコントロール2055と関連付けて、画像355に対する群葉の色の調整を実行する。図示のように、画像355内の群葉の色は、画像355内の山を示す領域の全域にわたる斜線によって示されるように、強調されている。第3ステージ2415はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール2035及び画像上UIコントロール2040が、ディスプレイから除去されて、対応する彩度UIコントロール352が、もはや強調表示されないことも示す。
The third stage 2415 shows the
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して群葉調整を実施した後の、第3ステージ2415で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
第4ステージ2420は、ユーザが、矢印2430によって示されるように、ユーザの指を更に右にドラッグすることによって、画像355の群葉の色を更に調整した後の、GUI300を示す。図示のように、このステージ2420での画像355内の群葉の色は、画像355内の山を示す領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ2415での画像内の群葉の色よりも、更に強調されて示される。
The
一部の実施形態では、ユーザが、画像上UIコントロールのセットに関連付けられている方向入力の提供を開始した後、その画像上UIコントロールのセットは常に、画像から完全に消滅するまで、徐々に消失し始める。第4ステージ2420は、ユーザが、更に右へと指を移動させた後に、画像上UIコントロール2055及び画像上UIコントロール2060が、徐々に消失したことを示す。
In some embodiments, after the user begins to provide directional input associated with a set of on-image UI controls, the set of on-image UI controls is always progressively disappeared completely from the image. It begins to disappear. The
図20、21、22、23、及び図24に示される上記の実施例では、重ね合わせUIコントロール2025〜2060のセットは、4つの矢印として画像355上に表示されるが、他の実施形態では、重ね合わせUIコントロールのセットは、異なる外観を有し得る。図25は、重ね合わせUIコントロールに関する2つの他の実施例を示す。第1の実施例で示すように、重ね合わせUIコントロール2545、2550、2555、及び重ね合わせUIコントロール2560のセットは、ユーザによって選択された画像355上の場所2525から延びる、アームのセットを含む。各重ね合わせUIコントロールはまた、アニメーション化された方向矢印も含み、この矢印は、矢印によって示される方向で、アーム内部を横断する。更には、各重ね合わせUIコントロールは、その重ね合わせUIコントロールに対応する調整操作を表す色で、表示される。重ね合わせUIコントロール2545及び重ね合わせUIコントロール2550は、1つの色で(例えば、黒で)表示され、その一方で、重ね合わせUIコントロール2555及び重ね合わせUIコントロール2560は、別の色で(例えば、白で)表示されるが、これは、重ね合わせUIコントロールのこれらの2つのセットが、異なる調整を開始するためのものであるからである。第2の実施例は、重ね合わせUIコントロールに関する第2の代替的な外観を示す。具体的には、実施例(2)は、ユーザにサムネイルのプレビューを提供する、重ね合わせUIコントロール2543、2547、2553、及び重ね合わせUIコントロール2557のセットを示す。図示のように、サムネイル2570のセットが、各重ね合わせUIコントロール上に表示される。このサムネイルは、その重ね合わせUIコントロール上のサムネイルの場所に基づいて適用されるであろう編集に対応する、画像355のプレビューを提供する。例えば、サムネイル2585は、ユーザが、場所2580に基づく方向入力を提供した場合に、画像355がどのように見えることになるかの、プレビューを提供する。
In the above example shown in FIGS. 20, 21, 22, 23, and 24, the set of superimposed UI controls 2025-2060 is displayed on the
図26は、画像上の場所のユーザ選択に基づいて、画像内の彩度、肌の色調、空の色、及び群葉の色を調整するための画像上UIコントロールのセットを提供するためのプロセス2600を、概念的に示す。一部の実施形態では、このプロセスは、画像編集アプリケーションによって実行される。最初の3つの操作2605、2610、及び2615は、図19のプロセス1900の、最初の3つの操作1905、1910、及び1915と同一である。このプロセスは、画像上の場所の選択を(2605で)受け取ることによって開始する。次いで、このプロセスは、画像上の選択された場所に対応する、画素のセットの色値を(2610で)取得する。一部の実施形態では、この画素のセットは、選択された場所の近くに位置する画素である。
FIG. 26 provides a set of on-image UI controls for adjusting the saturation, skin tone, sky color, and foliage color in an image based on a user selection of a location on the image.
次に、このプロセスは、取得された色値に対する一連の分析を(2615で)実行する。一部の実施形態では、各分析は、取得された色値に基づいて、選択された場所が特定のコンテンツのタイプに関連付けられているか否かを判定する。例えば、この一連の分析は、選択された場所が肌の色調に関連付けられているか否かを判定するための分析、選択された場所が空の色に関連付けられているか否かを判定するための分析、及び、選択された場所が群葉の色に関連付けられているか否かを判定するための分析を含む。 The process then performs (at 2615) a series of analyzes on the acquired color values. In some embodiments, each analysis determines whether the selected location is associated with a particular content type based on the obtained color values. For example, this series of analyzes can be used to determine whether a selected location is associated with a skin tone, and to determine whether a selected location is associated with a sky color. Analysis and analysis to determine whether the selected location is associated with the foliage color.
このプロセスは、一連の分析からの結果に基づいて、選択された場所が肌の色調に関連付けられているか否かを(2620で)判定する。選択された場所が肌の色調に関連付けられている場合には、このプロセスは、画像内の肌の色調を調整するためのUIコントロールのセットを(2625で)提供する。一部の実施形態では、この肌の色調を調整するためのUIコントロールのセットは、画像上の選択された場所の周囲に表示される。 This process determines (at 2620) whether the selected location is associated with a skin tone based on the results from the series of analyses. If the selected location is associated with a skin tone, the process provides (at 2625) a set of UI controls for adjusting the skin tone in the image. In some embodiments, this set of UI controls for adjusting the skin tone is displayed around a selected location on the image.
このプロセスは、一連の分析からの結果に基づいて、選択された場所が空の色に関連付けられているか否かを(2630で)判定する。選択された場所が空の色に関連付けられている場合には、このプロセスは、画像内の空の色を調整するためのUIコントロールのセットを(2635で)提供する。一部の実施形態では、この空の色を調整するためのUIコントロールのセットは、画像上の選択された場所の周囲に表示される。 This process determines (at 2630) whether the selected location is associated with a sky color based on the results from the series of analyses. If the selected location is associated with a sky color, the process provides (at 2635) a set of UI controls for adjusting the sky color in the image. In some embodiments, this set of UI controls for adjusting the sky color is displayed around a selected location on the image.
このプロセスは、一連の分析からの結果に基づいて、選択された場所が群葉の色に関連付けられているか否かを(2640で)判定する。選択された場所が群葉の色に関連付けられている場合には、このプロセスは、画像内の群葉の色を調整するためのUIコントロールのセットを(2645で)提供する。一部の実施形態では、この群葉の色を調整するためのUIコントロールのセットは、画像上の選択された場所の周囲に表示される。 This process determines (at 2640) whether the selected location is associated with a foliage color based on the results from the series of analyses. If the selected location is associated with the foliage color, the process provides (at 2645) a set of UI controls for adjusting the foliage color in the image. In some embodiments, this set of UI controls for adjusting the foliage color is displayed around a selected location on the image.
次に、このプロセスは、画像全体に関する彩度を調整するためのUIコントロールのセットを(2650で)提供する。一部の実施形態では、このプロセスは、ユーザによって選択される画像上の場所とは無関係に、この画像全体に関する彩度を調整するためのUIコントロールのセットを、常に提供する。 The process then provides (at 2650) a set of UI controls for adjusting the saturation for the entire image. In some embodiments, this process always provides a set of UI controls for adjusting the saturation for this entire image, regardless of the location on the image selected by the user.
次いで、このプロセスは、方向入力が受け取られるか否かを(2655で)判定する。方向入力が受け取られる場合には、このプロセスは、その方向入力に基づいて、画像に対する色調整操作を(2660で)実行する。次いで、このプロセスは、画像上UIコントロールが選択解除されるか否かを(2665で)判定する。一部の実施形態では、画像上UIコントロールのセットは、タッチ又はニアタッチ感応スクリーンを有する装置から、指を引き上げること(又は、ボタンを解除すること)によって、選択解除することができる。 The process then determines (at 2655) whether a directional input is received. If a direction input is received, the process performs (at 2660) a color adjustment operation on the image based on the direction input. The process then determines (at 2665) whether the on-image UI control is deselected. In some embodiments, the set of on-image UI controls can be deselected by lifting a finger (or releasing a button) from a device having a touch or near touch sensitive screen.
受け取られる方向入力が存在しないことを、このプロセスが(2655で)判定する場合には、このプロセスはまた、操作2665に進み、画像上UIコントロールが選択解除されるか否かを判定する。画像上UIコントロールのセットが選択解除されない場合には、このプロセスは、方向入力が受け取られるか否かを判定するために、2655に戻る。その一方で、画像上UIコントロールのセットが選択解除される場合には、このプロセスは終了する。
If the process determines (at 2655) that no directional input is received, the process also proceeds to
一部の実施形態では、画像上に表示されるUIコントロールのセットは、方向依存性UIコントロールである。これらの実施形態では、ユーザは、画像に対して方向入力(すなわち、ベクトル)を提供することによって、画像上の色調整操作のうちの1つをアクティブ化することができる。この方向入力は、方向及び大きさを含むベクトルである。図27は、画像内の場所2725をユーザが選択した後に表示され得る、例示的な方向依存性UIコントロールのセット2700を示す。UIコントロールのセット2700は、UIコントロール2705〜2720を含む。各UIコントロールは、異なる概ねの方向に対応する。例えば、UIコントロール2705は、画像の垂直軸に沿って概ね上向きの方向(すなわち、方向2730と方向2735との間)に対応し、UIコントロール2710は、画像の水平軸に沿って概ね右への方向(すなわち、方向2735と方向2740との間)に対応し、UIコントロール2715は、画像の垂直軸に沿って概ね下向きの方向(すなわち、方向2740と方向2745との間)に対応し、UIコントロール2720は、画像の水平軸に沿って概ね左への方向(すなわち、方向2745と方向2730との間)に対応する。ユーザが、ベクトル2750などの方向入力を提供すると、このアプリケーションは、ベクトル2750の方向が、特定のUIコントロールの概ねの方向の範囲内に収まるか否かを判定する。一部の実施形態では、ベクトル2750は、選択された場所2725から新たな場所2760への、タッチ若しくはニアタッチ感応スクリーンを有する装置上での指の移動、又はカーソルの移動によって作り出される。一部の実施形態では、ベクトル2750は、選択された場所2725から新たな場所2760への直線「c」であると判定される。
In some embodiments, the set of UI controls displayed on the image are direction-dependent UI controls. In these embodiments, the user can activate one of the color adjustment operations on the image by providing a directional input (ie, a vector) to the image. This direction input is a vector containing the direction and magnitude. FIG. 27 shows an exemplary set of direction-dependent UI controls 2700 that may be displayed after a user selects a
一部の実施形態では、ベクトルの方向は、軸に対する角度として表すことができる。例えば、一部の実施形態のアプリケーションは、水平軸に沿った方向2755を、0度として使用するように選択することができる。これらの実施形態では、各方向は、0度の方向2755から時計回りに進む角度の観点で、表すことができる。例えば、方向入力2750の方向は、角度「a」として表すことができる。これらの実施形態では、方向入力は、その方向入力の角度が、方向2735(45度)と方向2730(135度)との間である場合には、UIコントロール2705に関連付けられている。同様に、方向入力は、その方向入力の角度が、方向2730(135度)と方向2745(225度)との間である場合には、UIコントロール2720に関連付けられ、方向入力は、その方向入力の角度が、方向2730(225度)と方向2745(315度)との間である場合には、UIコントロール2715に関連付けられ、方向入力は、その方向入力の角度が、方向2740(315度)と方向2735(45度)との間である場合には、UIコントロール2710に関連付けられている。それゆえ、30度の方向を有する方向入力は、UIコントロール2710に関連付けられ、70度の方向を有する別の方向入力は、UIコントロール2705に関連付けられている。この実施例では、方向入力2750の角度(すなわち、角度「a」)は、315度と45度との間であるため、このアプリケーションは、UIコントロール2710の強調表示によって示されるように、方向入力2750をUIコントロール2710に関連付ける。
In some embodiments, the direction of the vector can be expressed as an angle with respect to the axis. For example, an application of some embodiments may choose to use
一部の実施形態では、各色調整操作は、画像に適用するための調整値の範囲に関連付けられている。すなわち、より大きい調整値は、より大きい程度(又は、度合)の色調整操作を画像に対して適用することを示し、より小さい調整値は、より小さい程度(又は、度合)の色調整操作を画像に対して適用することを示す。これらの実施形態では、アプリケーションは、方向入力の大きさに基づいて、色調整操作に関する調整値を決定する。種々の実施形態は、種々の技術を使用して、方向入力の大きさを計算する。一部の実施形態では、このアプリケーションは、方向入力2750の大きさを、選択された場所2725から新たな場所2760までのベクトルの距離「c」として判定する。他の実施形態では、各方向依存性UIコントロールは、対応する軸を有する。例えば、UIコントロール2710は、軸2755に対応する。これらの実施形態では、アプリケーションは、方向入力2750の大きさを、UIコントロール2710の対応する軸2755に沿って、ベクトル2750によってカバーされる距離である、距離「b」として判定する。いずれの場合にも、計算された大きさを使用して、画像に対して色調整操作を適用するための調整値を決定する。
In some embodiments, each color adjustment operation is associated with a range of adjustment values for application to the image. That is, a larger adjustment value indicates that a greater degree (or degree) of color adjustment operation is applied to the image, and a smaller adjustment value indicates a smaller degree (or degree) of color adjustment operation. Indicates application to an image. In these embodiments, the application determines an adjustment value related to the color adjustment operation based on the magnitude of the direction input. Various embodiments use various techniques to calculate the magnitude of the direction input. In some embodiments, the application determines the magnitude of the
図27に示す方向依存性UIコントロールのセット2700は、4つの方向依存性UIコントロールを含むのみであるが、一部の実施形態は、画像に対する種々の調整を提供するための、4つよりも多いか又は4つよりも少ない方向依存性UIコントロールを、画像上に提供することが、当業者には明らかなはずである。 Although the set of direction-dependent UI controls 2700 shown in FIG. 27 only includes four direction-dependent UI controls, some embodiments are more than four to provide various adjustments to the image. It should be apparent to those skilled in the art that more or fewer than four direction-dependent UI controls are provided on the image.
図28は、ユーザから方向入力を受け取り、その入力の方向及び大きさに基づいて、対応する色調整操作を画像に適用するためのプロセス2800を、概念的に示す。一部の実施形態では、このアプリケーションは、アプリケーションが、画像上の場所の選択を受け取り、対応するUIコントロールのセットを画像上に提供した後に、プロセス2800を実行する。
FIG. 28 conceptually illustrates a
このプロセスは、画像に対する方向入力を(2805で)受け取ることによって開始する。一部の実施形態では、方向入力は、方向及び大きさを含む。次いで、このプロセスは、方向入力の方向を(2810で)判定する。一部の実施形態では、方向入力の方向を判定する操作は、画像の軸に対する方向入力の角度を判定することを伴う。 The process begins by receiving a directional input (at 2805) for the image. In some embodiments, the direction input includes direction and magnitude. The process then determines (at 2810) the direction of the direction input. In some embodiments, the operation of determining the direction of the direction input involves determining an angle of the direction input with respect to the image axis.
方向入力の方向を判定した後、このプロセスは、その方向をUIコントロールに(2815で)関連付ける。一部の実施形態では、このプロセスは、図27を参照して上述された技術を使用して、特定のUIコントロールに方向を関連付ける。これらの実施形態では、プロセスは、異なるUIコントロールに、異なる方向の範囲を割り当てる。次いで、このプロセスは、その入力の方向が、特定のUIコントロールに関連付けられている範囲内に収まるか否かを判定する。 After determining the direction of the direction input, the process associates the direction with the UI control (at 2815). In some embodiments, this process associates a direction with a particular UI control using the technique described above with reference to FIG. In these embodiments, the process assigns different directional ranges to different UI controls. The process then determines whether the direction of the input falls within the range associated with the particular UI control.
次に、このプロセスは、方向入力の大きさを(2820で)判定する。一部の実施形態では、このプロセスは、図27を参照して上述された技術を使用して、方向入力の大きさを判定する。次いで、このプロセスは、その方向入力の大きさに基づいて、(2825で)調整値を計算する。一部の実施形態では、より大きい大きさは、より大きい調整値に対応し、より小さい大きさは、より小さい調整値に対応する。 The process then determines (at 2820) the magnitude of the direction input. In some embodiments, this process determines the magnitude of the directional input using the technique described above with reference to FIG. The process then calculates (at 2825) an adjustment value based on the magnitude of the direction input. In some embodiments, a larger magnitude corresponds to a larger adjustment value and a smaller magnitude corresponds to a smaller adjustment value.
最終的に、このプロセスは、計算された調整値を使用して、関連付けられているUIコントロールに対応する色調整操作を、画像に適用する。一部の実施形態では、このプロセスは、ユーザ入力を受け取るUIコントロールに基づいて、画像の一部分にのみ色調整を適用する。更には、このプロセスは、画像の画素の特定のセットに、最大限の色調整を適用し、画像の画素の別のセットに、より少ない程度の色調整を適用することができる。次いで、このプロセスは終了する。 Finally, the process uses the calculated adjustment value to apply a color adjustment operation corresponding to the associated UI control to the image. In some embodiments, the process applies color adjustments to only a portion of the image based on UI controls that receive user input. Furthermore, this process can apply maximum color adjustments to a particular set of image pixels and a lesser degree of color adjustments to another set of image pixels. The process then ends.
図29は、画像の色値を編集するための、画像上UIコントロールのセットを提供する、一部の実施形態の画像編集アプリケーション2900を示す。一部の実施形態では、画像編集アプリケーション2900は、プロセス1900、2600、及びプロセス2800を実行する。画像編集アプリケーション2900は、画像編集アプリケーション1800と同一の、幾つかの構成要素を含む。例えば、画像編集アプリケーション2900は、コンテンツ分析モジュール1845のセット、色空間変換モジュール1815、画素分離モジュール1810、及び色調整エンジン1820を含む。図示のように、この画像編集アプリケーションはまた、画像プロセッサ2940も含む。
FIG. 29 illustrates an image editing application 2900 of some embodiments that provides a set of on-image UI controls for editing image color values. In some embodiments, the image editing application 2900 performs
UIモジュール1805は、画像上の場所のユーザ選択を受け取り、その選択された場所についての情報を、画像プロセッサ2940に渡す。選択された場所を受け取ると、画像プロセッサ2940は、その画像上の選択された場所に対応する画素のセットの色値を取得し、その画素のセット、及びそれらの色値を、コンテンツ分析モジュール1845のセットに渡す。コンテンツ分析モジュール1845のセットは、それらの色値に対して、一連の様々な分析を実行する。
The
一部の実施形態では、各コンテンツ分析モジュール1845は、受け取った色値に基づいて、選択された場所が異なるコンテンツのタイプに関連付けられているか否かを判定するために、異なる分析を実行する。例えば、特定のコンテンツ分析モジュールは、選択された場所が肌の色調に関連付けられているか否かを判定するための、色値に対する分析を実行し、別のコンテンツ分析モジュールは、選択された場所が空に関連付けられているか否かを判定するための、色値に対する別の分析を実行する。次いで、コンテンツ分析モジュール1845のセットは、それらの分析の結果(すなわち、選択された場所に関連付けられている判定された特定のコンテンツのタイプ)を、画像プロセッサ2940に渡す。
In some embodiments, each
コンテンツ分析モジュール1845から受け取った分析の結果に基づいて、画像プロセッサ2940は、画像上の表示のための、種々の色値を調整するための画像上UIコントロールのセットを選択する。次いで、画像プロセッサ2940は、その選択された画像上UIコントロールのセットを表示するように、UIモジュール1805にリクエストする。UIモジュール1805が、画像に対する入力を受け取ると、UIモジュール1805は、その受け取った入力を、画像プロセッサ2940に返す。一部の実施形態では、受け取られる入力は、方向入力である。
Based on the results of the analysis received from the
画像プロセッサ2940は、その方向入力を、特定の色調整操作(例えば、彩度調整、自然な彩度調整、肌の色調調整など)に関連付ける。次いで、画像プロセッサ2940は、その特定の色調整操作に関連付けられている色値の範囲内に収まる色値を有する、画像内の画素のセットを特定するように、画素分離モジュール1810にリクエストする。一部の実施形態では、画像の色値は、それらの色値の範囲を定義するために使用される色空間(例えば、YCC色空間)とは異なる色空間(例えば、RGB色空間)内で定義される。これらの実施形態では、画素のセットを特定するように、画素分離モジュール1810にリクエストする前に、画像プロセッサ2940は、画像の色値を、それらの色値の範囲を定義するために使用される色空間に変換するように、色空間変換モジュール1815にリクエストする。 Image processor 2940 associates the direction input with a particular color adjustment operation (eg, saturation adjustment, natural saturation adjustment, skin tone adjustment, etc.). The image processor 2940 then requests the pixel separation module 1810 to identify a set of pixels in the image that have color values that fall within the range of color values associated with that particular color adjustment operation. In some embodiments, the color values of the image are in a color space (eg, RGB color space) that is different from the color space (eg, YCC color space) used to define the range of those color values. Defined. In these embodiments, before requesting the pixel separation module 1810 to identify a set of pixels, the image processor 2940 is used to define the color values of the image and the range of those color values. Requests the color space conversion module 1815 to convert to a color space.
画素のセットが特定された後に、画像プロセッサ2940は、その画像、及び特定された画素についての情報を、画像に対して一連の色調整を実行するための色調整エンジン1820に送る。色調整エンジン1820は、画像内の特定された画素に、種々の色調整を適用する。図示のように、色調整エンジン1820は、画像にコントラスト調整を適用するためのコントラスト調整エンジン1825、画像に明度調整を適用するための明度調整エンジン1830、及び画像に彩度調整を適用するための彩度調整エンジン1835を含む。これらは、画像に対して実行することが可能な例示的な色調整に過ぎず、色調整エンジン1820は、画像に対して更なるタイプの色調整を実行するための、更なる色調整エンジンを含み得ることが、当業者には明らかなはずである。例えば、明度調整エンジン1830は、ユーザ入力を使用して、画像の明度を調整するための明度調整値を決定し、コントラスト調整エンジン1825は、ユーザ入力を使用して、画像のコントラストを調整するためのコントラスト調整値を決定し、彩度調整エンジン1835は、ユーザ入力を使用して、画像の彩度を調整するための彩度調整値を決定する。次いで、種々の調整エンジン1825〜1835は、それらの明度調整、コントラスト調整、及び彩度調整を画像に適用して、編集された画像を作り出す。
After the set of pixels is identified, the image processor 2940 sends the image and information about the identified pixels to a color adjustment engine 1820 for performing a series of color adjustments on the image. The color adjustment engine 1820 applies various color adjustments to the identified pixels in the image. As shown, the color adjustment engine 1820 includes a contrast adjustment engine 1825 for applying contrast adjustment to the image, a
一部の実施形態では、色調整エンジン1820は、変換された色空間内で、画像の色値を調整する。これらの実施形態では、画像プロセッサ2940は、色空間変換モジュール1815に、調整された画像を送り、その画像の色値を、その本来の色空間に変換して戻す。次いで、画像プロセッサ2940は、メディア記憶装置に、及び、表示のためのUIモジュール1805に、その調整された画像を送る。
In some embodiments, the color adjustment engine 1820 adjusts the color values of the image within the converted color space. In these embodiments, the image processor 2940 sends the adjusted image to the color space conversion module 1815 and converts the color value of the image back to its original color space. The image processor 2940 then sends the adjusted image to the media storage device and to the
画像上にUIコントロールのセットを提供することは、多くの利益を有する。例えば、画像上UIコントロールは、ユーザが調整値の範囲内で調整値を指定することを可能にするための、範囲スライダよりも細かい粒度を有する、より大きいスケールを提供する。図30は、GUI300を通じた、そのような利益の例を示す。図30に示すように、画像355の空の色を調整するための空UIコントロール354、並びに対応する画像上UIコントロール2045及び画像上UIコントロール2050がアクティブ化されている図7及び図23を参照して上述されたように、ユーザは、空UIコントロール354を操作するか、あるいは画像上UIコントロール2045及び画像上UIコントロール2050を使用して、画像に対して方向入力を提供することによって、画像の空の色を調整することができる。この実施例では、空UIコントロール354は、範囲スライダとして実装されることにより、ユーザは、範囲スライダ354に沿ってつまみを移動させることによって、0〜100の間で調整値を指定することが可能となる。範囲スライダ354は、サイズが限定されているため、範囲スライダ354に沿ってユーザがつまみを移動させる各単位3005は、調整値を、大きい量(例えば、25)で増大又は減少させる。その一方で、ユーザが、画像に対して方向入力を提供することによって、画像上UIコントロールを使用する場合、ユーザは、選択された場所から画像の両端まで移動させることができる。それゆえ、画像上でユーザが移動させる各単位3010は、調整値を、小さい数値(例えば、2)でのみ増大又は減少させる。それゆえ、画像上UIコントロールは、調整値を指定するための、より細かい粒度を有する、遙かに大きいスケールをユーザに提供する。
Providing a set of UI controls on an image has many benefits. For example, the on-image UI control provides a larger scale with finer granularity than the range slider to allow the user to specify the adjustment value within the range of adjustment values. FIG. 30 shows an example of such benefits through the
B.画像上露出コントロール
上記のセクションの図20、21、22、23、及び図24は、画像上UIコントロールの幾つかの実施例を説明するものであった。それらの実施例では、アプリケーションは、ユーザが、画像内の場所を選択することを可能にし、その選択された場所に関連付けられているコンテンツのタイプに応じて、画像の色を調整するための種々の画像上UIコントロールのセットを提供する。このセクションは、これらの画像上UIコントロールの、幾つかの更なる実施例を提供する。具体的には、図31は、選択された場所に関連付けられているコンテンツのタイプに応じて、画像の露出設定を調整するための種々の画像上UIコントロールのセットを提供する操作を示す。具体的には、図31は、GUI300を通じて、種々の画像上UIコントロールのセットをアクティブ化する操作を、4つの異なるステージ3105、3110、3115、及びステージ3120で示す。これらのステージのそれぞれを、以下でより詳細に説明する。
B. On-Image Exposure Control FIGS. 20, 21, 22, 23, and 24 in the above section described several examples of on-image UI control. In those embodiments, the application allows the user to select a location within the image and various to adjust the color of the image depending on the type of content associated with the selected location. Provides a set of UI controls on the image. This section provides some further examples of UI controls on these images. Specifically, FIG. 31 illustrates operations for providing various sets of on-image UI controls for adjusting image exposure settings depending on the type of content associated with the selected location. Specifically, FIG. 31 illustrates operations for activating various sets of on-image UI controls through the
第1ステージ3105は、図20の第1ステージ2005と同様であるが、ただし、ユーザは、選択可能UI項目3125の強調表示によって示されるように、画像355の露出設定を調整するための選択可能UI項目3125を選択している。選択可能UI項目3125の選択は、選択可能UI項目3125を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目3125にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図31に示すように、露出調整UIコントロール3130〜3150のセットが、UIコントロール表示領域350内に表示される。種々の実施形態は、画像の色を調整するための種々のタイプのUIコントロールを提供する。この実施例では、露出調整UIコントロールは、スライディング軌道に沿ってスライド可能な複数の制御つまみ3130〜3150を含む、統合型スライダコントロールである。
The first stage 3105 is similar to the first stage 2005 of FIG. 20, except that the user can select to adjust the exposure setting of the
一部の実施形態では、統合型スライダコントロールをメディア編集アプリケーションで使用することにより、ユーザは、スライディング軌道に沿って幾つかの異なる制御つまみを移動させることによって、画像の幾つかの異なる特性(例えば、明度、コントラストなど)を修正することが可能となる。このマルチスライダ上の各つまみ(3130〜3150)は、画像に対して実行することが可能な、異なる調整操作に対応する。UIコントロール3130(つまみ3130)は、画像のシャドウを調整するためのものであり、UIコントロール3135及びUIコントロール3140(つまみ3135及びつまみ3140)は、画像のコントラストを調整するためのものであり、UIコントロール3145(つまみ3145)は、画像の明度を調整するためのものであり、UIコントロール3150(つまみ3150)は、画像のハイライトを調整するためのものである。ユーザは、これらのつまみのうちの1つを選択して、マルチスライダに沿った異なる位置に移動させることによって、画像に対する種々の色調整を開始することができる。この統合型スライダコントロールの様々な操作は、米国仮出願第61/607,554号で説明されている。
In some embodiments, using the integrated slider control in a media editing application allows the user to move several different control knobs along the sliding trajectory, thereby moving several different characteristics of the image (eg, , Brightness, contrast, etc.) can be corrected. Each knob (3130 to 3150) on the multi-slider corresponds to a different adjustment operation that can be performed on the image. The UI control 3130 (knob 3130) is for adjusting the shadow of the image, and the
第2ステージ3110は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。図示のように、ユーザは、海を表示する、画像上の場所を選択している。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。上述のように、ユーザが画像上の場所を選択した後、一部の実施形態の画像編集アプリケーションは、その選択された場所に関連付けられている特定のコンテンツのタイプを判定するために、一連の分析を実行する。種々の実施形態は、種々の技術を使用して、選択された場所に関連付けられているコンテンツのタイプを判定する。一部の実施形態のアプリケーションは、最初に、種々のコンテンツのタイプに関連付けられている種々の色値の範囲を定義する。例えば、一部の実施形態のアプリケーションは、シャドウに関連付けられている色値の範囲、中間色調に関連付けられている色値の範囲、及びハイライトに関連付けられている色値の範囲を定義する。次いで、このアプリケーションは、画像内の選択された場所に対応する画素のセットの色値が、特定のコンテンツのタイプに関連付けられている色値の範囲内に収まるか否かを判定し、次いで、その特定のコンテンツのタイプに関連付けられている画像上UIコントロールのセットを表示する。
The second stage 3110 shows the
種々の実施形態は、画像上UIコントロールのセットを、種々の方式で実装する。例えば、一部の実施形態のアプリケーションは、画像上UIコントロールのセットを、方向依存性UIコントロールとして実装する。これらの実施形態の一部では、アプリケーションは、UIコントロールに関連付けられている色調整操作を開始するようにユーザを導くために、各UIコントロールに関する方向矢印を表示する。ユーザは、種々の方向入力を提供することによって、種々の色調整操作を開始する。この方向入力の方向に基づいて、アプリケーションは、画像に対して特定の色調整を実行する。 Various embodiments implement a set of on-image UI controls in various ways. For example, some embodiments of the application implement a set of on-image UI controls as direction-dependent UI controls. In some of these embodiments, the application displays a directional arrow for each UI control to guide the user to initiate a color adjustment operation associated with the UI control. The user initiates various color adjustment operations by providing various direction inputs. Based on the direction of this direction input, the application performs a specific color adjustment on the image.
第2ステージ3110では、ユーザは、暗色(すなわち、低輝度値)を有する、海を表示する画面上の場所を選択しているため、このアプリケーションは、選択された場所に対応する画素の色値が、シャドウに関連付けられていることを判定する。結果として、このアプリケーションは、画像内のシャドウを調整するための画像上UIコントロール3165及び画像上UIコントロール3170(垂直軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール3165及び画像上UIコントロール3170のセットは、シャドウUIコントロール3130に対応する。一部の実施形態では、このアプリケーションはまた、シャドウUIコントロール3130がアクティブ化されていることを示すために、シャドウUIコントロール3130を強調表示する。シャドウを調整するためのUIコントロールに加えて、一部の実施形態のアプリケーションはまた、画像に関するコントラストを調整するためのコンテンツに依存しないUIコントロールのセットも表示する。これらの実施形態では、コンテンツに依存しないUIコントロールのセットは、ユーザによって選択される場所とは無関係に、常に表示される。この実施例では、アプリケーションは、画像に関するコントラストを調整するためのコンテンツに依存しないUIコントロール3155及びUIコントロール3160(水平軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール3155及び画像上UIコントロール3160のセットは、コントラストUIコントロール3135及びコントラストUIコントロール3140に対応する。一部の実施形態では、このアプリケーションはまた、コントラストUIコントロール3135及びコントラストUIコントロール3140がアクティブ化されていることを示すために、コントラストUIコントロール3135及びコントラストUIコントロール3140を強調表示する。この図には示されないが、この第2ステージ3110でのユーザは、画像に対して方向入力を提供することによって、露出調整(すなわち、コントラスト調整又はシャドウ調整)が可能である。
In the second stage 3110, the user has selected a location on the screen displaying the sea that has a dark color (i.e., a low brightness value), so that the application uses the color value of the pixel corresponding to the selected location. Determines that it is associated with the shadow. As a result, the application displays a set of on-image UI controls 3165 and on-image UI controls 3170 (displayed as two direction arrows along the vertical axis) for adjusting shadows in the image. A set of the on-
第3ステージ3115は、ユーザが、画像355上の異なる場所を選択した後の、GUI300を示す。図示のように、ユーザは、明色(すなわち、高輝度値)を有する、青空を示す画像上の場所を選択している。このアプリケーションは、この新たに選択された場所に対応する画素の色値が、ハイライトに関して定義される色値の範囲内に収まることを判定する。結果として、このアプリケーションは、画像のハイライトを調整するための画像上UIコントロール3175及び画像上UIコントロール3180(垂直軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール3175及び画像上UIコントロール3180のセットは、ハイライトUIコントロール3150に対応する。図示のように、このアプリケーションはまた、ハイライトUIコントロール3150がアクティブ化されていることを示すために、ハイライトUIコントロール3150を強調表示する。第2ステージ3110と同様に、ハイライトを調整するための画像上UIコントロールに加えて、このアプリケーションはまた、画像に関するコントラストを調整するためのコンテンツに依存しないUIコントロール3155及びUIコントロール3160のセットも表示する。このアプリケーションはまた、コントラストUIコントロール3135及びコントラストUIコントロール3140がアクティブ化されていることを示すために、コントラストUIコントロール3135及びコントラストUIコントロール3140を強調表示する。この図には示されないが、この第3ステージ3115でのユーザは、画像に対して方向入力を提供することによって、特定の色調整(すなわち、コントラスト調整又はハイライト調整)を開始することができる。
The third stage 3115 shows the
第4ステージ3120は、ユーザが、画像355上の異なる場所を選択した後の、GUI300を示す。図示のように、ユーザは、中間色調(すなわち、中輝度値)を有する、山を示す画像上の場所を選択している。アプリケーションは、この新たに選択された場所に対応する画素の色値が、中間色調に関して定義される色値の範囲内に収まることを判定する。結果として、このアプリケーションは、画像の明度を調整するための画像上UIコントロール3185及び画像上UIコントロール3190(垂直軸に沿った2つの方向の矢印として表示される)のセットを表示する。画像上UIコントロール3185及び画像上UIコントロール3190のセットは、明度UIコントロール3145に対応する。図示のように、このアプリケーションはまた、明度UIコントロール3145がアクティブ化されていることを示すために、明度UIコントロール3145を強調表示する。第2ステージ3110及び第3ステージ3115と同様に、明度を調整するための画像上UIコントロールに加えて、このアプリケーションはまた、画像に関するコントラストを調整するためのコンテンツに依存しないUIコントロール3155及びUIコントロール3160のセットも表示する。このアプリケーションはまた、コントラストUIコントロール3135及びコントラストUIコントロール3140がアクティブ化されていることを示すために、コントラストUIコントロール3135及びコントラストUIコントロール3140を強調表示する。この図には示されないが、この第4ステージ3120でのユーザは、画像に対して方向入力を提供することによって、特定の露出調整(すなわち、コントラスト調整又は明度調整)を選択することができる。
The fourth stage 3120 shows the
図31は、画像に対して種々の露出調整を実行するための、種々の画像上UIコントロールをアクティブ化する例示的操作を示す。図32、33、34、及び図35は、種々の画像上UIコントロールを操作することにより、画像に対して種々の露出調整を実行する実施例を示す。具体的には、図32は、画像に関するコントラストを調整するための画像上UIコントロールのセットを操作する例示的操作を、4つの異なるステージ3205、3210、3215、及びステージ3220で示す。 FIG. 31 illustrates an exemplary operation of activating various on-image UI controls to perform various exposure adjustments on the image. FIGS. 32, 33, 34, and 35 illustrate embodiments in which various exposure adjustments are performed on an image by manipulating various on-image UI controls. Specifically, FIG. 32 shows an exemplary operation for manipulating a set of on-image UI controls to adjust the contrast for the image at four different stages 3205, 3210, 3215, and stage 3220.
第1ステージ3205は、図31の第1ステージ3105と同一である。図示のように、ユーザは、画像355の露出設定を調整するための選択可能UI項目3125を選択している。第2ステージ3210は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、暗色を有する、海を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール3155〜3170のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像に関するコントラストを調整するためのコントラストUIコントロール3135及びコントラストUIコントロール3140に対応する、画像上UIコントロール3155及び画像上UIコントロール3160のセット、並びに、画像のシャドウを調整するためのシャドウUIコントロール3130に対応する、画像上UIコントロール3165及び画像上UIコントロール3170のセットを含む。第2ステージ3210はまた、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140、並びにシャドウUIコントロール3130が強調表示されることにより、これらのUIコントロールがアクティブ化されていることを示す点も示す。
The first stage 3205 is the same as the first stage 3105 in FIG. As shown, the user has selected a
第3ステージ3215は、ユーザが、画像355に対する方向入力を提供することによって、画像355のコントラストの調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印3225によって示されるように、ユーザの指を画像355の右にドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像355に関するコントラストを増大させるための画像上UIコントロール3155及び画像上UIコントロール3160と関連付けて、画像355に対するコントラスト調整を実行する。図示のように、画像355内の色のコントラストは、増大されている。画像355の、より暗い領域(例えば、山の領域及び海の領域)は、それらのより暗い領域の全域にわたる斜線によって示されるように、暗色化され、画像355の、より明るい領域(例えば、雲及び太陽の領域)は、それらのより明るい領域の輪郭を描く破線によって示されるように、明色化される。第3ステージ3215はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール3165及び画像上UIコントロール3170が、ディスプレイから除去されて、対応するシャドウUIコントロール3130が、もはや強調表示されないことも示す。第3ステージ3215はまた、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140が、互いに離れる方向に移動されていることも示す。
The third stage 3215 shows the
更には、GUI300はまた、画像に対して露出調整が実行された場合、選択可能UI項目3215の上部に、バーを表示する。この選択可能UI項目3215の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対してコントラスト調整を実施した後の、第3ステージ3215で、選択可能UI項目3215の上部に、バーが出現している。
Furthermore, the
第4ステージ3220は、ユーザが、矢印3230によって示されるように、ユーザの指を更に右にドラッグすることによって、画像355のコントラストを更に増大させた後の、GUI300を示す。図示のように、このステージ3220での画像355の暗色領域内の色は、画像355の暗色領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ3215での画像の暗色領域内の色よりも、更に暗色化されて示される。同様に、このステージ3220での画像355の明色領域内の色は、画像355の明色領域の輪郭を描く、更に細かい破線によって示されるように、第3ステージ3215での画像の明色領域内の色よりも、更に明色化されて示される。第4ステージ3320はまた、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140が、互いに更に離れる方向に移動されていることも示す。
The fourth stage 3220 shows the
図32は、画像のコントラストを調整するための画像上UIコントロールのセットを操作する例示的操作を示す。図33は、画像のシャドウを調整するための画像上UIコントロールのセットを操作する例示的操作を示す。具体的には、図33は、この露出調整操作を、4つの異なるステージ3305、3310、3315、及びステージ3320で示す。 FIG. 32 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust image contrast. FIG. 33 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust image shadows. Specifically, FIG. 33 illustrates this exposure adjustment operation with four different stages 3305, 3310, 3315, and stage 3320.
第1ステージ3305は、図31の第1ステージ3105と同一である。図示のように、ユーザは、画像355の露出設定を調整するための選択可能UI項目3125を選択している。第2ステージ3310は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、暗色を有する、海を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール3155〜3170のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像のコントラストを調整するためのコントラストUIコントロール3135及びコントラストUIコントロール3140に対応する、画像上UIコントロール3155及び画像上UIコントロール3160のセット、並びに、画像のシャドウを調整するためのシャドウUIコントロール3130に対応する、画像上UIコントロール3165及び画像上UIコントロール3170のセットを含む。第2ステージ3310はまた、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140、並びにシャドウUIコントロール3130が強調表示されることにより、これらのUIコントロールがアクティブ化されていることを示す点も示す。
The first stage 3305 is the same as the first stage 3105 in FIG. As shown, the user has selected a
第3ステージ3315は、ユーザが、画像355に対する方向入力を提供することによって、画像355のシャドウの調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印3325によって示されるように、画像355の底部に向けて、ユーザの指を下向きにドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像内のシャドウを暗色化するための画像上UIコントロール3170と関連付けて、画像355に対するシャドウ調整を実行する。図示のように、画像355内の暗色領域(例えば、海を示す領域)は、画像355内の海を示す領域の全域にわたる斜線によって示されるように、暗色化されている。第3ステージ3315はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール3155及び画像上UIコントロール3160が、ディスプレイから除去されて、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140が、もはや強調表示されないことも示す。第3ステージ3315はまた、対応するシャドウUIコントロール3130が、左に移動されていることも示す。
The third stage 3315 shows the
更には、GUI300はまた、画像に対して露出調整が実行された場合、選択可能UI項目3125の上部に、バーを表示する。この選択可能UI項目3125の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対してシャドウ調整を実施した後の、第3ステージ3315で、選択可能UI項目3125の上部に、バーが出現している。
Furthermore, the
第4ステージ3320は、ユーザが、矢印3330によって示されるように、ユーザの指を更に下向きにドラッグすることによって、画像355のシャドウを更に調整した後の、GUI300を示す。図示のように、このステージ3320での画像355の暗色領域(例えば、海及び山を示す領域)は、画像355内の暗色領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ3315での画像内の暗色領域内よりも、更に彩度が増大されて示される。第4ステージ3320はまた、対応するシャドウUIコントロール3130が、更に左に移動されていることも示す。
Fourth stage 3320 shows
図33は、画像のシャドウを調整するための画像上UIコントロールのセットを操作する例示的操作を示す。図34は、画像のハイライトを調整するための画像上UIコントロールのセットを操作する例示的操作を示す。具体的には、図34は、この露出調整操作を、4つの異なるステージ3405、3410、3415、及びステージ3420で示す。 FIG. 33 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust image shadows. FIG. 34 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust image highlights. Specifically, FIG. 34 illustrates this exposure adjustment operation with four different stages 3405, 3410, 3415 and a stage 3420.
第1ステージ3405は、図31の第1ステージ3105と同一である。図示のように、ユーザは、画像355の露出設定を調整するための選択可能UI項目3125を選択している。第2ステージ3410は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、明色を有する、空を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール3155、3160、3175、及び画像上UIコントロール3180のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像のコントラストを調整するためのコントラストUIコントロール3135及びコントラストUIコントロール3140に対応する、画像上UIコントロール3155及び画像上UIコントロール3160のセット、並びに、画像のハイライトを調整するためのハイライトUIコントロール3150に対応する、画像上UIコントロール3175及び画像上UIコントロール3180のセットを含む。第2ステージ3410はまた、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140、並びにハイライトUIコントロール3150が強調表示されることにより、これらのUIコントロールがアクティブ化されていることを示す点も示す。
The first stage 3405 is the same as the first stage 3105 in FIG. As shown, the user has selected a
第3ステージ3415は、ユーザが、画像355に対する方向入力を提供することによって、画像355のハイライトの調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印3425によって示されるように、画像355の底部に向けて、ユーザの指を下向きにドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像内のハイライトを暗色化するための画像上UIコントロール3180と関連付けて、画像355に対するハイライト調整を実行する。図示のように、画像355内の明色領域(例えば、太陽及び空を示す領域)は、画像355内の太陽及び空を示す領域の全域にわたる斜線によって示されるように、暗色化されている。第3ステージ3415はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール3155及び画像上UIコントロール3160が、ディスプレイから除去されて、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140が、もはや強調表示されないことも示す。第3ステージ3415はまた、対応するハイライトUIコントロール3150が、左に移動されていることも示す。
The third stage 3415 shows the
更には、GUI300はまた、画像に対して露出調整が実行された場合、選択可能UI項目3125の上部に、バーを表示する。この選択可能UI項目3125の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対してハイライト調整を実施した後の、第3ステージ3415で、選択可能UI項目3125の上部に、バーが出現している。
Furthermore, the
第4ステージ3420は、ユーザが、矢印3430によって示されるように、ユーザの指を更に下向きにドラッグすることによって、画像355のハイライトを更に調整した後の、GUI300を示す。図示のように、このステージ3420での画像355内の明色領域(例えば、太陽及び空を示す領域)は、画像355内の明色領域の全域にわたる、より高密度の斜線によって示されるように、第3ステージ3415での画像内の明色領域内よりも、更に暗色化されて示される。第4ステージ3420はまた、対応するハイライトUIコントロール3150が、更に左に移動されていることも示す。
The fourth stage 3420 shows the
図34は、画像のハイライトを調整するための画像上UIコントロールのセットを操作する例示的操作を示す。図35は、画像の全体的な明度を調整するための画像上UIコントロールのセットを操作する例示的操作を示す。具体的には、図35は、この露出調整操作を、4つの異なるステージ3505、3510、3515、及びステージ3520で示す。
FIG. 34 illustrates an exemplary operation for manipulating a set of on-image UI controls to adjust image highlights. FIG. 35 shows an exemplary operation for manipulating a set of on-image UI controls to adjust the overall brightness of the image. Specifically, FIG. 35 shows this exposure adjustment operation with four different stages 3505, 3510, 3515 and a
第1ステージ3505は、図31の第1ステージ3105と同一である。図示のように、ユーザは、画像355の露出設定を調整するための選択可能UI項目3125を選択している。第2ステージ3510は、ユーザが、画像355上の場所を選択した後の、GUI300を示す。画像355上の場所の選択は、画像を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、画像の場所にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、中間色調を有する、山を示す画像355上の場所を、その場所で指をタップすることによって選択している。この選択の結果として、画像上UIコントロール3155、3160、3185、及び画像上UIコントロール3190のセットが、画像上の選択された場所の周囲に表示される。この画像上UIコントロールのセットは、画像のコントラストを調整するためのコントラストUIコントロール3135及びコントラストUIコントロール3140に対応する、画像上UIコントロール3155及び画像上UIコントロール3160のセット、並びに、画像の全体的な明度を調整するための明度UIコントロール3145に対応する、画像上UIコントロール3185及び画像上UIコントロール3190のセットを含む。第2ステージ3510はまた、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140、並びに明度UIコントロール3145が強調表示されることにより、これらのUIコントロールがアクティブ化されていることを示す点も示す。
The first stage 3505 is the same as the first stage 3105 in FIG. As shown, the user has selected a
第3ステージ3515は、ユーザが、画像355に対する方向入力を提供することによって、画像355の全体的な明度の調整を開始した後の、GUI300を示す。この方向入力は、特定の方向に、タッチ若しくはニアタッチ感応スクリーンを有する装置上でユーザの指をドラッグすることによって、又はカーソルをドラッグすることによって、提供することができる。この実施例では、ユーザは、矢印3525によって示されるように、画像355の頂部に向けて、ユーザの指を上向きにドラッグすることによって、方向入力を提供する。アプリケーションは、この方向入力を、画像の明度を増大させる(すなわち、画像の画素の輝度値を増大させる)ための画像上UIコントロール3185と関連付けて、画像355に対する明度調整を実行する。図示のように、画像355の全体が、画像355内の対象物の輪郭を描く破線によって示されるように、明色化されている。第3ステージ3515はまた、アプリケーションが、方向入力を、画像上UIコントロールの1つのセットに関連付けた後には、非アクティブ化された画像上UIコントロール3155及び画像上UIコントロール3160が、ディスプレイから除去されて、対応するコントラストUIコントロール3135及びコントラストUIコントロール3140が、もはや強調表示されないことも示す。第3ステージ3515はまた、対応する明度UIコントロール3145が、左に移動されていることも示す。
The third stage 3515 shows the
更には、GUI300はまた、画像に対して露出調整が実行された場合、選択可能UI項目3125の上部に、バーを表示する。この選択可能UI項目3125の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して明度調整を実施した後の、第3ステージ3415で、選択可能UI項目3125の上部に、バーが出現している。
Furthermore, the
第4ステージ3520は、ユーザが、矢印3530によって示されるように、ユーザの指を更に上向きにドラッグすることによって、画像355の明度を更に調整した後の、GUI300を示す。図示のように、このステージ3520での画像355は、画像355の対象物の輪郭を描く、更に細かい破線によって示されるように、第3ステージ3515での画像よりも、更に明色化されて示される。第4ステージ3520はまた、対応する明度UIコントロール3145が、更に左に移動されていることも示す。
The
図36は、画像上の場所のユーザ選択に基づいて、画像内のコントラスト、明度、シャドウ、及びハイライトを調整するための画像上UIコントロールのセットを提供するためのプロセス3600を、概念的に示す。一部の実施形態では、このプロセスは、画像編集アプリケーションによって実行される。最初の3つの操作3605、3610、及び3615は、図19のプロセス1900の、最初の3つの操作1905、1910、及び1915と同一である。このプロセスは、画像上の場所の選択を(3605で)受け取ることによって開始する。次いで、このプロセスは、画像上の選択された場所に対応する、画素のセットの色値を(3610で)取得する。一部の実施形態では、この画素のセットは、選択された場所の近くに位置する画素である。
FIG. 36 conceptually illustrates a
次に、このプロセスは、取得された色値に対する一連の分析を(3615で)実行する。一部の実施形態では、各分析は、取得された色値に基づいて、選択された場所が特定のコンテンツのタイプに関連付けられているか否かを判定する。例えば、この一連の分析は、選択された場所が暗色に関連付けられているか否かを判定するための分析、選択された場所が明色に関連付けられているか否かを判定するための分析、及び、選択された場所が中間色調に関連付けられているか否かを判定するための分析を含む。 The process then performs (at 3615) a series of analyzes on the acquired color values. In some embodiments, each analysis determines whether the selected location is associated with a particular content type based on the obtained color values. For example, the series of analyzes includes an analysis for determining whether a selected location is associated with a dark color, an analysis for determining whether a selected location is associated with a light color, and , Including an analysis to determine whether the selected location is associated with a midtone.
次いで、このプロセスは、一連の分析からの結果に基づいて、選択された場所が暗色に関連付けられているか否かを(3620で)判定する。一部の実施形態では、このプロセスは、取得された色値が低い輝度(すなわち、明度)レベルを有する場合に、その選択された場所が暗色に関連付けられていることを判定する。選択された場所が暗色に関連付けられている場合には、このプロセスは、画像内のシャドウを調整するためのUIコントロールのセットを(3625で)提供する。一部の実施形態では、このシャドウを調整するためのUIコントロールのセットは、画像上の選択された場所の周囲に表示される。 The process then determines (at 3620) whether the selected location is associated with a dark color based on the results from the series of analyses. In some embodiments, the process determines that the selected location is associated with a dark color if the acquired color value has a low luminance (ie, lightness) level. If the selected location is associated with a dark color, this process provides (at 3625) a set of UI controls for adjusting shadows in the image. In some embodiments, a set of UI controls for adjusting this shadow is displayed around a selected location on the image.
次いで、このプロセスは、一連の分析からの結果に基づいて、選択された場所が明色に関連付けられているか否かを(3630で)判定する。一部の実施形態では、このプロセスは、取得された色値が高い輝度(すなわち、明度)レベルを有する場合に、その選択された場所が明色に関連付けられていることを判定する。選択された場所が明色に関連付けられている場合には、このプロセスは、画像内のハイライトを調整するためのUIコントロールのセットを(3635で)提供する。一部の実施形態では、このハイライトを調整するためのUIコントロールのセットは、画像上の選択された場所の周囲に表示される。 The process then determines (at 3630) whether the selected location is associated with a light color based on the results from the series of analyses. In some embodiments, the process determines that the selected location is associated with a light color if the acquired color value has a high luminance (ie, lightness) level. If the selected location is associated with a light color, this process provides (at 3635) a set of UI controls for adjusting highlights in the image. In some embodiments, a set of UI controls for adjusting this highlight is displayed around a selected location on the image.
次いで、このプロセスは、一連の分析からの結果に基づいて、選択された場所が中間色調に関連付けられているか否かを(3640で)判定する。一部の実施形態では、このプロセスは、取得された色値が、平均又は中央値の輝度(すなわち、明度)レベルを有する場合に、その選択された場所が中間色調に関連付けられていることを判定する。選択された場所が中間色調に関連付けられている場合には、このプロセスは、画像内の明度を調整するためのUIコントロールのセットを(3645で)提供する。一部の実施形態では、この明度を調整するためのUIコントロールのセットは、画像上の選択された場所の周囲に表示される。 The process then determines (at 3640) whether the selected location is associated with a midtone based on the results from the series of analyses. In some embodiments, the process determines that the selected location is associated with a midtone when the acquired color value has an average or median luminance (ie, brightness) level. judge. If the selected location is associated with a midtone, this process provides (at 3645) a set of UI controls for adjusting the brightness in the image. In some embodiments, a set of UI controls for adjusting this brightness is displayed around a selected location on the image.
次に、このプロセスは、画像全体に関するコントラストを調整するためのUIコントロールのセットを(3650で)提供する。一部の実施形態では、このプロセスは、ユーザによって選択される画像上の場所とは無関係に、この画像全体に関するコントラストを調整するためのUIコントロールのセットを、常に提供する。 The process then provides (at 3650) a set of UI controls for adjusting the contrast for the entire image. In some embodiments, this process always provides a set of UI controls for adjusting the contrast for this entire image, regardless of the location on the image selected by the user.
次いで、このプロセスは、方向入力が受け取られるか否かを(3655で)判定する。方向入力が受け取られる場合には、このプロセスは、その方向入力に基づいて、画像に対する露出調整操作を(3660で)実行する。次いで、このプロセスは、画像上UIコントロールが選択解除されるか否かを(3665で)判定する。一部の実施形態では、画像上UIコントロールのセットは、タッチ又はニアタッチ感応スクリーンを有する装置から、指を引き上げること(又は、ボタンを解除すること)によって、選択解除することができる。 The process then determines (at 3655) whether a directional input is received. If a directional input is received, the process performs an exposure adjustment operation on the image (at 3660) based on the directional input. The process then determines (at 3665) whether the on-image UI control is deselected. In some embodiments, the set of on-image UI controls can be deselected by lifting a finger (or releasing a button) from a device having a touch or near touch sensitive screen.
受け取られる方向入力が存在しないことを、このプロセスが(3655で)判定する場合には、このプロセスはまた、操作3665に進み、画像上UIコントロールが選択解除されるか否かを判定する。画像上UIコントロールのセットが選択解除されない場合には、このプロセスは、方向入力が受け取られるか否かを判定するために、3655に戻る。その一方で、画像上UIコントロールのセットが選択解除される場合には、このプロセスは終了する。
If the process determines (at 3655) that there are no directional inputs to be received, the process also proceeds to
III.色バランスコントロール
コンテンツのタイプに関連付けられている画像の一部分のみを調整するためのUIコントロールを提供することに加えて、一部の実施形態の画像編集アプリケーションはまた、画像の色バランスを調整するためのUIコントロールのセットも提供する。非常に多くの場合、種々の照明条件下で画像を取り込むことは、画像の品質に悪影響を及ぼす可能性がある。一般的なアーチファクトは、画像が取り込まれている照明条件によって作り出される、画像内の全体的な望ましくない色かぶりである。例えば、白熱灯の下で取り込まれる画像は、多くの場合、黄色味がかった色を有するため、中立的な照明条件下では白色に見えるはずの対象物は、その画像内では黄色に見える。それゆえ、色バランス調整(別名、ホワイトバランス調整)は、画像内の対象物が自然で心地よく見えるように、画像の全体的な色を補正するための操作である。
III. Color Balance Control In addition to providing UI controls for adjusting only the portion of the image associated with the type of content, the image editing application of some embodiments also adjusts the color balance of the image. It also provides a set of UI controls. Very often, capturing an image under various lighting conditions can adversely affect the quality of the image. A common artifact is the overall undesirable color cast in an image created by the lighting conditions in which the image is captured. For example, an image captured under an incandescent lamp often has a yellowish color, so an object that should appear white under neutral lighting conditions appears yellow in the image. Therefore, color balance adjustment (also known as white balance adjustment) is an operation for correcting the overall color of an image so that an object in the image looks natural and comfortable.
一部の実施形態では、このアプリケーションは、画面上の場所をユーザが選択することを可能にする、色バランスUIコントロールを提供する。次いで、このアプリケーションは、選択された場所に対応する画素の色値を取得して、その画素の色値を、設定された基準色(例えば、灰色、理想的な肌色など)に変更する色調整を決定する。この色調整に基づいて、アプリケーションは、画像内の各色を異なる色にマッピングする、色空間変換を生成する。次いで、このアプリケーションは、画像内の全ての画素に、その色空間変換を適用する。 In some embodiments, the application provides a color balance UI control that allows the user to select a location on the screen. The application then obtains the color value of the pixel corresponding to the selected location and changes the color value of the pixel to a set reference color (eg, gray, ideal skin color, etc.) To decide. Based on this color adjustment, the application generates a color space transformation that maps each color in the image to a different color. The application then applies the color space transformation to every pixel in the image.
種々の実施形態は、この色バランス調整操作のための種々の基準色を提供する。例えば、一部の実施形態のアプリケーションは、基準色として灰色を設定する。これらの実施形態では、ユーザは、実物では灰色として現われる対象物を表示する、画像内の場所を選択することによって、色バランスUIを通じて画像の色バランスを調整する。 Various embodiments provide various reference colors for this color balance adjustment operation. For example, the application of some embodiments sets gray as the reference color. In these embodiments, the user adjusts the color balance of the image through the color balance UI by selecting a location in the image that displays objects that appear to be gray in nature.
図37は、色バランスUIツールを通じて、画像の色バランスを調整する実施例を、4つの異なるステージ3705、3710、3715、及びステージ3720で示す。 FIG. 37 shows an example of adjusting the color balance of an image through a color balance UI tool, with four different stages 3705, 3710, 3715, and stage 3720.
第1ステージ3705は、図3の第2ステージ310と同様であるが、ただし、この第1ステージ3705でのユーザは、種々の色バランスツールのセットの表示をトリガするために、色バランス選択可能UI項目3725を選択したところである。図示のように、ユーザは、画像表示領域345内に表示するための画像355を選択している。一部の実施形態では、色バランスツールをトリガするための選択可能UI項目3725は、ユーザが(メニューバー340内の選択可能UI項目342を選択することによって)色調整ビューを選択した場合に、UIコントロール表示領域350内部に表示される。選択可能UI項目3725の選択は、選択可能UI項目3725を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目3725にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The first stage 3705 is similar to the second stage 310 of FIG. 3, except that the user at the first stage 3705 can select a color balance to trigger the display of a set of various color balance tools. The
図示のように、ユーザが選択可能UI項目3725を選択した後に、色バランスツール表示領域3730が、UIコントロール表示領域350の上部に出現する。色バランスツール表示領域3730は、種々の色バランスツールを開始するための、幾つかの選択可能UI項目を含む。例えば、色バランスツール表示領域3730は、「本来のホワイトバランス」ツールを開始するための、選択可能UI項目3735を含む。この「本来のホワイトバランス」ツールは、画像を取り込んだ装置のホワイトバランス設定を使用して、その画像のホワイトバランスを調整する。色バランスツール表示領域3730はまた、種々の事前設定ホワイトバランスツールを開始するための、選択可能UI項目のセットも含む。事前設定ホワイトバランスツールは、昼光、曇り、フラッシュ、日陰、白熱、及び蛍光照明条件などの、予め定義された種々の照明条件に基づいて、画像のホワイトバランスを調整する。更には、色バランスツール表示領域3730はまた、カスタムホワイトバランスツールを開始するための選択可能UI項目3745、及びカスタム肌色バランスツールを開始するための選択可能UI項目3740などの、2つのカスタム色バランスツールを開始するための選択可能UI項目も含む。
As illustrated, after the user selects a
カスタムホワイトバランスツールは、ユーザが、中立的な照明条件下では白色又は灰色であると想定される、画像上の場所を選択することを可能にする。次いで、画像編集アプリケーションは、その色値が白色を表すようにその場所の色値を調整するためのアルゴリズム又は数学的方程式を定義する。次いで、このアプリケーションは、画像内の画素の残部に、同じアルゴリズム又は数学的方程式を適用する。 The custom white balance tool allows the user to select a location on the image that is assumed to be white or gray under neutral lighting conditions. The image editing application then defines an algorithm or mathematical equation for adjusting the color value of the location so that the color value represents white. The application then applies the same algorithm or mathematical equation to the rest of the pixels in the image.
第2ステージ3710は、ユーザが、カスタムホワイトバランスツールを開始するための選択可能UI項目3745を選択した後の、GUI300を示す。選択可能UI項目3745の選択は、選択可能UI項目3745を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目3745にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、選択可能UI項目3745の強調表示によって示されるように、選択可能UI項目3745を選択したところである。結果として、カスタムホワイトバランスUIコントロール3755が、画像上に表示される。
The second stage 3710 shows the
カスタムホワイトバランスUIコントロール3755が、画像上に出現すると、このアプリケーションは、画像355の色値を調整することによって、ホワイトバランス操作を実行する。具体的には、このアプリケーションは、カスタムホワイトバランスUIコントロール3755を通じて選択された場所に対応するか、又はその場所の近傍の、画素のセットの色値のうちの1つ以上をサンプル抽出する。次いで、このアプリケーションは、その色値を最も近い灰色に変換するための、(パラメータのセットを入力として取得する)アルゴリズム又は数学的方程式を考案し、次いで、画像355内の全ての画素に、その同じアルゴリズム又は数学的方程式を適用する。一部の実施形態では、このアプリケーションは、画像に色バランス調整を適用する前に、画像355の色値をYCC色空間(例えば、YIQ色空間)に変換する。
When custom white
種々の実施形態は、カスタムホワイトバランスUIコントロールを、種々の方式で実装する。この実施例では、カスタムホワイトバランスUIコントロールは、円として出現し、その円の中央に十字線を有する。ユーザは、この十字線が、中立的な照明条件下では白色又は灰色であると想定される、画像355内の対象物の上に存在するように、カスタムホワイトバランスUIコントロール3755を画像355の領域内に配置することによって、画像355上の場所を選択することができる。
Various embodiments implement custom white balance UI control in various ways. In this example, the custom white balance UI control appears as a circle and has a crosshair in the center of the circle. The user moves the custom white
一部の実施形態では、このアプリケーションは、カスタムホワイトバランスUIコントロール3755の外側の画像の部分に関する、編集済みの(すなわち、カスタムホワイトバランスUIコントロール3755の現在の場所に基づいて、画像がホワイトバランス調整される場合の)バージョンを表示することによって、このホワイトバランス調整のプレビューを提供する。これらの実施形態では、カスタムホワイトバランスUIコントロール3755の内側にある画像の部分は、未編集のまま維持されることにより、ユーザは、編集済みバージョンと未編集バージョンとの差異を視認することが可能となる。この第2ステージ3710で示すように、カスタムホワイトバランスUIコントロール3755の外側にある画像355の部分のみにわたる斜線によって示されるように、カスタムホワイトバランスUIコントロール3755の外側にある画像355の部分は、調整されているが、その一方で、カスタムホワイトバランスUIコントロール3755の内側にある画像355の部分は、影響を受けないまま維持される。他の実施形態では、カスタムホワイトバランスUIコントロール3755の内側にある画像の部分のみが編集され、カスタムホワイトバランスUIコントロール3755の外側の画像の部分は、未編集のまま維持される。更に、他の実施形態では、画像全体が編集される。
In some embodiments, the application may edit the white balance adjustment for the portion of the image outside the custom white balance UI control 3755 (ie, based on the current location of the custom white balance UI control 3755). Provide a preview of this white balance adjustment by displaying the version (if any). In these embodiments, the portion of the image inside the custom white
このプレビュー機能性に加えて、一部の実施形態のアプリケーションはまた、カスタムホワイトバランスUIコントロール3755の内側の画像の部分をズームインすることにより、画像内の白色又は灰色の場所をユーザが正確に選択することを支援する。図示のように、カスタムホワイトバランスUIコントロール3755の内側にある画像355の部分は、その領域が、第1ステージ3705で見えるものよりも遙かに大きい鳥を示すように、ズームインされている。
In addition to this preview functionality, some embodiment applications also allow the user to accurately select a white or gray location in the image by zooming in on the portion of the image inside the custom white
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像355に対して色バランス調整を実施した後の、第2ステージ320で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
上述のように、一部の実施形態のアプリケーションは、ユーザが、カスタムホワイトバランスUIコントロール3755を、画像上の種々の場所に移動させることを可能にする。第3ステージ3715は、ユーザがカスタムホワイトバランスUIコントロール3755を選択しているが、カスタムホワイトバランスUIコントロール3755の移動を開始していないことを示す、過渡的ステージである。第4ステージ3720は、ユーザが、カスタムホワイトバランスUIコントロール3755を、画像上の異なる場所に移動させた後の、GUI300を示す。一部の実施形態では、ユーザは、画像上の異なる場所に、ユーザの指をドラッグするか、又はカーソルをドラッグすることによって、カスタムホワイトバランスUIコントロール3755を移動させることができる。図示のように、ユーザは、矢印によって示されるように、雲を示す画像355の領域に、カスタムホワイトバランスUIコントロール3755を移動させている。この新たな場所へのカスタムホワイトバランスUIコントロール3755の移動の結果として、アプリケーションは、画像の色値を再調整する。一部の実施形態では、アプリケーションは、このカスタムホワイトバランスUIコントロール3755を通じて選択された場所に対応する、別の画素のサンプルを採取する。次いで、このアプリケーションは、その色値を最も近い灰色に変換するための、(パラメータのセットを入力として取得する)アルゴリズム又は数学的方程式を考案し、次いで、画像355内の全ての画素に、その同じアルゴリズム又は数学的方程式を適用する。図示のように、カスタムホワイトバランスUIコントロール3755の外側の画像の部分は、画像355のその部分の全域にわたる異なる斜線のセットによって示されるように、再調整されて示される。
As described above, some embodiments of the application allow the user to move the custom white
図37に示される上記の実施例では、このアプリケーションは、色バランスコントロール3755が画像上に出現した直後に、画像に対する色バランス操作を実行し、ユーザが色バランスUIコントロール3755を移動させるたびに、画像を再調整する。一部の他の実施形態では、このアプリケーションが実行される装置の処理能力を節約するために、このアプリケーションは、ユーザから更なる入力(例えば、「色バランス実行」選択可能UI項目の選択、画像上での追加タップなど)を受け取る際にのみ、画像に対する色バランス操作を実行する。このように、画像は、ユーザが色バランスUIコントロール3755を移動させるたびに調整されることがなく、ユーザが場所を確定して、更なる入力を提供する場合にのみ、調整される。
In the above example shown in FIG. 37, the application performs a color balance operation on the image immediately after the
図38は、一部の実施形態の画像編集アプリケーションによって実行される、画像に関する例示的なホワイトバランス操作を示す。図示のように、色空間3800は、画像の色値が定義される色空間を表す。この特定の色空間は、3つの軸、すなわち、赤及び緑の色値の範囲を表す軸3820、青及び黄の色値の範囲を表す軸3830、及び種々の濃淡の灰色の範囲(すなわち、輝度値の範囲)を表す垂直軸3810に沿って定義され、底面の場所3840は黒色を表し、上面の場所3850は白色を表す。色が明るくなるほど、その色は、この色空間の円柱3800の底面から遠くに出現する。
FIG. 38 illustrates an example white balance operation for an image performed by the image editing application of some embodiments. As shown,
領域3860は、画像の全ての色値を表す。領域3860は、色空間3800内の1つの小さい領域内に位置するように示されるが、画像の色値は、色空間3800の、多くの異なる領域を占める場合がある。ユーザが、ホワイトバランスUIコントロールを使用して、画像上の場所を選択すると、このアプリケーションは、選択された場所に対応する画素の色値を取得する。この図では、色3880は、ホワイトバランスUIコントロールによって特定された場所に対応する、画素の色を表す。次いで、このアプリケーションは、この色空間内部で、選択された色値に最も近い灰色(例えば、3890)の位置を特定し、選択された色値3880を灰色値3890に修正する色調整を決定する。次いで、このアプリケーションは、決定された色調整に基づいて、色空間変換を生成する。一部の実施形態では、この色空間変換は、決定された色調整に基づいて生成される、M×M行列(例えば、3×3行列)である。一部の実施形態では、この色空間変換は、色空間3800内の各色を、歪められた色空間内の別の色にマッピングする。図38の色空間3805は、この色空間変換によって色空間3800が変換された後の、色空間を表す。図示のように、色空間3800内の色3880は、色空間3805内の色3885にマッピングされ、色空間3800内の別の色3870は、色空間3805内の色3875にマッピングされる。一部の実施形態では、このアプリケーションは、この色空間変換を画像内の各画素に適用することによって、選択された場所に基づいて、画像のホワイトバランスを調整する。
図37は、カスタムホワイトバランスUIコントロールを使用して、カスタムホワイトバランス操作を実行する、実施例を示す。カスタムホワイトバランス操作に加えて、一部の実施形態のアプリケーションはまた、カスタム肌色バランス操作も提供する。このカスタム肌色バランス操作は、カスタムホワイトバランス操作と同様であるが、ただし、中立の光の下で白い色であると想定される、画像上の場所を選択する代わりに、ユーザは、人の顔を表示する画像上の場所を選択する。これらの実施形態では、アプリケーションは、理想的な顔の色のセットを定義する。例えば、一部の実施形態のアプリケーションは、昼光の条件下での理想的な顔の色、及び人工光の条件での理想的な顔の色を定義することができる。ユーザが、画像上の場所を選択すると、このアプリケーションは、選択された場所に対応する画素の色値をサンプル抽出し、その画素の色値を調整して理想的な顔の色にするための調整を定義する。次いで、このアプリケーションは、画像内の全ての画素に、その同じ調整を適用する。 FIG. 37 illustrates an example of performing a custom white balance operation using a custom white balance UI control. In addition to custom white balance operations, some embodiments of the application also provide custom skin color balance operations. This custom skin balance operation is similar to the custom white balance operation, except that instead of selecting a location on the image that is assumed to be white under neutral light, the user can Select a location on the image to display. In these embodiments, the application defines an ideal facial color set. For example, an application of some embodiments may define an ideal facial color under daylight conditions and an ideal facial color under artificial light conditions. When the user selects a location on the image, this application samples the color value of the pixel corresponding to the selected location and adjusts the color value of that pixel to the ideal facial color. Define adjustments. The application then applies that same adjustment to every pixel in the image.
図39は、カスタム肌色バランス操作を実行する実施例を、4つの異なるステージ3905、3910、3915、及びステージ3920で示す。 FIG. 39 shows an example of performing a custom flesh color balance operation with four different stages 3905, 3910, 3915, and stage 3920. FIG.
第1ステージ3905は、図37の第1ステージ3705と同様であるが、ただし、ユーザは、編集するための別の画像を選択している。図示のように、ユーザは、画像表示領域345内に表示するための画像3955を選択している。画像3955は、前景に立っている人物3930、及び背景に立っている別の人物3935の写真である。画像3955はまた、画像の右側に、山及び海も示す。図37の第1ステージ3705と同様に、ユーザは、選択可能UI項目3725を選択することにより、ホワイトバランスツール表示領域3730を開いている。
The first stage 3905 is similar to the first stage 3705 of FIG. 37 except that the user has selected another image for editing. As shown, the user has selected an
第2ステージ3910は、ユーザが、カスタム肌色バランスツールを開始するための選択可能UI項目3740を選択した後の、GUI300を示す。選択可能UI項目3740の選択は、選択可能UI項目3740を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、選択可能UI項目3740にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。図示のように、ユーザは、選択可能UI項目3740の強調表示によって示されるように、選択可能UI項目3740を選択したところである。結果として、カスタム肌色バランスUIコントロール3925が、画像上に表示される。
The second stage 3910 shows the
カスタム肌色バランスUIコントロール3925が、画像上に出現すると、このアプリケーションは、画像3955の色値を調整することによって、肌色バランス操作を実行する。具体的には、このアプリケーションは、カスタム肌色バランスUIコントロール3925を通じて選択された場所に対応するか、又はその場所の近傍の、画素のセットの色値のうちの1つ以上をサンプル抽出する。次いで、このアプリケーションは、その色値を予め定義された理想的な顔の色に変換するための、(パラメータのセットを入力として取得する)アルゴリズム又は数学的方程式を考案し、次いで、画像3955内の全ての画素に、その同じアルゴリズム又は数学的方程式を適用する。
When the custom skin color
種々の実施形態は、カスタム肌色バランスUIコントロールを、種々の方式で実装する。この実施例では、カスタム肌色バランスUIコントロール3925は、円として出現し、その円の中央に十字線を有する。ユーザは、この十字線が画像3955内の人の顔の上に存在するように、カスタム肌色バランスUIコントロール3925を画像3955の領域内に配置する(又は移動させる)ことによって、画像3955上の場所を選択することができる。
Various embodiments implement custom skin color balance UI control in various ways. In this embodiment, the custom skin color
一部の実施形態では、このアプリケーションは、顔検出アルゴリズムを使用して、画像内の人の顔を検出し、その画像内に検出される第1の人の顔の上に、カスタム肌色バランスUIコントロール3925を配置する。この第2ステージ3910で示すように、カスタム肌色バランスUIコントロール3925は、背景に立っている人の顔の上に出現する。
In some embodiments, the application uses a face detection algorithm to detect a person's face in the image and places a custom skin color balance UI on the first person's face detected in the image. A
カスタムホワイトバランスUIコントロールと同様に、一部の実施形態のアプリケーションは、カスタム肌色バランスUIコントロール3925の外側の画像の部分に関する、その画像の編集済みの(すなわち、カスタム肌色バランスUIコントロール3925の現在の場所に基づいて、画像が肌色バランス調整される場合の)バージョンを表示することによって、この肌色バランス調整のプレビューを提供する。これらの実施形態では、カスタム肌色バランスUIコントロール3925の内側にある画像の部分は、未編集のまま維持されることにより、ユーザは、編集済みバージョンと未編集バージョンとの差異を視認することが可能となる。この第2ステージ3910で示すように、カスタム肌色バランスUIコントロール3925の外側にある画像3955の部分のみにわたる斜線によって示されるように、カスタム肌色バランスUIコントロール3925の外側にある画像3955の部分は、調整されているが、その一方で、カスタム肌色バランスUIコントロール3925の内側にある画像3955の部分は、影響を受けないまま維持される。他の実施形態では、カスタム肌色バランスUIコントロール3925の内側にある画像の部分のみが編集され、カスタム肌色バランスUIコントロール3925の外側の画像の部分は、未編集のまま維持される。更に、他の実施形態では、画像全体が編集される。
Similar to the custom white balance UI control, some embodiments of the application may have edited the image for that portion of the image outside of the custom skin color balance UI control 3925 (ie, the current skin of the custom skin balance UI control 3925). Provide a preview of this skin color balance adjustment by displaying the version (if the image is skin tone balanced) based on location. In these embodiments, the portion of the image inside the custom skin color
このプレビュー機能性に加えて、一部の実施形態のアプリケーションはまた、カスタム肌色バランスUIコントロール3925の内側の画像の部分をズームインすることにより、人の顔を表示する画像内の場所を、ユーザが正確に選択することを支援する。図示のように、カスタム肌色バランスUIコントロール3925の内側にある画像355の部分は、その領域が、背景に立っている人の顔のより多くの詳細を示すように、ズームインされている。
In addition to this preview functionality, the application of some embodiments also allows the user to zoom in on the portion of the image inside the custom skin
更には、GUI300はまた、画像に対して色調整が実行された場合、選択可能UI項目342の上部に、バーを表示する。この選択可能UI項目342の上部のバーは、ユーザが画像に対していずれのタイプの調整を実行したかを示すように、可視の状態のまま維持される。図示のように、ユーザが画像3955に対してカスタム肌色バランス操作を実施した後の、第2ステージ320で、選択可能UI項目342の上部に、バーが出現している。
Furthermore, the
上述のように、一部の実施形態のアプリケーションは、ユーザが、カスタム肌色バランスUIコントロール3925を、画像上の種々の場所に移動させることを可能にする。顔検出アルゴリズムの助けにより、このアプリケーションは、画像内の人の顔の位置を特定することが可能である。しかしながら、画像が幾つかの顔を含む場合、ユーザは、アプリケーションによって選択された人物の顔に基づいて肌色バランス調整を行うことを、望まない可能性があり、むしろ、ユーザは、画像内の別の人物の顔に基づいて肌色バランス調整を行うことを望む可能性がある。第2ステージ3910は、アプリケーションが、背景の人物の顔(アプリケーションが、顔検出アルゴリズムを使用して検出した第1の顔)の上に、カスタム肌色バランスUIコントロール3925を自動的に配置することを示す。しかしながら、背景の人物ではなく、前景の人物が、この写真内での実際の対象点である。それゆえ、移動可能なカスタム肌色バランスUIコントロール3925は、対象となる顔の正しい場所を、ユーザが指定することを可能にする。
As described above, the application of some embodiments allows the user to move the custom skin color
第3ステージ3915は、ユーザがカスタム肌色バランスUIコントロール3925を選択しているが、カスタム肌色バランスUIコントロール3925の移動を開始していないことを示す、過渡的ステージである。第4ステージ3920は、ユーザが、カスタム肌色バランスUIコントロール3925を、画像上の異なる場所に移動させた後の、GUI300を示す。一部の実施形態では、ユーザは、画像上の異なる場所に、ユーザの指をドラッグするか、又はカーソルをドラッグすることによって、カスタム肌色バランスUIコントロール3925を移動させることができる。図示のように、ユーザは、前景の人物の顔を表示する画像3955の領域に、カスタム肌色バランスUIコントロール3925を移動させている。この新たな場所へのカスタム肌色バランスUIコントロール3925の移動の結果として、アプリケーションは、画像の色値を再調整する。一部の実施形態では、アプリケーションは、このカスタム肌色バランスUIコントロール3925を通じて選択された場所に対応する、別の画素のサンプルを採取する。次いで、このアプリケーションは、その色値を予め定義された理想的な顔の色に変換するための、(パラメータのセットを入力として取得する)アルゴリズム又は数学的方程式を考案し、次いで、画像3955内の全ての画素に、その同じアルゴリズム又は数学的方程式を適用する。図示のように、カスタム肌色バランスUIコントロール3925の外側の画像の部分は、画像3955のその部分の全域にわたる異なる斜線のセットによって示されるように、再調整されて示される。
The third stage 3915 is a transitional stage indicating that the user has selected the custom skin color
図39に示される上記の実施例では、このアプリケーションは、色バランスコントロール3925が画像上に出現した直後に、画像に対する色バランス操作を実行し、ユーザが色バランスUIコントロール3925を移動させるたびに、画像を再調整する。一部の他の実施形態では、このアプリケーションが実行される装置の処理能力を節約するために、このアプリケーションは、ユーザから更なる入力(例えば、「色バランス実行」選択可能UI項目の選択、画像上での追加タップなど)を受け取る際にのみ、画像に対する色バランス操作を実行する。このように、画像は、ユーザが色バランスUIコントロール3925を移動させるたびに調整されることがなく、ユーザが場所を確定して、更なる入力を提供する場合にのみ、調整される。
In the above example shown in FIG. 39, the application performs a color balance operation on the image immediately after the
図40は、一部の実施形態の画像編集アプリケーションによって実行される、画像に関する例示的な肌色バランス操作を示す。一部の実施形態では、このアプリケーションは、肌色バランス操作を実行する前に、最初に、色値が定義される色空間(例えば、RGB色空間)からYCC色空間(例えば、YIQ色空間)に、画像の色値を変換する。RGB色空間からYIQ色空間への変換は、最初に、RGB色空間内の色値に対して約1/4のgammaを適用し、次いで、3×3行列を適用して、その色値をYIG色空間に変換することによって、実行することができる。図示のように、色空間4000は、画像の色値が変換されるYCC色空間を表す。この特定の色空間は、3つの軸、すなわち、赤及び緑の色値の範囲を表す軸4020、青及び黄の色値の範囲を表す軸4030、及び種々の濃淡の灰色の範囲(すなわち、輝度値の範囲)を表す垂直軸4010に沿って定義され、底面の場所4040は黒色を表し、上面の場所4050は白色を表す。色が明るくなるほど、その色は、この色空間の円柱4000の底面から遠くに出現する。
FIG. 40 illustrates an exemplary skin color balance operation for an image performed by the image editing application of some embodiments. In some embodiments, the application first changes from a color space (eg, RGB color space) in which color values are defined to a YCC color space (eg, YIQ color space) before performing a skin color balance operation. , Convert the color value of the image. The conversion from the RGB color space to the YIQ color space first applies about 1/4 gamma to the color values in the RGB color space, and then applies a 3 × 3 matrix to convert the color values. This can be done by converting to the YIG color space. As illustrated, the
領域4060は、画像の全ての色値を表す。領域4060は、色空間4000内の1つの小さい領域内に位置するように示されるが、一部の他の画像の色値は、色空間4000の、多くの異なる領域を占める場合がある。ユーザが、肌色バランスUIコントロールを使用して、画像上の場所を選択すると、このアプリケーションは、選択された場所に対応する画素の色値を取得する。この図では、色4080は、ホワイトバランスUIコントロールによって特定された場所に対応する、画素の色を表す。
一部の実施形態では、このアプリケーションは、2つの異なる理想的な肌色を定義し、一方は、昼光の条件下で理想的な肌色であり、他方は、人工光の条件下で理想的な肌色である。一部の実施形態のアプリケーションは、画像が昼光の下で取り込まれていたか、又は人工光の下で取り込まれていたかを検出するために、画像に対して分析を実行し、この操作に関して、対応する理想的な肌色を選択する。 In some embodiments, this application defines two different ideal skin colors, one is ideal skin color under daylight conditions and the other is ideal under artificial light conditions. It is skin tone. The application of some embodiments performs an analysis on the image to detect whether the image was captured under daylight or artificial light, and for this operation, Select the corresponding ideal skin color.
このアプリケーションは、YCC色空間4000内部で、理想的な肌色4090を特定する。次いで、このアプリケーションは、理想的な肌色値4090と取得された色値4080との差異に基づいて、色空間変換を決定する。一部の実施形態では、この色空間変換は、色空間4000内の各色を、歪められた色空間内の別の色にマッピングする。この色空間変換は、全ての角度から白/黒の軸4010に向けて、本質的に色空間を圧縮する方式で、色値を調整する。換言すれば、このアプリケーションは、より高い彩度を有する色値(すなわち、白/黒の軸4010から、より遠く離れた色値)に対して、より大きい調整を実行し、より低い彩度を有する色値(すなわち、白/黒の軸4010に、より近接する色値)に対して、より小さい調整を実行する。一部の実施形態では、このアプリケーションは、白/黒の軸4010に沿って位置する色値(すなわち、種々の濃淡の灰色)を調整しない。
This application identifies an
図40の色空間4005は、この色空間変換によって色空間4000が変換された後の、色空間を表す。図示のように、色空間4000内の色4080は、色空間4005内の色4085にマッピングされ、色空間4000内の色4070は、色空間4005内の色4075にマッピングされ、色空間4000内の別の色4062は、色空間4005内の色4065にマッピングされる。図示のように、色4062は、色空間4000内の色4070よりも、垂直軸4010から遠く離れている。それゆえ、色4062は、色4070よりも大きい距離(すなわち、より大きい色調整)で引き寄せられる。一部の実施形態では、このアプリケーションは、この色空間変換を画像内の各画素に適用することによって、選択された場所に基づいて、画像の肌色バランスを調整する。
A
カスタム肌色バランスコントロール3925は、多くの利益を提供する。それらの利益のうちの1つは、ユーザが、肌色バランス操作の対象とするための、画像内の肌色の領域を(特に、画像内に2人以上の人物が存在する場合に)指定することにより、その選択された肌色が、理想的な肌色に調整されることを可能にする能力である。カスタム肌色バランスコントロール3925の別の利益は、図3を参照して上述された肌の色調UIコントロール356、並びに図20を参照して上述された画像上UIコントロール2025及び画像上UIコントロール2030に関連する。
Custom skin
図6及び図20を参照して上述されたように、肌の色調UIコントロール356並びに画像上UIコントロール2025及び画像上UIコントロール2030は、定義された肌の色調に基づいて画像の色温度を調整することによって、肌の色調を改善する。一部の実施形態では、このアプリケーションは、肌の色調を、色空間内部の色値の範囲とするように定義する。上述のように、その色値の範囲は、人の平均の肌の色調を対象とするように、広範に定義される。しかしながら、画像が取り込まれた種々の条件(例えば、照明条件、色かぶりなど)により、画像内の対象となる人物の顔の色は、アプリケーションによって肌の色調として定義された色値の範囲内に、収まらない場合がある。対象となる人物とは、ユーザが、画像内の対象として考える人物である。その場合には、このアプリケーションは、幾つかの他の対象物(例えば、対象となる人物以外の人々の顔)の色に基づいて、画像の色値を調整することができる。カスタム肌色バランスUIコントロール3925は、画像内の対象となる人物の顔をユーザが指定することを可能にすることにより、ユーザが、肌の色調UIコントロール356あるいは画像上UIコントロール2025及び画像上UIコントロール2030を操作する場合、(1)対象となる人物の顔の色が、バランス調整され(すなわち、理想的な顔の色になるように調整され)、(2)画像の色温度が、対象となる人物の顔の色に基づいて調整される。具体的には、ユーザが、画像に対して肌色バランス操作を実行した後には、肌の色調として予め定義された色値の範囲を使用する代わりに、このアプリケーションは、画像上の全ての後続の肌の色調調整に関する肌の色調として、その理想的な肌色を使用する。
As described above with reference to FIGS. 6 and 20, the skin
図41は、肌の色調UIコントロール356を使用して、画像内の全ての顔ではなく、一部のみの顔の色を調整する実施例を示す。具体的には、図41は、この肌の色調調整操作を、4つの異なるステージ4105、4110、4115、及びステージ4120で示す。
FIG. 41 illustrates an embodiment in which the skin
第1ステージ4105は、図39の第1ステージ3905と同一である。図示のように、ユーザは、画像表示領域345内に表示するための画像3955を選択している。上述のように、画像3955は、前景に立っている人物3930、及び背景に立っている別の人物3935の写真である。この実施例では、前景に立っている人物3930が、対象となる人物である。画像3955が取り込まれた条件(例えば、照明条件、色かぶりなど)により、2人の人物の顔の色は、極めて異なるように見える。具体的には、人物3935の顔色は、アプリケーションによって肌の色調として定義された色値の範囲内に収まるが、人物3930の顔色は、アプリケーションによって肌の色調として定義された色値の範囲から外れる。画像3955はまた、画像の右側に、山及び海も示す。
The first stage 4105 is the same as the first stage 3905 of FIG. As shown, the user has selected an
図示のように、ユーザは、選択可能UI項目342の強調表示によって示されるように、画像3955の色を調整するために、ツールバー340から選択可能UI項目342を選択している。第2ステージ4110は、肌の色調UIコントロール356の強調表示によって示されるように、ユーザが肌の色調UIコントロール356を選択した後の、GUI300を示す。肌の色調UIコントロール356の選択は、肌の色調UIコントロール356を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、肌の色調UIコントロール356にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
As shown, the user has selected a
第3ステージ4115は、ユーザが、矢印4125によって示されるように、肌の色調UIコントロール356のつまみを右に移動させることによって、画像の肌の色調の改善を開始した後の、GUI300を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、肌の色調UIコントロール356のつまみを移動させることができる。この肌の色調UIコントロール356に対する調整に基づいて、アプリケーションは、画像3955の全域にわたる斜線によって示されるように、予め定義された肌の色調に基づいて、画像3955の色温度を調整する。
The third stage 4115 shows the
第4ステージ4120は、ユーザが、矢印4130によって示されるように、肌の色調UIコントロール356のつまみを更に右に移動させることによって、画像の肌の色調を更に調整した後の、GUI300を示す。図示のように、このステージ4120での画像3955は、画像3955の全域にわたる、より高密度の斜線によって示されるように、第3ステージ4115での画像よりも、更に調整されて示される。
The fourth stage 4120 shows the
図41に示す実施例で示されるように、この画像の色は、対象となる人物の顔の色が、アプリケーションによって予め定義された色値の範囲内に収まり得ないため、単に肌の色調UIコントロール356あるいは画像上UIコントロール2025及び画像上UIコントロール2030を使用することのみによっては、対象となる人物の肌色に基づいて調整することができない。図42は、図41で実行されたものと同じ操作を示すが、ただし、ユーザは、画像の肌の色調を調整する前に、肌色バランスUIツール3925を使用して、前景の人物3930の顔を選択している。具体的には、図42は、この肌の色調調整操作を、4つの異なるステージ4205、4210、4215、及びステージ4220で示す。
As shown in the embodiment shown in FIG. 41, the color of this image is simply the skin tone UI because the face color of the subject person cannot fall within the color value range predefined by the application. Only using the
第1ステージ4205は、図42の第4ステージ4120と同一である。図示のように、ユーザは、肌色バランスUIコントロール3925を使用することによって、肌色バランス操作を完了したところである。具体的には、ユーザは、肌色バランスUIコントロール3925を使用して、この肌色バランス操作のために、前景の人物3930の顔を選択した。結果として、人物3930の顔の色は、この画像によって定義される理想的な肌色に調整されている。
The first stage 4205 is the same as the fourth stage 4120 in FIG. As shown in the figure, the user has completed the skin color balance operation by using the skin color
第2ステージ4210は、肌の色調UIコントロール356の強調表示によって示されるように、ユーザが肌の色調UIコントロール356を選択した後の、GUI300を示す。肌の色調UIコントロール356の選択は、肌の色調UIコントロール356を表示する、タッチ若しくはニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、又は、肌の色調UIコントロール356にカーソルを置き、入力を提供すること(例えば、カーソル制御装置をクリックすること、ホットキーを押すことなど)によって、実行することができる。
The second stage 4210 shows the
第3ステージ4215は、ユーザが、矢印4225によって示されるように、肌の色調UIコントロール356のつまみを右に移動させることによって、画像の肌の色調の調整を開始した後の、GUI300を示す。一部の実施形態では、ユーザは、異なる場所にユーザの指をドラッグすること(又は、カーソルをドラッグすること)によって、肌の色調UIコントロール356のつまみを移動させることができる。ユーザは、画像に対して肌色バランス操作を実行しているため、このアプリケーションは、画像3955の色温度を調整するために、通常の肌の色調として定義されている値の範囲を使用する代わりに、その理想的な肌の色調として定義された値の範囲を使用する。肌の色調UIコントロール356を通じたユーザの入力の結果として、画像の色値は、画像3955の全域にわたる45度の斜線によって示されるように、前景の人物の顔の色に基づいて調整されている。
Third stage 4215 shows
第4ステージ4220は、ユーザが、矢印4230によって示されるように、肌の色調UIコントロール356のつまみを更に右に移動させることによって、画像の肌の色調を更に改善した後の、GUI300を示す。図示のように、このステージ4220での画像3955は、画像3955の全域にわたる、より高密度の45度の斜線によって示されるように、第3ステージ4215での画像よりも、更に調整されて示される。
The fourth stage 4220 shows the
上述の図に示される画像編集アプリケーションのGUIは、その画像編集アプリケーションが実行される装置が、そのGUIを表示するための十分に大きい画面を有するという仮定の下で示されている。しかしながら、画像編集アプリケーションが実行される装置のうちの一部は、UI項目を、それらの項目がより大きい装置のより大きい画面内に表示される方式で表示するには、画面サイズが限定されている場合がある。また、より大きい装置のより大きい画面も、その装置が異なる向き(例えば、縦長式)で保持される場合、限定的であると見なされる可能性がある。一部の実施形態では、画像編集アプリケーションは、異なる時間インスタンスで異なるUI項目の異なるセットを表示することにより、この限定的な画面空間に適応する。 The GUI of the image editing application shown in the above figure is shown under the assumption that the device on which the image editing application is executed has a sufficiently large screen to display the GUI. However, some of the devices on which image editing applications are executed have limited screen sizes to display UI items in a way that they are displayed in a larger screen on devices with larger items. There may be. Also, a larger screen of a larger device may be considered limited if the device is held in a different orientation (eg, portrait). In some embodiments, the image editing application adapts to this limited screen space by displaying different sets of different UI items at different time instances.
図43は、一部の実施形態のGUI1200を通じて、色バランスツールのセットを呼び出す実施例を、3つの異なるステージ4301、4302、及びステージ4303で概念的に示す。第1ステージ4301は、図12の第6ステージ1206と同一である。図示のように、GUI1200内のツールナビゲーションペイン1225は、色調整ツールのセット1260を含む。この色調整ツールのセット1260は、色バランスツールのセットを呼び出すためのUI項目1275を含む。
FIG. 43 conceptually illustrates an example of calling a set of color balance tools through the
第2ステージ4302は、ユーザがUI項目1275を選択していることを示す。一部の実施形態では、ユーザは、UI項目1275を表示する、タッチ又はニアタッチ感応スクリーンを有する装置上の場所で、ジェスチャを実行すること(例えば、指を置く、指さす、又は指をタップすること)によって、UI項目1275を選択することができる。この選択の結果として、第3ステージ4303で示すように、色バランスツールのセットを表すUI項目4315のセットが、GUI1200上に出現する。一部の実施形態では、それらのUI項目のセットは、この第3ステージ4303で示すように、GUI1200全体にわたって並べられる。他の実施形態では、UI項目4315のセットは、画面の一部分のみを占めることにより、ユーザは依然として、GUI上の画像を閲覧することができる。本明細書では示されないが、ユーザは、UI項目4315のうちの1つを選択することによって、(カスタムホワイトバランスツール及びカスタム顔バランスツールを含めた)色バランスツールのうちの、任意の1つを呼び出すことができる。
Second stage 4302 indicates that the user has selected
図44は、図41及び図42で示されるように、画像に対して色バランス操作を実行するためのプロセス4400を、概念的に示す。一部の実施形態では、このプロセスは、画像編集アプリケーションによって実行される。このプロセスは、色バランスツールの選択を(4405で)受け取ることによって開始する。一部の実施形態では、この色バランスツールは、カスタムホワイトバランスツール又はカスタム肌色バランスツールとすることができる。他の実施形態は、更なる色バランスツールを提供することができる。
FIG. 44 conceptually illustrates a
次に、このプロセスは、画像上の場所を選択するための色バランスUIコントロールを、画像上に(4410で)表示する。一部の実施形態では、このプロセスは、画像上のデフォルト領域(例えば、画像の中央)に、色バランスUIコントロールを表示する。一部の他の実施形態では、このプロセスは、検出アルゴリズム(例えば、顔検出アルゴリズム)を実行して、特定の特徴部(例えば、人の顔)に対応する、画像上の領域内に、色バランスUIコントロールを配置する。 The process then displays a color balance UI control on the image (at 4410) to select a location on the image. In some embodiments, this process displays a color balance UI control in a default area on the image (eg, the center of the image). In some other embodiments, the process performs a detection algorithm (e.g., a face detection algorithm) to create a color in an area on the image that corresponds to a particular feature (e.g., a human face). Place balance UI controls.
種々の実施形態は、色バランスUIコントロールを、種々の方式で実装する。一部の実施形態では、色バランスUIコントロールは、閉じた境界線(例えば、矩形、楕円形など)を含み、その閉じた境界線の内部に、画像上の場所を正確に示すための指標を有する。一部の実施形態では、色バランスUIコントロールは、図39の色バランスUIコントロール3925のように出現することができる。これらの実施形態の一部では、色バランスUIコントロールはまた、閉じた境界線内部にある画像の部分をズームインする(すなわち、拡大する)。このズームインされたバージョンは、画像上の場所を選択する際の、より優れた精度を提供する。
Various embodiments implement color balance UI control in various ways. In some embodiments, the color balance UI control includes a closed border (eg, rectangle, ellipse, etc.), and within the closed border is an indicator for accurately indicating the location on the image. Have. In some embodiments, the color balance UI control can appear like the color
次いで、このプロセスは、色バランスUIコントロールによって示される場所に基づいて、画像の色バランスを(4415で)調整する。一部の実施形態では、この調整は、選択された場所に対応する画素の色値を、予め定義された特定の色値のセット(例えば、白色に関する色値、灰色に関する色値、予め定義された理想的な肌の色調に関する色値)に変更するための、アルゴリズム又は数学的方程式を定義することを伴う。次いで、このプロセスは、画像内の全ての画素に、その同じアルゴリズム又は数学的方程式を適用する。 The process then adjusts (at 4415) the color balance of the image based on the location indicated by the color balance UI control. In some embodiments, this adjustment may result in a pixel color value corresponding to the selected location being set to a pre-defined set of specific color values (e.g., a color value for white, a color value for gray, a predefined color value). To define an algorithm or mathematical equation to change to a color value for the ideal skin tone. The process then applies the same algorithm or mathematical equation to every pixel in the image.
一部の実施形態では、このプロセスは、色バランスUIコントロールの閉じた境界線の外側にある画像の部分の、調整済みバージョンを表示することによって、調整された画像のプレビューを提供する。これらの実施形態では、色バランスUIコントロールの閉じた境界線の内側の画像の部分は、その画像の編集済みバージョンと未編集バージョンとの差異を示すために、未変更のままで維持される。 In some embodiments, this process provides a preview of the adjusted image by displaying an adjusted version of the portion of the image that is outside the closed border of the color balance UI control. In these embodiments, the portion of the image inside the closed border of the color balance UI control is kept unchanged to show the difference between the edited and unedited version of the image.
次に、このプロセスは、色バランスUIコントロールの、いずれかの移動が受け取られているか否かを(4420で)判定する。色バランスUIコントロールの移動が受け取られる場合には、このプロセスは、その色バランスUIコントロールの新たな場所に基づいて、画像の色バランスを(4425で)再調整する。このプロセスは、それ以上移動が受け取られなくなるまで、操作4420〜4425を繰り返す。色バランスUIコントロールに対する移動が受け取られない場合には、このプロセスは終了する。 The process then determines (at 4420) whether any movement of the color balance UI control has been received. If a color balance UI control move is received, the process re-adjusts (at 4425) the color balance of the image based on the new location of the color balance UI control. This process repeats operations 4420-4425 until no further movement is received. If no movement for the color balance UI control is received, the process ends.
図45は、画像に対して色バランス操作を実行するためのプロセス4500を、概念的に示す。一部の実施形態では、プロセス4500は、ユーザが色バランスUIコントロールを通じて画像上の場所を選択した後の、プロセス4400の操作4415及び操作4425の間に、画像編集アプリケーションによって実行される。このプロセスは、画像上の選択された場所に対応する画素を(4505で)取得することによって開始する。次いで、このプロセスは、取得された画素に関する、色空間内部の望ましい色を(4510で)特定する。一部の実施形態では、ユーザが、プロセス4400の操作4405でカスタムホワイトバランスコントロールツールを選択している場合、このプロセスは、色空間内部で、取得された画素の色に最も近い灰色を特定する。この灰色を特定する操作は、図38を参照して上述されている。ユーザが、プロセス4400の操作4405でカスタム肌色バランスツールを選択している場合、このプロセスは、色空間内の、取得された画素の色に最も近い、予め定義された理想的な肌色を特定する。一部の実施形態では、このアプリケーションは、種々の条件に関する、予め定義された理想的な肌色の幾つかのセット(例えば、昼光に関する理想的な肌色のセット、及び人工光に関する理想的な肌色のセット)を有する。これらの実施形態では、プロセスは、画像が取り込まれた条件を判定するための分析を実行し、対応する理想的な肌色を特定する。
FIG. 45 conceptually illustrates a
次に、このプロセスは、取得された画素の色及び特定された色に基づいて、色空間変換を(4515で)決定する。一部の実施形態では、この色調整操作は、特定の色変換アルゴリズム又は数学的方程式を伴う。色調整操作を決定した後、このプロセスは、画像の全ての画素に、その色空間変換を(4520で)適用する。次いで、このプロセスは終了する。 The process then determines (at 4515) a color space transformation based on the acquired pixel color and the identified color. In some embodiments, this color adjustment operation involves a specific color conversion algorithm or mathematical equation. After determining the color adjustment operation, the process applies (at 4520) the color space transformation to every pixel of the image. The process then ends.
図46は、画像の色バランス調整操作を実行する、一部の実施形態の画像編集アプリケーション4600を示す。一部の実施形態では、画像編集アプリケーション4600は、プロセス4400及びプロセス4500を実行する。図46に示すように、画像編集アプリケーション4600は、画像プロセッサ4610、画像プレビューモジュール4615、色空間変換ジェネレータ4625、コンテンツ分析モジュール4640、及び色調整モジュール4630を含む。
FIG. 46 illustrates an image editing application 4600 of some embodiments that performs an image color balance adjustment operation. In some embodiments, image editing application 4600 performs
UIモジュール4605が、色バランスツール(例えば、カスタムホワイトバランスツール、カスタム肌色バランスツールなど)のユーザの選択を受け取ると、UIモジュール4605は、その選択の情報を画像プロセッサ4610に渡す。次いで、この色バランスUIコントロールモジュール4610は、画像上に色バランスUIコントロールを表示する。一部の実施形態では、画像プロセッサ4610は、各画像に関するデフォルトの場所に(例えば、画像の中央に)、色バランスUIコントロールを表示する。一部の他の実施形態では、色バランスUIコントロールモジュール4610は、画像に対して特徴検出操作(例えば、顔検出操作)を実行するために、コンテンツ分析モジュール4640に画像を送り、特徴が検出される場所に(例えば、画像上の人の顔に)色バランスUIコントロールを表示する。次いで、画像プロセッサ4610は、その色バランスUIコントロールの場所に対応する画素の色値を取得し、その色値についての情報を、色空間変換ジェネレータ4625に渡す。
When the
一部の実施形態では、色空間変換ジェネレータ4625は、図45のプロセス4500を実行する。具体的には、色空間変換ジェネレータ4625は、色バランスUIコントロールの場所に対応する画素の色値を取得する。次いで、色空間変換ジェネレータは、ユーザによって選択された色バランスツールに関連付けられている設定された基準色(例えば、灰色、理想的な肌色など)を特定する。色空間変換ジェネレータ4625は、画像内の画素の色値を、その特定され設定された基準色に変更する色調整を決定する。次いで、色空間変換ジェネレータ4625は、決定された色調整に基づいて、色空間変換を生成する。一部の実施形態では、この色空間変換は、決定された色調整に基づいて生成される、M×M行列(例えば、3×3行列)である。一部の実施形態では、この色空間変換は、色空間内部で定義された各色を取得し、決定された色値調整を使用して異なる色を出力する。
In some embodiments, the color
次いで、色空間変換ジェネレータ4625は、生成された色空間変換を、画像プロセッサ4610に渡す。次いで、画像プロセッサ4610は、画像及び色空間変換を、色調整エンジン4630に送る。この色調整エンジンは、画像内の全ての画素に色空間変換を適用し、その調整された画像を、画像プロセッサ4610に送り返す。画像プロセッサは、メディア記憶装置4635内に、その調整された画像を記憶させる。
The color
一部の実施形態では、この画像編集アプリケーションは、編集済み画像のリアルタイムのプレビューをユーザに提供する。これらの実施形態では、画像プロセッサ4610は、画像プレビューモジュール4615に、編集済み画像を送る。種々の実施形態は、種々の技術を使用して、ユーザにプレビューを提供する。一部の実施形態では、画像プレビューモジュール4615は、色バランスUIコントロールの外側の画像の部分の編集済みバージョンを表示する一方で、色バランスUIコントロールの内側の画像の部分の未編集バージョンを表示する。このように、ユーザは、編集済みバージョンと未編集バージョンとの差異を、リアルタイムで容易に視認することができる。他の実施形態では、色バランスUIコントロールの内側にある画像の部分のみが編集され、色バランスUIコントロールの外側の画像の部分は、未編集のまま維持される。更に、他の実施形態では、画像全体が編集される。
In some embodiments, the image editing application provides the user with a real-time preview of the edited image. In these embodiments, the
ユーザが、色バランスUIコントロールの場所を変更すると、UIモジュール4605は、その色バランスUIコントロールの新たな場所についての情報を、画像プロセッサ4610に渡す。次いで、画像プロセッサ4610は、その新たな場所に対応する画素の色値を取得して、その色値を色空間変換ジェネレータ4625に渡す。色空間変換ジェネレータ4625は、取得された色値に基づいて新たな色空間変換を生成し、その生成された色空間変換を、画像プロセッサ4610に送り返す。次いで、画像プロセッサ4610は、画像を再調整するために、画像及び色空間変換を色調整エンジン4630に送る。色調整エンジン4630は、画像に色空間変換を適用し、その調整された画像を画像プロセッサ4610に送る。
When the user changes the location of the color balance UI control, the
IV.画像閲覧、編集、及び構成アプリケーション
上述の図は、一部の実施形態の画像閲覧、編集、及び構成アプリケーションのGUIの様々な実施例を示したものである。図47は、画像を閲覧、編集、及び構成するための、一部の実施形態のGUI4700の詳細図を示す。GUI4700は、図48を部分的に参照して説明され、この図48は、一部の実施形態のアプリケーションによって記憶されるような画像に関する、データ構造4800を概念的に示す。
IV. Image Browsing, Editing, and Configuration Application The above-described figures illustrate various examples of image browsing, editing, and configuration application GUIs in some embodiments. FIG. 47 shows a detailed view of a
データ構造4800は、画像ID4805、画像データ4810、編集命令4815、画像のキャッシュバージョン4840、及び画像に関する任意の追加データ4850を含む。画像ID4805は、一部の実施形態では、コレクション内に記憶された画像を参照するために、コレクションデータ構造によって使用される、画像に関する一意識別子である。画像データ4810は、画像を表示するための、実際のフルサイズの画素データ(例えば、画像又はその符号化バージョン内の各画素に関する、一連の色空間チャネル値)である。一部の実施形態では、このデータは、画像閲覧、編集、及び構成アプリケーションのデータベース内に記憶することができ、又は別のアプリケーションのデータと共に同じ装置上で記憶することができる。一部の実施形態では、この追加的アプリケーションは、この装置上で動作する別の画像構成アプリケーションであり、その上で画像閲覧、編集、及び構成が動作する。
The
それゆえ、このデータ構造は、そのアプリケーションに関連付けられているローカルファイルへのポインタ、又は別のアプリケーションのデータベースに問い合わせるために使用することが可能なIDを記憶することができる。一部の実施形態では、アプリケーションがジャーナル内の画像を使用するか、又は画像に対して編集を実施すると、アプリケーションは、その画像データを含む画像ファイルのローカルコピーを自動的に作成する。 This data structure can therefore store a pointer to a local file associated with the application, or an ID that can be used to query another application's database. In some embodiments, when an application uses an image in a journal or performs an edit on an image, the application automatically creates a local copy of the image file that includes the image data.
編集命令4815は、ユーザが画像に適用したあらゆる編集に関連する情報を含む。この方式で、アプリケーションは、そのアプリケーションが、画像の編集済みバージョンからオリジナルに、いつでも容易に戻ることができるように、非破壊形式で画像を記憶する。例えば、ユーザは、画像に彩度の効果を適用して、アプリケーションから退去し、次いで別の機会に、アプリケーションを再び開いて、その効果を除去することができる。これらの命令に記憶された編集は、クロップ及び回転、フル画像露出及び色調整、局所調整、及び特殊効果、並びに、画像の画素に影響を与える他の編集とすることができる。一部の実施形態は、ユーザが、特定の編集のセットのみが適用されている、その画像の種々のバージョンを閲覧することができるように、これらの編集命令を特定の順序で記憶する。
一部の実施形態では、編集命令4815は、編集操作のリスト4860として実装される。リスト4860は、編集4861、4862、4863、及び編集4865などの編集操作を含む。リスト4860内の各編集操作は、その編集操作を実施するために必要なパラメータを指定する。例えば、リスト4860内の編集操作4865は、彩度の効果を適用する、画像に対する編集を、色選択パラメータθを使用して指定する。
In some embodiments, the
一部の実施形態では、リスト4860は、最終的な編集済み画像を作成するためにユーザによって着手された、編集操作のシーケンスを記録する。一部の実施形態では、リスト4860は、一部の実施形態が、アプリケーションによって提供される種々の可能な編集に関する特定の順序を定義するため、画像編集アプリケーションが表示のための出力画像を生成するために画像に編集を適用する順序で、編集命令を記憶する。例えば、一部の実施形態は、彩度の効果を、クロップ及び回転、フル画像露出、及び色調整などの他の編集操作よりも遅れて適用されるべき編集操作のうちの1つとして定義する。これらの実施形態のうちの一部の、リスト4860は、彩度の効果に関する編集命令を、他の編集操作(例えば、編集4861〜1363)のうちの一部よりも遅れて適用される位置(すなわち、編集4865)に記憶する。
In some embodiments,
キャッシュ画像バージョン4840は、よくアクセス及び表示される画像のバージョンを格納するため、アプリケーションは、これらの画像をフルサイズの画像データ4810から繰り返し生成する必要がない。例えば、このアプリケーションは、多くの場合、画像に関するサムネイル、並びに表示解像度バージョン(例えば、画像表示領域用に適合されたバージョン)を記憶する。一部の実施形態のアプリケーションは、編集が適用されるたびに、その画像に関する新たなサムネイルを生成し、以前のサムネイルと置き換える。一部の実施形態は、オリジナルの画像、及び画像の1つ以上の編集済みバージョンを含めた、複数の表示解像度バージョンを記憶する。
最後に、画像データ構造4800は、このアプリケーションが画像と共に記憶することが可能な追加データ4850(例えば、顔の場所及びサイズなど)を含む。一部の実施形態では、この追加データとしては、Exchangeable image file format(Exif)データ、キャプションデータ、共有画像データ、画像上のタグ、又は任意の他のタイプのデータを挙げることができる。Exifデータは、カメラ設定、GPSデータ、タイムスタンプなどの、画像を取り込んだカメラによって記憶される様々な情報を含む。キャプションとは、ユーザが入力した、その画像の説明である。タグとは、アプリケーションにより、ユーザが、お気に入り、フラグ付き、非表示などとして画像をマーク付けすることなどの、画像と関連付けることが可能となる、情報である。
Finally, the
画像データ構造4800は、画像に関して必要とされる情報を記憶するためにアプリケーションが使用することができる、1つの可能なデータ構造に過ぎないことが、当業者には認識されるであろう。例えば、異なる実施形態では、更なる情報、又はより少ない情報を記憶する場合、異なる順番で情報を記憶する場合などがある。
One skilled in the art will recognize that the
図47に戻ると、GUI4700は、サムネイル表示領域4705、画像表示領域4710、第1のツールバー4715、第2のツールバー4720、及び第3のツールバー4725を含む。サムネイル表示領域4705は、選択されたコレクション内の画像のサムネイルを表示する。サムネイルは、フルサイズの画像の小さい表現であり、一部の実施形態では、画像の一部分のみを表す。例えば、サムネイル表示領域4705内のサムネイルは、フルサイズの画像のアスペクト比に関わりなく、全て正方形である。サムネイルに使用するための矩形画像の部分を決定するために、このアプリケーションは、その画像のより小さい寸法を特定し、より長い方向の、画像の中心部分を使用する。例えば、1600×1200画素の画像の場合、このアプリケーションは、4700×1200の正方形を使用する。サムネイルに関する選択部分を更に洗練させるために、一部の実施形態は、(顔検出アルゴリズムを使用して)画像内の全ての顔の中心を特定し、次いで、その場所を使用して、クリッピングされる方向のサムネイル部分の中心に置く。したがって、理論上1600×1200の画像内の顔が、全て画像の左側に位置する場合には、このアプリケーションは、両側で200列を切り捨てるのではなく、左端の4700列の画素を使用する。
Returning to FIG. 47, the
サムネイルに使用するための画像の部分を決定した後に、画像閲覧アプリケーションは、(例えば、画素混合技術及び他の技術を使用して)その画像の低解像度バージョンを生成する。一部の実施形態のアプリケーションは、画像のキャッシュバージョン4840として、画像に関するサムネイルを記憶する。したがって、ユーザがコレクションを選択すると、このアプリケーションは、(コレクションデータ構造を通じて)そのコレクション内の画像の全てを特定して、サムネイル表示領域内での表示のために、各画像データ構造内のキャッシュされたサムネイルにアクセスする。
After determining the portion of the image to use for the thumbnail, the image viewing application generates a low resolution version of the image (eg, using pixel blending techniques and other techniques). Some embodiments of the application store thumbnails for images as a
ユーザは、(例えば、上述の様々なタッチ相互作用を通じて、又は他のユーザ入力相互作用を通じて)サムネイル表示領域内の1つ以上の画像を選択することができる。選択されたサムネイルは、強調表示、又は他の選択の表示を使用して表示される。サムネイル表示領域4705内で、サムネイル4730が選択される。更には、図示のように、一部の実施形態のサムネイル表示領域4705は、フラグ付けされた(例えば、「はい」に設定されたフラグに関するタグを有する)、コレクション内の幾つかの画像を示す。一部の実施形態では、このテキストは、フラグ付き画像のサムネイルのみを表示するために選択可能である。
The user can select one or more images in the thumbnail display area (eg, through the various touch interactions described above, or through other user input interactions). The selected thumbnail is displayed using highlighting or other selection display. In the
アプリケーションは、選択された画像を、対応するサムネイルよりも大きい解像度で、画像表示領域4710内に表示する。それらの画像は、ディスプレイ装置よりも高い解像度を有する場合が多いため、典型的には、画像のフルサイズでは表示されない。それゆえ、一部の実施形態のアプリケーションは、画像表示領域内に適合するように設計された、画像のキャッシュバージョン4840を記憶する。画像表示領域4710内の画像は、フルサイズの画像のアスペクト比で表示される。1つの画像が選択されると、このアプリケーションは、画像のいずれの部分も切り捨てることなく、画像表示領域以内に可能な限り大きく画像を表示する。複数の画像が選択される場合、このアプリケーションは、それらの画像が異なるアスペクト比を有する場合であっても、各画像に関してほぼ同じ画素数を使用することによって、それらの視覚的重み付けを維持するような方式で画像を表示する。
The application displays the selected image in the
第1のツールバー4715は、タイトル情報(例えば、GUI内に示されるコレクションの名前、ユーザが現在選択されている画像に添付したキャプションなど)を表示する。更には、ツールバー4715は、GUI項目4735〜1238の第1のセット、及びGUI項目4740〜1243の第2のセットを含む。
The
GUI項目の第1のセットは、「戻る」ボタン4735、グリッドボタン4736、ヘルプボタン4737、及び取り消しボタン4738を含む。「戻る」ボタン4735により、ユーザは、コレクション構成GUIにナビゲートして戻ることが可能となり、このコレクション構成GUIから、ユーザは、画像の種々のコレクション(例えば、アルバム、イベント、ジャーナルなど)を選択することができる。グリッドボタン4736の選択により、アプリケーションは、(例えば、スライドアニメーションを介して)サムネイル表示領域を、GUI上に移動させるか、又はGUIから移動させる。一部の実施形態では、ユーザはまた、スワイプジェスチャを介して、サムネイル表示領域を、GUI上にスライドさせるか、又はGUIからスライドさせることもできる。ヘルプボタン4737は、ユーザに関してアクティブな現在のツールのセットを特定して、それらのツールを簡潔に説明する、それらのツールに関するヘルプ表示をユーザに提供する、コンテキストに応じたヘルプ機能をアクティブ化する。一部の実施形態では、このヘルプ表示は、ツールについての追加情報にアクセスするために選択可能である。取り消しボタン4738の選択により、このアプリケーションは、画像に対する最新の編集を、その編集がクロップ、色調整などであるか否かに関わらず除去する。この取り消しを実行するために、一部の実施形態は、画像と共に記憶された、編集命令4815のセットからの最新の命令を除去する。
The first set of GUI items includes a “back”
GUI項目の第2のセットは、共有ボタン4740、情報ボタン4741、「オリジナルを示す」ボタン4742、及び編集ボタン4743を含む。共有ボタン4740により、ユーザは、多種多様の方法で、画像を共有することが可能となる。一部の実施形態では、とりわけ、ユーザは、同じネットワーク(例えば、WiFi(登録商標)又はBluetooth(登録商標)ネットワーク)上の別の互換装置に、選択された画像を送信して、画像ホスティングウェブサイト又はソーシャルメディアウェブサイトに画像をアップロードし、選択された画像のセットから、ジャーナル(すなわち、追加のコンテンツを追加することが可能な、配置構成された画像の提示)を作成することができる。
The second set of GUI items includes a
情報ボタン4741は、1つ以上の選択された画像についての追加情報を表示する、表示領域をアクティブ化する。アクティブ化された表示領域内に表示される情報は、画像に関して記憶されたExifデータ(例えば、カメラ設定、タイムスタンプなど)の一部又は全てを含み得る。複数の画像が選択される場合、一部の実施形態は、選択された画像の全てに共通であるExifデータのみを表示する。一部の実施形態は、(i)GPSデータに従って(この情報が利用可能である場合には)、画像が取り込まれた場所を示すマップを表示するため、及び(ii)任意の写真共有ウェブサイト上の、画像に関するコメントストリームを表示するために、情報表示領域内に追加タブを含む。この情報をウェブサイトからダウンロードするために、アプリケーションは、共有画像データと共に画像に関して記憶された、画像に関するオブジェクトIDを使用し、この情報をウェブサイトに送信する。コメントストリーム、及び、場合によっては追加情報がウェブサイトから受信され、ユーザに表示される。
An
「オリジナルを示す」ボタン4742により、ユーザは、画像のオリジナルバージョンと、その画像の現在の編集済みバージョンとを、切り替えることが可能となる。ユーザがこのボタンを選択すると、アプリケーションは、編集命令4815の一切が適用されていない、その画像のオリジナルバージョンを表示する。一部の実施形態では、適切なサイズの画像が、その画像のキャッシュバージョン4840のうちの1つとして記憶されることにより、その画像に素早くアクセス可能となる。ユーザが、ボタン4742を再び選択すると、このアプリケーションは、編集命令4815が適用されている、その画像の編集済みバージョンを表示する。
“Show original”
編集ボタン4743により、ユーザは、編集モードに入るか、又は編集モードから出ることが可能となる。ユーザが、ツールバー4720内の編集ツールのセットのうちの1つを選択している場合、図47に示されるように、編集ボタン4743は、閲覧及び構成モードにユーザを戻す。ユーザが、閲覧モードにある間に、編集ボタン4743を選択すると、このアプリケーションは、ツールバー4720内に示される順序で最後に使用された編集ツールのセットに戻る。すなわち、ツールバー4720内の項目は、特定の順序で配置構成され、編集ボタン4743は、選択された画像に対して編集が行われた、それらの項目の右端をアクティブ化する。
ツールバー4720は、上述のように、左から右に特定の順序で配置構成された、5つの項目4745〜1249を含む。クロップ項目4745は、ユーザが、歪んだ画像を位置調整して、画像の不必要な部分を除去することを可能にする、クロップ及び回転ツールをアクティブ化する。露出項目4746は、ユーザが、画像の黒点、シャドウ、コントラスト、明度、ハイライト、及び白色点を修正することを可能にする、露出ツールのセットをアクティブ化する。一部の実施形態では、この露出ツールのセットは、種々の組み合わせで協働して画像の色調属性を修正する、スライダのセットである。色項目4747は、ユーザが、彩度及び自然な彩度、並びに、色別の彩度(例えば、青色画素又は緑色画素)及びホワイトバランスを修正することを可能にする、色ツールのセットをアクティブ化する。一部の実施形態では、これらのツールの一部は、スライダのセットとして提示される。ブラシ項目4748は、ユーザが、画像に対する修正を局所化することを可能にする、補正ツールのセットをアクティブ化する。このブラシを使用して、ユーザは、画像の上で擦るアクションを実行することによって、赤目及び汚点を除去し、画像の局所化された部分に、彩度及び他の特徴を適用するか、若しくは除去することができる。最後に、効果項目4749は、ユーザが画像に適用することが可能な、特殊効果のセットをアクティブ化する。これらの効果としては、デュオトーン効果、粗い粒子効果、グラデーション、ティルトシフト、非写実的彩度低下効果、グレースケール効果、様々なフィルタなどが挙げられる。一部の実施形態では、このアプリケーションは、ツールバー4725から扇形に展開する項目のセットとして、これらの効果を提示する。
上述のように、UI項目4745〜1249は、特定の順序で配置される。この順序は、ユーザが、これらの5つの異なるタイプの編集を最もよく適用する順序に従う。したがって、編集命令4815は、一部の実施形態では、この同じ順序で記憶される。ユーザが、項目4745〜1249のうちの1つを選択すると、一部の実施形態は、選択されたツールの左側のツールからの編集のみを、表示された画像に適用する(しかしながら、他の編集は、命令セット4815内に記憶されたまま維持される)。
As described above, the
ツールバー4725は、GUI項目4750〜1254のセット、並びに設定項目4755を含む。自動補正項目4750は、画像に対する補正編集(例えば、明らかな赤目の除去、色バランス調整など)を自動的に実行する。回転ボタン4751は、任意の選択された画像を回転させる。一部の実施形態では、この回転ボタンが押されるたびに、画像は、特定の方向に90度回転する。自動補正は、一部の実施形態では、命令セット4815内に置かれる、所定の編集命令のセットを含む。一部の実施形態は、画像の分析を実行し、次いで、その分析に基づいて命令のセットを定義する。例えば、自動補正ツールは、画像内の赤目を検出することを試みるが、赤目が検出されない場合には、赤目を補正するための命令が生成されることはない。同様に、自動色バランス調整は、画像の分析に基づくものとなる。回転ボタンによって生成される回転もまた、編集命令として記憶される。
Toolbar 4725 includes a set of GUI items 4750-1254 as well as setting
フラグボタン4752は、任意の選択された画像に、フラグ付きとしてタグを付ける。一部の実施形態では、コレクションのフラグ付き画像は、いずれのフラグなし画像も伴うことなく表示することができる。お気に入りボタン4753により、ユーザは、任意の選択された画像を、お気に入りとしてマーク付けすることが可能となる。一部の実施形態では、このことにより、その画像は、お気に入りとしてタグ付けされ、また、その画像は、お気に入り画像のコレクションにも追加される。非表示ボタン4754により、ユーザは、画像を非表示としてタグ付けすることが可能となる。一部の実施形態では、非表示画像は、サムネイル表示領域内には表示されず、かつ/又は、ユーザが画像表示領域内でコレクションの画像を循環させる際にも表示されない。図48を参照して上述されたように、これらの特徴のうちの多くは、画像データ構造内にタグとして記憶される。
The
最後に、設定ボタン4755は、現在アクティブであるツールセットに応じて異なるメニューオプションを提供する、コンテキストに応じたメニューをアクティブ化する。例えば、閲覧モードでは、一部の実施形態のメニューは、新たなアルバムを作成するためのオプション、アルバム用の主要写真を設定するためのオプション、写真間で設定をコピーするためのオプション、及び他のオプションを提供する。種々の編集ツールのセットがアクティブである場合、このメニューは、特定のアクティブなツールセットに関連するオプションを提供する。
Finally,
画像閲覧及び編集GUI4700は、画像閲覧、編集及び構成アプリケーションに関する多くの可能なグラフィカルユーザインターフェースのうちの1つの実施例に過ぎないことが、当業者には認識されるであろう。例えば、様々な項目は、異なる領域内に、又は異なる順序で配置することが可能であり、一部の実施形態は、追加的な機能性又は異なる機能性を有する項目を含み得る。一部の実施形態のサムネイル表示領域は、対応するフルサイズの画像のアスペクト比に一致するサムネイルなどを表示することができる。
Those skilled in the art will recognize that the image viewing and
V.電子システム
上述の機能及びアプリケーションのうちの多くは、コンピュータ可読記憶媒体(コンピュータ可読媒体とも称される)上に記録される命令のセットとして指定される、ソフトウェアプロセスとして実装される。これらの命令が、1つ以上の計算又は処理ユニット(例えば、1つ以上のプロセッサ、プロセッサのコア、又は他の処理ユニット)によって実行される場合、それらの命令は、処理ユニットに、それらの命令で示されるアクションを実行させる。コンピュータ可読媒体の例としては、CD−ROM、フラッシュドライブ、ランダムアクセスメモリ(RAM)チップ、ハードドライブ、消去可能プログラム可能な読出し専用メモリ(EPROM)、電気的消去可能プログラム可能な読み出し専用メモリ(EEPROM)などが挙げられるが、これらに限定されない。コンピュータ可読媒体は、無線で、若しくは有線接続を介して伝達される、搬送波及び電子信号を含まない。
V. Electronic System Many of the functions and applications described above are implemented as a software process that is specified as a set of instructions recorded on a computer-readable storage medium (also referred to as a computer-readable medium). If these instructions are executed by one or more computing or processing units (eg, one or more processors, processor cores, or other processing units), the instructions are sent to the processing units by their instructions. The action indicated by is executed. Examples of computer readable media include CD-ROM, flash drive, random access memory (RAM) chip, hard drive, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM) ) And the like, but is not limited thereto. Computer-readable media does not include carrier waves and electronic signals transmitted wirelessly or via wired connections.
本明細書では、用語「ソフトウェア」は、プロセッサによって処理するためにメモリ内に読み込むことが可能な、読み出し専用メモリ内に存在するファームウェア、又は磁気記憶装置内に記憶されたアプリケーションを含むものとする。また、一部の実施形態では、複数のソフトウェア発明は、別個のソフトウェア発明のまま維持しつつ、より大きいプログラムの下位区分として実装することもできる。一部の実施形態では、複数のソフトウェア発明はまた、個別のプログラムとして実装することもできる。最後に、本明細書で説明されるソフトウェア発明を一体となって実装する、個別のプログラムのいずれの組み合わせも、本発明の範囲内である。一部の実施形態では、ソフトウェアプログラムは、1つ以上の電子システム上で動作するようにインストールされる場合、そのソフトウェアプログラムの動作を遂行及び実行する、1つ以上の特定のマシン実装を定義する。 As used herein, the term “software” is intended to include firmware residing in read-only memory, or applications stored in magnetic storage, that can be loaded into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as subdivisions of larger programs while maintaining separate software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of individual programs that together implement the software invention described herein is within the scope of the present invention. In some embodiments, a software program defines one or more specific machine implementations that, when installed to run on one or more electronic systems, perform and execute the operations of the software program. .
A.モバイル装置
一部の実施形態の画像編集及び閲覧アプリケーションは、モバイル装置上で動作する。図49は、そのようなモバイルコンピューティング装置のアーキテクチャ4900の実施例である。モバイルコンピューティング装置の例としては、スマートフォン、タブレット、ラップトップなどが挙げられる。図示のように、モバイルコンピューティング装置4900は、1つ以上の処理ユニット4905、メモリインターフェース4910、及び周辺装置インターフェース4915を含む。
A. Mobile Device The image editing and viewing application of some embodiments runs on a mobile device. FIG. 49 is an example of such a mobile
周辺装置インターフェース4915は、カメラサブシステム4920、無線通信サブシステム4925、オーディオサブシステム4930、I/Oサブシステム4935などを含めた、様々なセンサ及びサブシステムに結合される。周辺装置インターフェース4915は、処理ユニット4905と様々な周辺装置との間の通信を可能にする。例えば、方向センサ4945(例えば、ジャイロスコープ)及び加速度センサ4950(例えば、加速度計)は、方向及び加速度機能を容易にするために周辺装置インターフェース4915に結合される。
カメラサブシステム4920は、1つ以上の光センサ4940(例えば、電荷結合素子(CCD)光センサ、相補型金属酸化膜半導体(CMOS)光センサなど)に結合される。光センサ4940と結合されたカメラサブシステム4920は、画像及び/又は映像データの取り込みなどの、カメラ機能を容易にする。無線通信サブシステム4925は、通信機能を容易にするために役立つ。一部の実施形態では、無線通信サブシステム4925は、無線周波数受信器及び送信器、並びに光受信器及び送信器(図49では図示せず)を含む。一部の実施形態のこれらの受信器及び送信器は、GSMネットワーク、Wi−Fiネットワーク、Bluetoothネットワークなどの1つ以上の通信ネットワークを介して動作するように実装される。オーディオサブシステム4930は、音声を出力するために、(例えば、種々の画像操作に関連付けられている種々の音響効果を出力するために)スピーカに結合される。更に、オーディオサブシステム4930は、音声認識、デジタル録音などの、音声対応機能を容易にするために、マイクロホンに結合される。
The
I/Oサブシステム4935は、周辺装置インターフェース4915を通じて、ディスプレイ、タッチスクリーンなどの入出力周辺装置と処理ユニット4905のデータバスとの間の転送に関与する。I/Oサブシステム4935は、入出力周辺装置と処理ユニット4905のデータバスとの間の転送を容易にするために、タッチスクリーンコントローラ4955及び他の入力コントローラ4960を含む。図示のように、タッチスクリーンコントローラ4955は、タッチスクリーン4965に結合される。タッチスクリーンコントローラ4955は、複数のタッチ感応技術のいずれかを使用して、タッチスクリーン4965上の接触及び移動を検出する。他の入力コントローラ4960は、1つ以上のボタンなどの、他の入力/制御装置に結合される。一部の実施形態は、タッチ相互作用の代わりに、又はそれに加えて、ニアタッチ相互作用を検出することが可能な、ニアタッチ感応スクリーン及び対応するコントローラを含む。
The I /
メモリインターフェース4910は、メモリ4970に結合される。一部の実施形態では、メモリ4970は、揮発性メモリ(例えば、高速ランダムアクセスメモリ)、不揮発性メモリ(例えば、フラッシュメモリ)、揮発性メモリと不揮発性メモリとの組み合わせ、及び/又は任意の他のタイプのメモリを含む。図49に示すように、メモリ4970は、オペレーティングシステム(OS)4972を記憶する。OS 4972は、基本システムサービスを処理するための命令、及び、ハードウェア依存タスクを実行するための命令を含む。
メモリ4970はまた、1つ以上の追加的装置との通信を容易にするための通信命令4974、グラフィカルユーザインターフェース処理を容易にするためのグラフィカルユーザインターフェース命令4976、画像関連の処理及び機能を容易にするための画像処理命令4978、入力関連(例えば、タッチ入力)の処理及び機能を容易にするための入力処理命令4980、オーディオ関連の処理及び機能を容易にするためのオーディオ処理命令4982、並びにカメラ関連の処理及び機能を容易にするためのカメラ命令4984も含む。上述の命令は、単なる例示であり、メモリ4970は、一部の実施形態では、更なる命令及び/又は他の命令を含む。例えば、スマートフォンに関するメモリは、電話関連のプロセス及び機能を容易にするための、電話命令を含み得る。上記で特定された命令は、個別のソフトウェアプログラム又はモジュールとして実装される必要はない。モバイルコンピューティング装置の様々な機能は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含めた、ハードウェア及び/又はソフトウェアとして実装することができる。
図49に示される構成要素は、個別の構成要素として示されるが、2つ以上の構成要素を1つ以上の集積回路内に統合することができる点が、当業者には認識されるであろう。更には、2つ以上の構成要素を、1つ以上の通信バス又は信号線によって、一体に結合することができる。また、これらの機能のうちの多くは、1つの構成要素によって実行されるとして説明されているが、図49に関連して説明される機能は、2つ以上の集積回路へと分割することができる点が、当業者には理解されるであろう。 The components shown in FIG. 49 are shown as separate components, but those skilled in the art will recognize that two or more components can be integrated into one or more integrated circuits. Let's go. Furthermore, two or more components can be coupled together by one or more communication buses or signal lines. Also, although many of these functions are described as being performed by one component, the functions described in connection with FIG. 49 may be divided into two or more integrated circuits. Those skilled in the art will understand what can be done.
B.コンピュータシステム
図50は、本発明の一部の実施形態が実装される、電子システム5000の別の実施例を概念的に示す。電子システム5000は、コンピュータ(例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータなど)、電話、PDA、又は任意の他の種類の電子装置若しくはコンピューティング装置とすることができる。そのような電子システムは、様々なタイプのコンピュータ可読媒体、及び様々な他のタイプのコンピュータ可読媒体のためのインターフェースを含む。電子システム5000は、バス5005、処理ユニット5010、グラフィック処理ユニット(GPU)5015、システムメモリ5020、ネットワーク5025、読み出し専用メモリ5030、永久記憶装置5035、入力装置5040、及び出力装置5045を含む。
B. Computer System FIG. 50 conceptually illustrates another example of an
バス5005は、電子システム5000の多数の内部装置を通信可能に接続する、全てのシステムバス、周辺装置バス、及びチップセットバスを、一括して表す。例えば、バス5005は、処理ユニット5010を、読み出し専用メモリ5030、GPU5015、システムメモリ5020、及び永久記憶装置5035と通信可能に結合する。
A
これらの様々なメモリユニットから、処理ユニット5010は、本発明のプロセスを実行するために、実行するべき命令及び処理するべきデータを取得する。この処理ユニットは、異なる実施形態では、シングルプロセッサ又はマルチコアプロセッサとすることができる。一部の命令は、GPU5015に渡され、GPU5015によって実行される。GPU5015は、処理ユニット5010によって提供される、様々な計算をオフロードするか、又は画像処理を補完することができる。一部の実施形態では、そのような機能性は、CoreImageのカーネルシェーディング言語を使用して提供することができる。
From these various memory units,
読み出し専用メモリ(ROM)5030は、処理ユニット5010、及び電子システムの他のモジュールによって必要とされる、静的データ並びに命令を記憶する。一方で、永久記憶装置5035は、読み出し及び書き込みメモリ装置である。この装置は、電子システム5000がオフの場合であっても、命令及びデータを記憶する、不揮発性メモリユニットである。本発明の一部の実施形態は、永久記憶装置5035として、大容量記憶装置(磁気若しくは光ディスク、及びその対応するディスクドライブなど)を使用する。
Read only memory (ROM) 5030 stores static data and instructions required by processing
他の実施形態は、永久記憶装置として、リムーバブル記憶装置(フロッピーディスク、フラッシュメモリ装置など、及びその対応するドライブ)を使用する。永久記憶装置5035と同様に、システムメモリ5020は、読み出し及び書き込みメモリ装置である。しかしながら、記憶装置5035とは異なり、システムメモリ5020は、ランダムアクセスメモリなどの、揮発性の読み出し及び書き込みメモリである。システムメモリ5020は、実行時にプロセッサが必要とする、命令及びデータのうちの一部を記憶する。一部の実施形態では、本発明のプロセスは、システムメモリ5020、永久記憶装置5035、及び/又は読み出し専用メモリ5030内に記憶される。例えば、一部の実施形態によれば、様々なメモリユニットは、マルチメディアクリップを処理するための命令を含む。これらの様々なメモリユニットから、処理ユニット5010は、一部の実施形態のプロセスを実行するために、実行するべき命令及び処理するべきデータを取得する。
Other embodiments use removable storage devices (floppy disks, flash memory devices, etc., and their corresponding drives) as permanent storage devices. Similar to
バス5005はまた、入力装置5040及び出力装置5045にも接続する。入力装置5040により、ユーザは、この電子システムに対して、情報を通信し、かつコマンドを選択することが可能となる。入力装置5040としては、英数字キーボード及びポインティング装置(「カーソル制御装置」とも称される)、カメラ(例えば、ウェブカメラ)、音声コマンドを受け取るためのマイクロホン又は同様の装置などが挙げられる。出力装置5045は、この電子システムによって生成された画像を表示するか、又は他の方式でデータを出力する。出力装置5045としては、プリンタ、及び陰極線管(CRT)若しくは液晶ディスプレイ(LCD)などのディスプレイ装置、並びにスピーカ又は同様のオーディオ出力装置が挙げられる。一部の実施形態は、入力装置及び出力装置の双方として機能する、タッチスクリーンなどの装置を含む。
最後に、図50に示すように、バス5005はまた、ネットワークアダプタ(図示せず)を通じて、電子システム5000をネットワーク5025にも結合する。この方式で、コンピュータは、コンピュータのネットワーク(ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、又はイントラネットなど)の一部、又は複数のネットワークのネットワーク(例えばインターネット)の一部とすることができる。電子システム5000のいずれか又は全ての構成要素を、本発明と共に使用することができる。
Finally, as shown in FIG. 50,
一部の実施形態は、マイクロプロセッサ、機械可読若しくはコンピュータ可読媒体(あるいは、コンピュータ可読記憶媒体、機械可読媒体、又は機械可読記憶媒体とも称される)内にコンピュータプログラム命令を記憶する記憶装置及びメモリなどの、電子構成要素を含む。そのようなコンピュータ可読媒体の一部の例としては、RAM、ROM、読み出し専用コンパクトディスク(CD−ROM)、記録可能コンパクトディスク(CD−R)、書換え可能コンパクトディスク(CD−RW)、読み出し専用デジタル多目的ディスク(例えば、DVD−ROM、2層DVD−ROM)、様々な記録可能/書換え可能DVD(例えば、DVD−RAM、DVD−RW、DVD+RWなど)、フラッシュメモリ(例えば、SDカード、ミニSDカード、マイクロSDカードなど)、磁気及び/又はソリッドステートハードドライブ、読み出し専用記録可能Blu−Ray(登録商標)ディスク、超高密度光ディスク、任意の他の光学若しくは磁気媒体、及びフロッピーディスクが挙げられる。コンピュータ可読媒体は、少なくとも1つの処理ユニットによって実行可能であり、かつ様々な操作を実行するための命令のセットを含む、コンピュータプログラムを記憶することができる。コンピュータプログラム又はコンピュータコードの例としては、コンパイラによって作成されるような機械コード、及び、インタープリタを使用して、コンピュータ、電子構成要素、若しくはマイクロプロセッサによって実行される高レベルコードを含むファイルが挙げられる。 Some embodiments include a storage device and memory for storing computer program instructions in a microprocessor, machine readable or computer readable medium (also referred to as computer readable storage medium, machine readable medium, or machine readable storage medium). Including electronic components. Some examples of such computer readable media include RAM, ROM, read-only compact disc (CD-ROM), recordable compact disc (CD-R), rewritable compact disc (CD-RW), read-only. Digital multipurpose disc (eg, DVD-ROM, dual layer DVD-ROM), various recordable / rewritable DVDs (eg, DVD-RAM, DVD-RW, DVD + RW, etc.), flash memory (eg, SD card, mini SD) Cards, micro SD cards, etc.), magnetic and / or solid state hard drives, read-only recordable Blu-Ray® disks, ultra high density optical disks, any other optical or magnetic media, and floppy disks. . The computer readable medium can store a computer program that is executable by at least one processing unit and includes a set of instructions for performing various operations. Examples of computer programs or computer code include machine code as created by a compiler and files containing high-level code that are executed by a computer, electronic component, or microprocessor using an interpreter. .
上記の考察は、主に、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに言及しているが、一部の実施形態は、特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)などの、1つ以上の集積回路によって実行される。一部の実施形態では、そのような集積回路は、その回路自体に記憶されている命令を実行する。更には、一部の実施形態は、プログラマブルロジックデバイス(PLD)、ROM、又はRAMデバイス内に記憶されたソフトウェアを実行する。 Although the above discussion primarily refers to microprocessors or multi-core processors executing software, some embodiments may include application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs), Performed by one or more integrated circuits. In some embodiments, such an integrated circuit executes instructions stored in the circuit itself. Further, some embodiments execute software stored in a programmable logic device (PLD), ROM, or RAM device.
本出願の本明細書及びいずれかの特許請求の範囲で使用されるとき、用語「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」は全て、電子装置又は他の技術装置を指す。これらの用語は、人々又は人々のグループを除外する。本明細書の目的上、用語「表示」又は「表示すること」は、電子装置上に表示することを意味する。本出願の本明細書及びいずれかの特許請求の範囲で使用されるとき、用語「コンピュータ可読媒体」及び「機械可読媒体」は、コンピュータによって読み出し可能な形式で情報を記憶する、有形の物理的実体に完全に限定される。これらの用語は、あらゆる無線信号、有線でダウンロードされる信号、及びあらゆる他の一過性の信号を除外する。 As used herein and in any claim, the terms “computer”, “server”, “processor”, and “memory” all refer to an electronic device or other technical device. These terms exclude people or groups of people. For the purposes of this specification, the term “display” or “displaying” means displaying on an electronic device. As used herein and in any claim, the terms “computer-readable medium” and “machine-readable medium” refer to tangible physical storage that stores information in a form readable by a computer. Fully limited to the entity. These terms exclude all wireless signals, signals downloaded over the wire, and any other transient signals.
本発明は、数多くの特定の詳細を参照して説明されているが、当業者には、本発明の趣旨から逸脱することなく、他の特定の形式で本発明を具体化することができる点が認識されるであろう。例えば、図の多くは、様々なタッチジェスチャ(例えば、タップ、ダブルタップ、スワイプジェスチャ、プレスアンドホールドジェスチャなど)を示す。しかしながら、図示される操作のうちの多くは、異なるタッチジェスチャ(例えば、タップの代わりのスワイプなど)を介して、又は非タッチ入力によって(例えば、カーソルコントローラ、キーボード、タッチパッド/トラックパッド、ニアタッチ感応スクリーンなどを使用して)実行することが可能である。更に、(図16、17、19、26、28、36、44、及び図45を含めた)幾つかの図は、プロセスを概念的に示す。これらのプロセスの具体的な操作は、図示及び説明された厳密な順序では、実行されない場合がある。特定の操作は、1つの連続系列の操作で実行されない場合があり、様々な特定の操作を、様々な実施形態で実行することができる。更には、このプロセスは、幾つかのサブプロセスを使用して、又はより大きいマクロプロセスの一部として、実施することが可能である。したがって、本発明は、前述の例示的な詳細によって限定されるものではなく、むしろ、添付の特許請求の範囲によって定義されるものであることが、当業者には理解されるであろう。 Although the invention has been described with reference to numerous specific details, those skilled in the art can embody the invention in other specific forms without departing from the spirit of the invention. Will be recognized. For example, many of the figures show various touch gestures (eg, tap, double tap, swipe gesture, press and hold gesture, etc.). However, many of the illustrated operations are performed via different touch gestures (eg, swipe instead of taps) or by non-touch input (eg, cursor controller, keyboard, touch pad / trackpad, near touch sensitive). (Using a screen etc.). In addition, some figures (including FIGS. 16, 17, 19, 26, 28, 36, 44, and 45) conceptually illustrate the process. The specific operations of these processes may not be performed in the exact order shown and described. Certain operations may not be performed in one continuous sequence of operations, and various specific operations may be performed in various embodiments. Furthermore, this process can be implemented using several sub-processes or as part of a larger macro process. Accordingly, it will be appreciated by one skilled in the art that the present invention is not limited by the foregoing illustrative details, but rather is defined by the appended claims.
更には、種々の画像編集操作を実行するために使用される、単一の調整値を設定するためのコントロールは、図3、4、6、7、9、14、15、20、21、22、23、24、31、32、33、34、及び図35では、スライダコントロールとして示される。そのような実施形態のスライダは、そのスライダに関する値を設定するためにスライダに沿ってつまみがスライドされるときに、設定値の視覚的な表示を提供する。しかしながら、一部の実施形態では、それらの図のいずれかで示されるスライダコントロールは、垂直式スライダコントロール、プルダウンメニュー、値エントリボックス、キーボードのキーによってアクティブ化されるインクリメンタルツール、他の範囲関連UIコントロール(例えば、ダイヤル、ボタン、数値フィールドなど)のような、値(例えば、単一の値)を受け取ることが可能な、任意の他のコントロールと置き換えることが可能である。同様に、それらの図のスライダコントロールは、タッチ感応スクリーン上での指ジェスチャ(例えば、1つ以上の指を置くこと、指さすこと、タップすること)で設定されるように表現されるか、又は、それらのスライダコントロールがどのように所定位置に移動されたかが表示されることなく、単純に特定の位置で表示される。図3、4、6、7、9、14、15、20、21、22、23、24、31、32、33、34、及び図35のコントロールはまた、一部の実施形態では、カーソル制御装置(例えば、マウス又はトラックボール)、スタイラス、キーボード、ニアタッチ感応スクリーン付近での指ジェスチャ(例えば、1つ以上の指を置くこと、指さすこと、タップすること)、又は任意の他の制御システムによっても、アクティブ化及び/又は設定することができる点が、当業者には理解されるであろう。したがって、本発明は、前述の例示的な詳細によって限定されるものではなく、むしろ、添付の特許請求の範囲によって定義されるものであることが、当業者には理解されるであろう。 Furthermore, the controls for setting a single adjustment value used to perform various image editing operations are shown in FIGS. 3, 4, 6, 7, 9, 14, 15, 20, 21, 22. , 23, 24, 31, 32, 33, 34 and FIG. 35 are shown as slider controls. The slider in such an embodiment provides a visual display of the set value when the knob is slid along the slider to set a value for that slider. However, in some embodiments, the slider controls shown in any of these figures may include vertical slider controls, pull-down menus, value entry boxes, incremental tools activated by keyboard keys, and other range-related UIs. Any other control that can receive a value (eg, a single value), such as a control (eg, a dial, button, numeric field, etc.) can be substituted. Similarly, the slider controls in those figures may be expressed as set by a finger gesture (eg, placing one or more fingers, pointing, tapping) on the touch-sensitive screen, or The slider control is simply displayed at a specific position without displaying how the slider control is moved to a predetermined position. The controls of FIGS. 3, 4, 6, 7, 9, 14, 15, 20, 21, 22, 23, 24, 31, 32, 33, 34, and FIG. 35 are also cursor control in some embodiments. By a device (eg, mouse or trackball), stylus, keyboard, finger gesture near the touch sensitive screen (eg, placing, pointing, tapping one or more fingers), or any other control system However, those skilled in the art will appreciate that they can also be activated and / or set. Accordingly, it will be appreciated by one skilled in the art that the present invention is not limited by the foregoing illustrative details, but rather is defined by the appended claims.
Claims (19)
前記プログラムが、
複数のユーザインターフェース項目を表示することと、
ここでユーザインターフェース項目それぞれは、複数の予め定義されたコンテンツタイプ内において、異なるコンテンツタイプと関連付けられている;
画像の色値を調整するため、前記複数のユーザインターフェース項目における特定のユーザインターフェース項目に対する調整を受けとることと、
ここで、前記特定のユーザインターフェース項目は、前記複数の予め定義されたコンテンツタイプ内の、或る予め定義されたコンテンツタイプに関連付けられている;
前記特定のユーザインターフェース項目に対して受け付けた調整に基づき当該特定のユーザインターフェース項目に関連付けられた、予め定義されたコンテンツタイプに関連付けられた色値の範囲内にある画素値を持つ画素のサブセットを特定することと、
前記特定のユーザインターフェース項目に対して受け付けた調整に基づき、前記特定された画素のサブセットに対して、色調整操作を実行することと、
に関する命令のセットを含むことを特徴とするプログラム。 Has a set of instructions to be executed by at least one processing unit, a program for adjusting the color values of an image represented by the color space, wherein said image includes a plurality of pixels, each pixel Has a set of color values,
The program is
Displaying multiple user interface items;
Where each user interface item is associated with a different content type within a plurality of predefined content types;
Receiving adjustments for specific user interface items in the plurality of user interface items to adjust color values of the image ;
Wherein the specific user interface item is associated with a predefined content type within the plurality of predefined content types;
A subset of pixels having pixel values within a range of color values associated with a predefined content type associated with the particular user interface item based on the adjustments received for the particular user interface item. To identify,
Performing a color adjustment operation on the identified subset of pixels based on the adjustments received for the specific user interface item ;
A program characterized by including a set of instructions for.
複数のユーザインターフェースコントロールと、
ここでユーザインターフェースコントロールそれぞれは、複数の予め定義されたコンテンツタイプ内において、異なるコンテンツタイプと関連付けられており、
ユーザインターフェースコントロールそれぞれは、対応する予め定義されたコンテンツタイプに関連付けられた、前記画像の色値の調整するための入力を受け付けるためのもである;
前記入力を受け付けるユーザインターフェースコントロールに対して受け付けた調整に基づき、当該入力を受け付けたユーザインターフェースコントロールに関連付けられた予め定義されたコンテンツタイプに関連付けられた、予め定義された色値の範囲内の画素値を有する画素のサブセットを特定するための画素分離器と、
前記入力を受け付けたユーザインターフェースコントロールに対して受け付けた調整に基づいて、前記特定された画素のサブセットの前記色値を調整するための色調整器と、
を含む、ことを特徴とする装置。 An apparatus for adjusting color values of an image represented in a color space, wherein the image includes a set of pixels, each pixel includes a set of color values, and the apparatus includes:
Multiple user interface controls ,
Here, each of the user interface controls is associated with a different content type within a plurality of predefined content types,
Each user interface controls, associated with the corresponding predefined content type, by also to for receiving an input for adjusting the color values of the image;
Pixels within a predefined color value range associated with a predefined content type associated with the user interface control that received the input based on the adjustments received for the user interface control that receives the input A pixel separator for identifying a subset of pixels having values ;
A color adjuster for adjusting the color value of the identified subset of pixels based on an adjustment received for the user interface control that received the input ;
A device characterized by comprising.
前記プログラムが、
タッチ入力を介して前記画像上の場所の選択を受け取ることと、
前記選択された場所に基づき、前記画像上の前記選択された場所に関連付けられている特定のコンテンツタイプを判定することと、
複数の異なるコンテンツタイプ用の複数の異なる方向画像編集コントロールのセットから、特定のコンテンツタイプ用の複数の異なる画像編集コントロールのセットを選択し、前記画像上に表示することと、
ここで、画像編集コントロールのセットのそれぞれは、前記画像編集コントロールのセット内のコントロールに沿った少なくとも2つの異なる方向に関連付けられた少なくとも2つの異なる画像編集操作を特定する;
前記タッチ入力が維持され、前記画像編集コントロールの特定のセットの方向における、1つの特定の方向に沿って当該タッチ入力が移動している間、前記特定の方向に関連付けられた画像編集操作を、前記画像に対して実行することと、
の命令のセットを含む、ことを特徴とするプログラム。 A program for adjusting a color value of an image represented in a color space, having an instruction set executed by at least one processing unit , wherein the image has a plurality of pixels, and each pixel Has a set of color values,
The program is,
Receiving a selection of locations on the image via touch input ;
And determining the specific content types associated with the selection on the basis of-option location, the selected location on the image,
Selecting a plurality of different sets of image editing controls for a particular content type from a plurality of sets of different directional image editing controls for a plurality of different content types , and displaying them on the image;
Here, each set of image editing controls identifies at least two different image editing operations associated with at least two different directions along the controls in said set of image editing controls;
While the touch input is maintained and the touch input is moving along one specific direction in a specific set of directions of the image editing control, an image editing operation associated with the specific direction is performed. Performing on the image;
A program comprising a set of instructions.
前記プログラムが、
タッチ入力を介した、表示された画像上の場所の選択に応じて、前記画像上の選択された場所に関連付けられた特定のコンテンツタイプを判定することと、
前記画像上に、方向画像編集コントロールの第1、第2のセットを表示することと、
ここで、画像編集コントロールのセットのそれぞれは、前記画像編集コントロールのセット内のコントロールに沿った少なくとも2つの異なる方向に関連付けられた少なくとも2つの異なる画像編集操作を特定する;
前記画像編集コントロールの前記第1のセットは、前記特定のコンテンツタイプに適用される画像編集操作用であり、
前記画像編集コントロールの前記第2のセットは、前記画像の全体に適用される画像編集操作用である;
前記タッチ入力が維持され、前記方向画像編集コントロールの前記第1、第2のセットにおける特定のコントロールに沿って当該タッチ入力が移動している間、前記特定の方向に関連付けられた画像編集操作を実行することと、
の命令のセットを含む、ことを特徴とするプログラム。 Has a set of instructions to be executed by at least one processing unit, a program for adjusting the color values of an image represented by the color space, wherein said image includes a plurality of pixels, each pixel Has a set of color values,
The program is,
Determining a specific content type associated with the selected location on the image in response to the selection of the location on the displayed image via touch input;
Displaying a first and second set of directional image editing controls on the image;
Here, each set of image editing controls identifies at least two different image editing operations associated with at least two different directions along the controls in said set of image editing controls;
The first set of image editing controls is for image editing operations applied to the specific content type;
The second set of image editing controls is for image editing operations applied to the entire image;
While the touch input is maintained and the touch input is moving along specific controls in the first and second sets of directional image editing controls, an image editing operation associated with the specific direction is performed. Running,
A program comprising a set of instructions.
前記プログラムが、
複数の画素を含む前記画像上の場所の選択を受け取ることと、ここで各画素は色値のセットを含む、
前記画像の前記選択された場所に対応する画素のセットの色値のセットに基づいて、前記色値のセットを前記色バランス操作の特定のタイプに関連付けられた色値の所定セットへ修正するための色調整を特定することと、
前記特定された色調整に基づき、前記色空間を修正する色空間変換を生成することと、
前記画像の画素のサブセットに前記色空間変換を適用することで、前記画像に対し、前記色バランス操作の特定のタイプを実行することと、
の命令のセットを含む、ことを特徴とするプログラム。 Has a set of instructions to be executed by at least one processing unit, a program for executing a color balance operation on the color values of an image represented in the color space,
The program is,
Receiving a selection of locations on the image including a plurality of pixels, wherein each pixel includes a set of color values ;
Based on the set of color values of the set of pixels corresponding to the selected location of the image, to modify the set of color values to a predetermined set of color values associated with a particular type of color balance operation Identifying color adjustments for
Generating a color space transformation to modify the color space based on the identified color adjustment ;
Performing a particular type of the color balance operation on the image by applying the color space transformation to a subset of pixels of the image;
A program comprising a set of instructions.
前記プログラムは、
前記ユーザインターフェース項目を、第1の場所から前記画像上の異なる第2の場所へ移動させることと、
前記画像の前記第2の場所に対応する、画素のセットの色値のセットに基づいて、第2の色調整を特定することと、
前記第2の色調整に基づいて、前記色空間を修正する第2の色空間変換を生成することと、
前記第2の色空間変換を前記画像の画素のサブセットに適用することで、前記画像に対して別の色バランス操作を実行することと、
の命令のセットを更に含む、ことを特徴とする請求項17に記載のプログラム。 The color adjustment is a first color adjustment, and the color space conversion is a first color space conversion;
The program is
Moving the user interface item from a first location to a different second location on the image;
And correspond to the second location of the image, based on a set of color values of a set of picture element, to identify the second color adjustment,
Generating a second color space transformation to modify the color space based on the second color adjustment;
By applying the second color space conversion to a subset of pixels of the image, and performing a different color balance operation on the image,
The program according to claim 17 , further comprising a set of instructions.
Applications Claiming Priority (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261607569P | 2012-03-06 | 2012-03-06 | |
US201261607525P | 2012-03-06 | 2012-03-06 | |
US201261607550P | 2012-03-06 | 2012-03-06 | |
US201261607554P | 2012-03-06 | 2012-03-06 | |
US201261607574P | 2012-03-06 | 2012-03-06 | |
US61/607,569 | 2012-03-06 | ||
US61/607,525 | 2012-03-06 | ||
US61/607,574 | 2012-03-06 | ||
US61/607,550 | 2012-03-06 | ||
US61/607,554 | 2012-03-06 | ||
US201261741768P | 2012-05-15 | 2012-05-15 | |
US61/741,768 | 2012-05-15 | ||
US13/629,417 US9105121B2 (en) | 2012-03-06 | 2012-09-27 | Image editing with user interface controls overlaid on image |
US13/629,417 | 2012-09-27 | ||
US13/629,428 | 2012-09-27 | ||
US13/629,399 US9159144B2 (en) | 2012-03-06 | 2012-09-27 | Color adjustors for color segments |
US13/629,399 | 2012-09-27 | ||
US13/629,428 US9299168B2 (en) | 2012-03-06 | 2012-09-27 | Context aware user interface for image editing |
PCT/US2013/020703 WO2013133905A1 (en) | 2012-03-06 | 2013-01-08 | Color adjustors for color segments |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015518295A JP2015518295A (en) | 2015-06-25 |
JP5990600B2 true JP5990600B2 (en) | 2016-09-14 |
Family
ID=49117182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014560912A Active JP5990600B2 (en) | 2012-03-06 | 2013-01-08 | Color adjuster for color classification |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5990600B2 (en) |
CN (1) | CN104221359B (en) |
GB (1) | GB2513499B (en) |
WO (1) | WO2013133905A1 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9299168B2 (en) | 2012-03-06 | 2016-03-29 | Apple Inc. | Context aware user interface for image editing |
US20130238747A1 (en) | 2012-03-06 | 2013-09-12 | Apple Inc. | Image beaming for a media editing application |
US9202433B2 (en) | 2012-03-06 | 2015-12-01 | Apple Inc. | Multi operation slider |
US9131192B2 (en) | 2012-03-06 | 2015-09-08 | Apple Inc. | Unified slider control for modifying multiple image properties |
US9041727B2 (en) | 2012-03-06 | 2015-05-26 | Apple Inc. | User interface tools for selectively applying effects to image |
EP2851900B1 (en) | 2013-09-18 | 2017-08-23 | Nxp B.V. | Media content real time analysis and semi-automated summarization for capturing a fleeting event. |
CN110174984B (en) * | 2013-12-27 | 2021-07-16 | 联想(北京)有限公司 | Information processing method and electronic equipment |
JP5907196B2 (en) * | 2014-02-28 | 2016-04-26 | 富士ゼロックス株式会社 | Image processing apparatus, image processing method, image processing system, and program |
JP2015166969A (en) * | 2014-03-04 | 2015-09-24 | 株式会社ニコン | Image processing apparatus and image processing program |
CN104394320B (en) * | 2014-11-26 | 2018-09-11 | 三星电子(中国)研发中心 | Handle the method, apparatus and electronic equipment of image |
JP6265145B2 (en) | 2015-01-26 | 2018-01-24 | ソニー株式会社 | Information processing apparatus, information processing method, program, and display apparatus |
EP3254283B1 (en) * | 2015-03-27 | 2021-05-12 | Google LLC | User sliders for simplified adjustment of images |
EP3264251B1 (en) | 2016-06-29 | 2019-09-04 | Dassault Systèmes | Generation of a color of an object displayed on a gui |
KR102630191B1 (en) * | 2016-08-18 | 2024-01-29 | 삼성전자 주식회사 | Electronic apparatus and method for controlling thereof |
CN107817939B (en) * | 2017-10-27 | 2023-02-07 | 维沃移动通信有限公司 | Image processing method and mobile terminal |
KR102075389B1 (en) * | 2018-09-13 | 2020-02-10 | 인천대학교 산학협력단 | Electronic device for painting characters in animation and operating method thereof |
CN110554823B (en) * | 2019-09-10 | 2021-04-20 | 腾讯科技(深圳)有限公司 | Image processing method, device, equipment and storage medium |
JP7558707B2 (en) * | 2020-08-03 | 2024-10-01 | キヤノン株式会社 | Information processing device, information processing method, and program |
CN112099680B (en) * | 2020-09-01 | 2022-02-11 | 维沃移动通信有限公司 | User interface adjusting method and device and electronic equipment |
US11438484B2 (en) * | 2021-01-27 | 2022-09-06 | Dell Products L.P. | Color temperature adjustment independent of scaler color space |
CN113590065B (en) * | 2021-07-28 | 2024-01-16 | 展讯通信(天津)有限公司 | Color adjustment method and device, storage medium and display device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US607554A (en) | 1898-07-19 | Pyroxylin composition of matter | ||
JP2000036042A (en) * | 1998-07-17 | 2000-02-02 | Sony Corp | Picture processor, picture processing method and supply medium |
US7215813B2 (en) * | 2001-12-03 | 2007-05-08 | Apple Computer, Inc. | Method and apparatus for color correction |
JP4203791B2 (en) * | 2002-12-19 | 2009-01-07 | ソニー株式会社 | Imaging apparatus, color adjustment apparatus, and color adjustment method |
US8243326B2 (en) * | 2006-09-11 | 2012-08-14 | Electronics For Imaging, Inc. | Methods and apparatus for color profile editing |
WO2008114436A1 (en) * | 2007-03-20 | 2008-09-25 | Pioneer Corporation | Image processing device, display system, image processing method, its program, and recording medium with the program recorded therein |
JP2008271096A (en) * | 2007-04-19 | 2008-11-06 | Mitsubishi Denki Micom Kiki Software Kk | Method and device for correcting gray balance of image data, and storage medium |
US8009177B2 (en) * | 2008-02-11 | 2011-08-30 | Apple Inc. | User interfaces for managing image colors |
JP2010211497A (en) * | 2009-03-10 | 2010-09-24 | Nikon Corp | Digital camera and image processing program |
JP5695335B2 (en) * | 2009-05-22 | 2015-04-01 | オリンパスイメージング株式会社 | Imaging condition control device, camera, image quality control device, and program |
US8468465B2 (en) * | 2010-08-09 | 2013-06-18 | Apple Inc. | Two-dimensional slider control |
-
2013
- 2013-01-08 CN CN201380019491.8A patent/CN104221359B/en active Active
- 2013-01-08 GB GB1413675.8A patent/GB2513499B/en active Active
- 2013-01-08 WO PCT/US2013/020703 patent/WO2013133905A1/en active Application Filing
- 2013-01-08 JP JP2014560912A patent/JP5990600B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015518295A (en) | 2015-06-25 |
CN104221359A (en) | 2014-12-17 |
GB201413675D0 (en) | 2014-09-17 |
CN104221359B (en) | 2018-01-12 |
GB2513499B (en) | 2019-07-24 |
GB2513499A (en) | 2014-10-29 |
WO2013133905A1 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5990600B2 (en) | Color adjuster for color classification | |
US9159144B2 (en) | Color adjustors for color segments | |
US11481097B2 (en) | User interface tools for cropping and straightening image | |
JP6077020B2 (en) | Integrated slider control for modifying multiple image properties | |
US9092893B2 (en) | Method and interface for converting images to grayscale | |
US8823726B2 (en) | Color balance | |
US8854370B2 (en) | Color waveform | |
US7593603B1 (en) | Multi-behavior image correction tool | |
US20150109323A1 (en) | Interactive black and white image editing | |
JP2009278623A (en) | Method and apparatus for performing touch-based adjustments within imaging device | |
US20140063047A1 (en) | Duotone effect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151030 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160210 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5990600 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |